History log of /libcore/dalvik/src/main/java/dalvik/system/EmulatedStackFrame.java
Revision Date Author Comments
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