summaryrefslogtreecommitdiff
path: root/runtime/lambda/art_lambda_method.h
AgeCommit message (Collapse)Author
2016-08-09Revert experimental lambda feature. Narayan Kamath
This is a revert of the following changes : 30c475a2046951a81769c2db0b2dad66cd71e189. lambda: Minor capture-variable/liberate-variable clean-up after post-merge reviews. 6918bf13eb855b3aa8ccdddda2d27ae8c60cec56. lambda: Experimental support for capture-variable and liberate-variable fc1ccd740b7c8e96dfac675cfc580122cd1b40a6. lambda: Infrastructure to support capture/liberate-variable dex opcodes e2facc5b18cd756a8b5500fb3d90da69c9ee0fb7. runtime: Add lambda box/unbox object equality 2ee54e249ad21c74f29a161e248bebe7d22fddf1. runtime: Partially implement box-lambda and unbox-lambda experimental opcodes 158f35c98e2ec0d40d2c032b8cdce5fb60944a7f. interpreter: Add experimental lambda opcodes for invoke/create-lambda a3bb72036f5454e410467f7151dc89f725ae1151. Added format 25x to dexdump(2). Plus surrounding cleanups. Test: make test-art Change-Id: Ic6f999ad17385ef933f763641049cf721510b202
2015-11-24Revert "lambda: Add support for invoke-interface for boxed innate lambdas" Nicolas Geoffray
955-lambda is flaky Bug: 24618608 Bug: 25107649 This reverts commit 457e874459ae638145cab6d572e34d48480e39d2. Change-Id: I24884344d21d7a4262e53e3f5dba57032687ddb7
2015-11-20lambda: Add support for invoke-interface for boxed innate lambdas Igor Murashkin
Lambda closures created with the 'create-lambda' instruction (termed "innate lambdas") can be turned into an object with 'box-lambda'. This CL enables support for those kinds of lambdas to work with 'invoke-interface' by generating a proxy class for the lambda. Note: MIPS32/64 support not included. Bug: 24618608 Bug: 25107649 Change-Id: Ic8f1bb66ebeaed4097e758a50becf1cff6ccaefb
2015-09-27Revert "Revert "lambda: Experimental support for capture-variable and ↵ Igor Murashkin
liberate-variable"" This reverts commit 7bbb80ab52c203e44d2ded2c947b3b03b4b31ec4. Change-Id: If806ce5c6c5e96fdb2c3761dee096f74e7e5b001
2015-09-27Revert "lambda: Experimental support for capture-variable and liberate-variable" Nicolas Geoffray
Test fails. This reverts commit b72123440d8541362ebdb131436f9dbdda5fd329. Change-Id: Ic9ed92f8c826d8465eb36b746dc44af05caf041c
2015-09-25lambda: Experimental support for capture-variable and liberate-variable Igor Murashkin
Supports capturing/liberating any primitive variables. No support for capturing objects/lambdas yet since they would both need GC changes to track roots through closures. Change-Id: Ibfb68bfe4c579dbf93823aac4c0e6ac8f6360c5d
2015-09-03lambda: Infrastructure to support capture/liberate-variable dex opcodes Igor Murashkin
* ArtLambdaMethod - wrap an ArtMethod with extra runtime lambda info * Closure - data representation for a runtime lambda closure (read-only) * ClosureBuilder - writer for creating a Closure at runtime * ShortyFieldType - char/enum wrapper for shorty_field_type in dex Tests: * Closure, ClosureBuilder, ShortyFieldType have full unit test coverage. * ArtLambdaMethod does not, but it is tested indirectly and is otherwise trivial getters. Future CLs will include interpreter integration with minimal changes to this Closure infrastructure. Change-Id: I38a7aea8df1da7b154fd6623258c6c228c8e51df