d6cb653555a60e070b5fbbdfb48de05b5dc748bc |
|
09-Nov-2016 |
Narayan Kamath <narayan@google.com> |
MethodHandles: Implement additional combiners. This change contains : - MethodHandles.filterArguments - MethodHandles.collectArguments - MethodHandles.insertArguments - MethodHandles.foldArguments Test: make test-art-host Change-Id: I3e38d8bb2122ddd2d91e0f3fa26a0659665fc1ab
|
378d458718d98d264b58734c87568ee5de9a6781 |
|
17-Jan-2017 |
Narayan Kamath <narayan@google.com> |
MethodHandles: Implement spreader methods. Implements MethodHandle.asSpreader and MethodHandles.spreadInvoker. This is the reverse of var-args collection, and the Transformer implementation is symmetric with VarargsCollector (modulo inconsitencies in the API). Test: make test-art-host Change-Id: If4deaa52f14143115b573bb0616e2eb72e83f859
|
0a72753297b45d08ca33cf7e87888f5fee87f69e |
|
16-Jan-2017 |
Narayan Kamath <narayan@google.com> |
MethodHandles: Implement invoker / exactInvoker. This change needs additional support in ART for setting the callsite type in EmulatedStackFrame. This is required for implementing exact invoke semantics in transformers. Test: art/test/run-test --host 957 Change-Id: I3a848f10890efef16d183061243cce6649bbcc4d
|
704b13a41cc7efd49acf66064109756a248fe0dc |
|
25-Nov-2016 |
Orion Hodson <oth@google.com> |
Revert "Revert "Method Handles: Add VarargsCollector."" Fixes component type of reference arrays which caused test failures in the interpreter when assignability checks were enabled. This reverts commit df3b54d0cd43fbde26a0a8d984b7a0b2e2a92f2e. Bug: 30550796 Test: ART_TEST_INTERPRETER_ACCESS_CHECKS=true m test-art-host-run-test-956-methodhandles Change-Id: I78a819cde9e07a385825772869852ea737de657d
|
df3b54d0cd43fbde26a0a8d984b7a0b2e2a92f2e |
|
25-Nov-2016 |
Orion Hodson <oth@google.com> |
Revert "Method Handles: Add VarargsCollector." This reverts commit 14e84c863b3ca946293c99afc9dc112e52fca4ca. Change-Id: I57858cc6df5aafe31baf0ad05c70ac1d440329a1
|
14e84c863b3ca946293c99afc9dc112e52fca4ca |
|
14-Nov-2016 |
Orion Hodson <oth@google.com> |
Method Handles: Add VarargsCollector. Enable support for methods with variable arity arguments. Test: m test-art-host-run-test-956-methodhandles Bug: 30550796 Change-Id: I22158c2180f308fff016cd3aebc4a1beac2a875a
|
2e8155624bcf610385ca048a0c219946e3a99d96 |
|
10-Nov-2016 |
Orion Hodson <oth@google.com> |
MethodHandles: Minor text nits. Addresses some comments in review received after commit. Test: m test-art-host-run-test-956-methodhandles Bug: 30550796 Change-Id: I50c783f284f140155c0161c2e2da3e207c4f9943
|
51ab4bf8f05d550d5676cfdd1b00b627f25432cc |
|
07-Nov-2016 |
Narayan Kamath <narayan@google.com> |
MethodHandles: Implement MethodHandles.filterReturnValue. Bug: 30550796 Test: make test-art-host Change-Id: I446a90123f8ba672e4a5ab83b2ff74c657fa1a4e
|
0ab46853af9f5c16c877e1677d8d27b8fdecc2cd |
|
04-Nov-2016 |
Narayan Kamath <narayan@google.com> |
MethodHandles: Implement MethodHandle.bindTo. Bug: 30550796 Test: make test-art-host Change-Id: Id71d57e8786ebe2453da6a7c7df44bbd19a3a939
|
a80d6f85a6e5154300be8552f027916767704b75 |
|
06-Nov-2016 |
Orion Hodson <oth@google.com> |
MethodHandles: Constructor support Test: m test-art-host-run-test-956-methodhandles Bug: 30550796 Change-Id: I62b41fb818a76e5794856a3c7aee353800392aaa
|
168dfc7fcb7594933af3bd4a66651f1eb2f09f7f |
|
03-Nov-2016 |
Narayan Kamath <narayan@google.com> |
MethodHandles: Implement array accessors / identities & constants. These transforms need typed access to the arguments of the handle, which has been implemented in EmulatedStackFrame (along with tests). These implementations favour simplicity. If required, we can gain more performance by writing them as critical JNI functions or via additional ugliness. Tests added in 7ba2827e6d34023c78206972a1c3c7915be6f828. Bug: 30550796 Test: make test-art-host Change-Id: I8c13ca19b907e84bd31e82925191b4fcb1099904
|
5eeb4739159cda8b5756d9a38dc7b6c36b0cc03a |
|
18-Oct-2016 |
Narayan Kamath <narayan@google.com> |
MethodHandles: Implement the first set of transforms. Implements support for : - MethodHandles.dropArguments. - MethodHandles.catchException. - MethodHandles.guardWithTest. Even though this doesn't involve runtime changes, note that tests are in art/ because the runtime still needs a flag to enable method handles. This change also fixes a bug in MethodHandles.throwException; the method must throw the argument instance passed to it. Test: make test-art-host Bug: 30550796 Change-Id: I0307ce098185119c0a7a6838aa53df463184e755
|
09be956aba8122d585044adbe20cdb15b560f7fd |
|
18-Oct-2016 |
Narayan Kamath <narayan@google.com> |
MethodHandles: Flesh out EmulatedStackFrame. Add arrays to hold references and primitive arguments to match the layout and changes in the corresponding runtime change. Test: make test-art-host Change-Id: If70935982d1a7ee7093367a2f3a18dc1a0f57491
|
faf8883397aed1411590edd1bf5b6681430a10f5 |
|
18-Oct-2016 |
Narayan Kamath <narayan@google.com> |
MethodHandles: Add support for method handle transforms [part 1] Defines a new invoke type (INVOKE_TRANSFORM) and support for invoking the transformer method. Full details provided in the companion ART change (commit 3f1e50841b70507a2619c031fa0b0b4791ffa386). bug: 30550796 Test: make test-art-host Change-Id: I643e8a818ec2e66f604477be9384aaf7a2671f9d
|