-
Notifications
You must be signed in to change notification settings - Fork 914
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Java-constructable Concrete Ruby Classes #6422
Commits on Oct 2, 2020
-
Configuration menu - View commit details
-
Copy full SHA for ab2ccf6 - Browse repository at this point
Copy the full SHA ab2ccf6View commit details
Commits on Oct 22, 2020
-
WIP: Moving Concrete extension code into Reification code to add ctor…
… support more easily
Configuration menu - View commit details
-
Copy full SHA for fa00023 - Browse repository at this point
Copy the full SHA fa00023View commit details
Commits on Oct 24, 2020
-
More WIP constructor code. Multi-constructors should function, and no…
…w configurable from ruby-land
Configuration menu - View commit details
-
Copy full SHA for 5c04320 - Browse repository at this point
Copy the full SHA 5c04320View commit details -
Configuration menu - View commit details
-
Copy full SHA for 2998f72 - Browse repository at this point
Copy the full SHA 2998f72View commit details
Commits on Nov 1, 2020
-
Reasonable multi-signature support (codegen, helpers missing) and hor…
…rifying AST rewriting to de-super()
Configuration menu - View commit details
-
Copy full SHA for 4c61162 - Browse repository at this point
Copy the full SHA 4c61162View commit details
Commits on Nov 12, 2020
-
Configuration menu - View commit details
-
Copy full SHA for d1f30e0 - Browse repository at this point
Copy the full SHA d1f30e0View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9cd6bb3 - Browse repository at this point
Copy the full SHA 9cd6bb3View commit details -
Configuration menu - View commit details
-
Copy full SHA for 99239f0 - Browse repository at this point
Copy the full SHA 99239f0View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5f9b618 - Browse repository at this point
Copy the full SHA 5f9b618View commit details
Commits on Nov 15, 2020
-
Configuration menu - View commit details
-
Copy full SHA for 996197f - Browse repository at this point
Copy the full SHA 996197fView commit details -
Configuration menu - View commit details
-
Copy full SHA for c0995d5 - Browse repository at this point
Copy the full SHA c0995d5View commit details -
Configuration menu - View commit details
-
Copy full SHA for 89f90db - Browse repository at this point
Copy the full SHA 89f90dbView commit details
Commits on Nov 17, 2020
-
Add support for split allocate+initialize and arbitrary ruby argument…
… fallback. Also some misc cleanup
Configuration menu - View commit details
-
Copy full SHA for be1653a - Browse repository at this point
Copy the full SHA be1653aView commit details -
Configuration menu - View commit details
-
Copy full SHA for ef43757 - Browse repository at this point
Copy the full SHA ef43757View commit details
Commits on Nov 18, 2020
-
Configuration menu - View commit details
-
Copy full SHA for eb1ecdb - Browse repository at this point
Copy the full SHA eb1ecdbView commit details -
Configuration menu - View commit details
-
Copy full SHA for cfcc2fd - Browse repository at this point
Copy the full SHA cfcc2fdView commit details
Commits on Nov 25, 2020
-
Configuration menu - View commit details
-
Copy full SHA for 3b181d8 - Browse repository at this point
Copy the full SHA 3b181d8View commit details -
Configuration menu - View commit details
-
Copy full SHA for 913736c - Browse repository at this point
Copy the full SHA 913736cView commit details -
Configuration menu - View commit details
-
Copy full SHA for cf4adfe - Browse repository at this point
Copy the full SHA cf4adfeView commit details
Commits on Nov 27, 2020
-
Configuration menu - View commit details
-
Copy full SHA for e0d2ddb - Browse repository at this point
Copy the full SHA e0d2ddbView commit details -
Configuration menu - View commit details
-
Copy full SHA for 52dd70f - Browse repository at this point
Copy the full SHA 52dd70fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 7859cd5 - Browse repository at this point
Copy the full SHA 7859cd5View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7f2058c - Browse repository at this point
Copy the full SHA 7f2058cView commit details
Commits on Nov 30, 2020
-
Add WIP unconnected interpreter which will allow stopping and continuing
execution. The goal will be to split execution before and after a super instruction. The arguments to the super call will be retrieve'able which from Java can end up calling a java ctor. This also adds a new flag uses_super which just makes it simple for us to know the initialize method contains a super. The intent is initialize methods in Java proxy classes without super will just not use this special interpreter.
Configuration menu - View commit details
-
Copy full SHA for 08ae7dd - Browse repository at this point
Copy the full SHA 08ae7ddView commit details -
Filled out to the point I believe RubyClass can ask for the interpreter
context via IRMethod.builtInterperterContextForJavaConstructor(). If this is and ExitableInterpreterEngine then we can split execute the method. At that point we need to ask for ic.getEngineState() and then call ExitableInterpreterEngine.interpret(). That method will execute up to the super instr and return a RubyArray of the arguments to the super call. At this point we should convert those values for Java CTOR and execute it. Once finished we will then just call interpret() again. The interpreter will then continue executing at one instr past the original super instr. So the above description still needs to exist in RubyClass vs the AST stuff it is doing now. There is another small problem that this is a startup interpreter of sorts and this method will still try and promote to being a FULL/JIT method. We need to either disable that or possibly automatically convert this to be a full interpreter (but still disable JIT compilation).
Configuration menu - View commit details
-
Copy full SHA for 1322977 - Browse repository at this point
Copy the full SHA 1322977View commit details
Commits on Dec 1, 2020
-
Add depth logic to IR super splitting.
This looks for jump targets and labels. A label is where we will jump to. jumptargets are places which will move to a label. If we run into a jump target we need to just notice whether the jump will move forward past the super call or jump backwards to before the super call. All the other jumps should be fine. From a purely what could we support this is a bit restrictive. There are cases where we could support all paths of an if/else where both branches are guaranteed to call super. This should be allowed but this analysis requires flow analysis and the current version is too simple to support it. Future work can add this.
Configuration menu - View commit details
-
Copy full SHA for 3311fa0 - Browse repository at this point
Copy the full SHA 3311fa0View commit details
Commits on Dec 3, 2020
-
Revert "Update for import/style consistency"
This reverts commit 3b181d8.
Configuration menu - View commit details
-
Copy full SHA for 5fe86f0 - Browse repository at this point
Copy the full SHA 5fe86f0View commit details -
Configuration menu - View commit details
-
Copy full SHA for 945f66e - Browse repository at this point
Copy the full SHA 945f66eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 1519da7 - Browse repository at this point
Copy the full SHA 1519da7View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5e8c211 - Browse repository at this point
Copy the full SHA 5e8c211View commit details
Commits on Dec 4, 2020
-
Configuration menu - View commit details
-
Copy full SHA for 90fb7cf - Browse repository at this point
Copy the full SHA 90fb7cfView commit details
Commits on Dec 6, 2020
-
Configuration menu - View commit details
-
Copy full SHA for 8d6d424 - Browse repository at this point
Copy the full SHA 8d6d424View commit details -
Configuration menu - View commit details
-
Copy full SHA for d2fb097 - Browse repository at this point
Copy the full SHA d2fb097View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8fa6ba1 - Browse repository at this point
Copy the full SHA 8fa6ba1View commit details
Commits on Dec 9, 2020
-
Configuration menu - View commit details
-
Copy full SHA for 73b6e89 - Browse repository at this point
Copy the full SHA 73b6e89View commit details
Commits on Dec 12, 2020
-
Configuration menu - View commit details
-
Copy full SHA for 5bddf82 - Browse repository at this point
Copy the full SHA 5bddf82View commit details -
Configuration menu - View commit details
-
Copy full SHA for abb05c1 - Browse repository at this point
Copy the full SHA abb05c1View commit details -
Configuration menu - View commit details
-
Copy full SHA for 53d7eff - Browse repository at this point
Copy the full SHA 53d7effView commit details -
Configuration menu - View commit details
-
Copy full SHA for d27fab3 - Browse repository at this point
Copy the full SHA d27fab3View commit details -
Configuration menu - View commit details
-
Copy full SHA for 39adc70 - Browse repository at this point
Copy the full SHA 39adc70View commit details
Commits on Feb 15, 2021
-
Configuration menu - View commit details
-
Copy full SHA for ce66437 - Browse repository at this point
Copy the full SHA ce66437View commit details
Commits on Feb 17, 2021
-
Configuration menu - View commit details
-
Copy full SHA for 9ae5915 - Browse repository at this point
Copy the full SHA 9ae5915View commit details
Commits on Feb 21, 2021
-
Configuration menu - View commit details
-
Copy full SHA for e51ce30 - Browse repository at this point
Copy the full SHA e51ce30View commit details
Commits on Feb 23, 2021
-
Configuration menu - View commit details
-
Copy full SHA for 091c868 - Browse repository at this point
Copy the full SHA 091c868View commit details -
Configuration menu - View commit details
-
Copy full SHA for 18dfe11 - Browse repository at this point
Copy the full SHA 18dfe11View commit details
Commits on Mar 5, 2021
-
Mark failing tests, fix 1 test, add 1 test for negative super looping…
…, fix negative super looping
Configuration menu - View commit details
-
Copy full SHA for 5860ce9 - Browse repository at this point
Copy the full SHA 5860ce9View commit details
Commits on Mar 6, 2021
-
Configuration menu - View commit details
-
Copy full SHA for da2bc4e - Browse repository at this point
Copy the full SHA da2bc4eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 67f03ae - Browse repository at this point
Copy the full SHA 67f03aeView commit details -
Refactor RCG to pass index and converted args from splitInit
Fixes vararg dispatch
Configuration menu - View commit details
-
Copy full SHA for 300005f - Browse repository at this point
Copy the full SHA 300005fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 2eed247 - Browse repository at this point
Copy the full SHA 2eed247View commit details -
Configuration menu - View commit details
-
Copy full SHA for d68357e - Browse repository at this point
Copy the full SHA d68357eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 03b5554 - Browse repository at this point
Copy the full SHA 03b5554View commit details
Commits on May 13, 2021
-
Configuration menu - View commit details
-
Copy full SHA for b12e5a6 - Browse repository at this point
Copy the full SHA b12e5a6View commit details
Commits on May 14, 2021
-
Configuration menu - View commit details
-
Copy full SHA for a5b1b8d - Browse repository at this point
Copy the full SHA a5b1b8dView commit details
Commits on May 17, 2021
-
Configuration menu - View commit details
-
Copy full SHA for dc3f34f - Browse repository at this point
Copy the full SHA dc3f34fView commit details