This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| package my.example; | |
| import java.util.Arrays; | |
| import java.util.List; | |
| import org.jruby.embed.AttributeName; | |
| import org.jruby.embed.PathType; | |
| import org.jruby.embed.ScriptingContainer; | |
| public class Main { | |
| public static void main(String[] args) { |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| diff --git a/src/org/jruby/RubyDir.java b/src/org/jruby/RubyDir.java | |
| index a8d9508..19d5089 100644 | |
| --- a/src/org/jruby/RubyDir.java | |
| +++ b/src/org/jruby/RubyDir.java | |
| @@ -392,11 +392,10 @@ public class RubyDir extends RubyObject { | |
| @JRubyMethod(name = "mkdir", required = 1, optional = 1, meta = true, compat = CompatVersion.RUBY1_8) | |
| public static IRubyObject mkdir(IRubyObject recv, IRubyObject[] args) { | |
| Ruby runtime = recv.getRuntime(); | |
| - runtime.checkSafeString(args[0]); | |
| + RubyString stringArg = args[0].convertToString(); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| run-junit-interpreted: | |
| [echo] compile=OFF, jit.threshold=20, jit.maxsize=1000000000, jit.max=-1, objectspace=true threadpool=false reflection=false version=ruby1_8 | |
| [junit] Testsuite: org.jruby.test.ScriptTestSuite | |
| [junit] Tests run: 79, Failures: 0, Errors: 0, Time elapsed: 18.043 sec | |
| [junit] | |
| [junit] Testsuite: org.jruby.test.BFTSTestSuite | |
| [junit] Tests run: 11, Failures: 0, Errors: 0, Time elapsed: 1.505 sec | |
| [junit] | |
| [junit] Testsuite: org.jruby.test.JRubyTestSuite | |
| [junit] no such file to load -- bundler/commands/bundle_command |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| def foo(a) | |
| end |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| def foo(a) | |
| end |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| class Foo | |
| attr_reader :a | |
| def foo(a) | |
| @a = $a = a | |
| end | |
| end |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| public IRubyObject call(ThreadContext context, IRubyObject self, RubyModule clazz, String name, IRubyObject[] args, Block block) { | |
| InterpreterContext interp = new IRInterpreterContext(context, self, args); | |
| BasicBlock basicBlock = cfg.getEntryBB(); | |
| BasicBlock jumpBlock = basicBlock; | |
| while (basicBlock != null) { | |
| // System.out.println("BB:" + basicBlock); | |
| for (Instr instruction : basicBlock.getInstrs()) { | |
| try { |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| @Interp | |
| public Iterator<LocalVariable> getLiveLocalVariables() { | |
| Map<LocalVariable, Integer> ends = new HashMap<LocalVariable, Integer>(); | |
| Map<LocalVariable, Integer> starts = new HashMap<LocalVariable, Integer>(); | |
| Set<LocalVariable> variables = new TreeSet<LocalVariable>(); | |
| for (int i = instructions.size() - 1; i >= 0; i--) { | |
| Instr instr = instructions.get(i); | |
| Variable variable = instr.result; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Pre-massive refactoring: | |
| ./bin/sample small_enum_bench | |
| drives.each 250 of 120 calls: 6.265000 0.000000 6.265000 ( 6.172000) | |
| drives.each 250 of 120 calls: 4.312000 0.000000 4.312000 ( 4.312000) | |
| drives.each 250 of 120 calls: 5.625000 0.000000 5.625000 ( 5.625000) | |
| drives.each 250 of 120 calls: 4.469000 0.000000 4.469000 ( 4.469000) | |
| drives.each 250 of 120 calls: 4.469000 0.000000 4.469000 ( 4.469000) | |
| drives.each 250 of 120 calls: 4.531000 0.000000 4.531000 ( 4.531000) | |
| drives.each 250 of 120 calls: 5.078000 0.000000 5.078000 ( 5.078000) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| class GCEvent < Struct.new(:name, :before, :after, :total, :time) | |
| end | |
| def tally(name) | |
| $gc_events.inject(0) do |memo, event| | |
| memo += event.time if event.name == name | |
| memo | |
| end | |
| end |