Searched refs:lambda (Results 1 - 25 of 26) sorted by relevance

12

/art/runtime/lambda/
H A Dleaking_allocator.cc18 #include "lambda/leaking_allocator.h"
23 namespace lambda { namespace in namespace:art
26 // TODO: use GetAllocatorForClassLoader to allocate lambda ArtMethod data.
32 } // namespace lambda
H A Dart_lambda_method.h25 namespace lambda { namespace in namespace:art
29 // Construct an art lambda method.
30 // The target method is the one invoked by invoke-lambda.
33 // Innate lambda means that the lambda was originally created via invoke-lambda.
34 // -- Non-innate lambdas (learned lambdas) come from a regular class that was boxed to lambda.
41 // Get the target method for this lambda that would be used by the invoke-lambda dex instruction.
46 // Get the compile-time size of lambda closure
[all...]
H A Dclosure_builder-inl.h20 #include "lambda/closure_builder.h"
24 namespace lambda { namespace in namespace:art
42 } // namespace lambda
H A Dart_lambda_method.cc17 #include "lambda/art_lambda_method.h"
20 #include "lambda/shorty_field_type.h"
23 namespace lambda { namespace in namespace:art
76 } // namespace lambda
H A Dbox_table.h36 namespace lambda { namespace in namespace:art
41 * when a lambda is re-boxed.
48 using ClosureType = art::lambda::Closure*;
54 // Unboxes an object back into the lambda. Returns false and throws an exception on failure.
58 // Sweep weak references to lambda boxes. Update the addresses if the objects have been
92 // Attempt to look up the lambda in the map, or return null if it's not there yet.
143 } // namespace lambda
H A Dclosure_builder.h22 #include "lambda/shorty_field_type.h"
34 namespace lambda { namespace in namespace:art
54 // Mark this lambda closure to be captured.
101 } // namespace lambda
H A Dleaking_allocator.h25 namespace lambda { namespace in namespace:art
69 } // namespace lambda
H A Dbox_table.cc16 #include "lambda/box_table.h"
21 #include "lambda/closure.h"
22 #include "lambda/leaking_allocator.h"
30 namespace lambda { namespace in namespace:art
31 // Temporarily represent the lambda Closure as its raw bytes in an array.
61 new_weaks_condition_("lambda box table allowed weaks", *Locks::lambda_table_lock_) {}
91 // Functional f = () -> 5; // vF = create-lambda
92 // Object a = f; // vA = box-lambda vA
93 // Object b = f; // vB = box-lambda vB
103 // Release the lambda tabl
[all...]
H A Dclosure.h21 #include "lambda/shorty_field_type.h"
32 namespace lambda { namespace in namespace:art
36 // Inline representation of a lambda closure.
52 // Get the target method, i.e. the method that will be dispatched into with invoke-lambda.
90 // The type at the index *must* be a lambda closure or a CHECK failure will occur.
93 // Copies a nested lambda closure at the captured variable index.
98 // Read out any non-lambda value as a copy.
160 // Compile-time known lambda information such as the type descriptor and size.
181 } // namespace lambda
H A Dclosure_builder.cc16 #include "lambda/closure_builder.h"
20 #include "lambda/art_lambda_method.h"
21 #include "lambda/closure.h"
22 #include "lambda/shorty_field_type.h"
29 namespace lambda { namespace in namespace:art
40 * in the lower 2 bits of the lambda art method pointer. Whenever a closure is copied
184 << " don't support writing dynamically sized types other than lambda";
209 } // namespace lambda
H A Dclosure_test.cc18 #include "lambda/art_lambda_method.h"
19 #include "lambda/closure.h"
20 #include "lambda/closure_builder.h"
21 #include "lambda/closure_builder-inl.h"
33 using Closure = art::lambda::Closure;
62 namespace lambda { namespace in namespace:art
90 // The lambda method's captured variables types must match the ones in 'args'.
124 // The lambda method's captured variables types must match the ones in 'args'.
234 // Important: This fake lambda method needs to out-live any Closures we create with it.
355 } // namespace lambda
[all...]
H A Dshorty_field_type.h33 namespace lambda { namespace in namespace:art
248 // Is this a lambda?
386 // Returns true if 'T' is a lambda (i.e. it is a closure with unknown static data);
472 } // namespace lambda
H A Dclosure.cc17 #include "lambda/closure.h"
20 #include "lambda/art_lambda_method.h"
27 namespace lambda { namespace in namespace:art
330 "result must be a lambda type");
413 } // namespace lambda
H A Dshorty_field_type_test.cc17 #include "lambda/shorty_field_type.h"
29 namespace lambda { namespace in namespace:art
111 // The letters are the same as JNI letters, with kS_ being a lambda since \ is not available.
345 SCOPED_TRACE("lambda");
353 } // namespace lambda
/art/test/955-lambda-smali/smali/
H A DMoveResult.smali44 create-lambda v0, LMoveResult;->lambdaZ(J)Z
45 invoke-lambda v0, {}
76 create-lambda v0, LMoveResult;->lambdaB(J)B
77 invoke-lambda v0, {}
108 create-lambda v0, LMoveResult;->lambdaS(J)S
109 invoke-lambda v0, {}
140 create-lambda v0, LMoveResult;->lambdaI(J)I
141 invoke-lambda v0, {}
172 create-lambda v0, LMoveResult;->lambdaC(J)C
173 invoke-lambda v
[all...]
H A DTrivialHelloWorld.smali28 create-lambda v0, LTrivialHelloWorld;->doHelloWorld(J)V
29 # TODO: create-lambda should not write to both v0 and v1
30 invoke-lambda v0, {}
33 create-lambda v2, doHelloWorldArgs(JLjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
34 # TODO: create-lambda should not write to both v2 and v3
39 invoke-lambda v2, {v4, v5, v6, v7}
82 invoke-lambda v0, {} # invoking a null lambda shall raise an NPE
H A DCaptureVariables.smali30 create-lambda v0, LCaptureVariables;->printCapturedVariable_Z(J)V
31 # TODO: create-lambda should not write to both v0 and v1
32 invoke-lambda v0, {}
37 create-lambda v0, LCaptureVariables;->printCapturedVariable_B(J)V
38 # TODO: create-lambda should not write to both v0 and v1
39 invoke-lambda v0, {}
44 create-lambda v0, LCaptureVariables;->printCapturedVariable_C(J)V
45 # TODO: create-lambda should not write to both v0 and v1
46 invoke-lambda v0, {}
51 create-lambda v
[all...]
/art/runtime/interpreter/
H A Dinterpreter_common.h38 #include "lambda/art_lambda_method.h"
39 #include "lambda/box_table.h"
40 #include "lambda/closure.h"
41 #include "lambda/closure_builder-inl.h"
42 #include "lambda/leaking_allocator.h"
43 #include "lambda/shorty_field_type.h"
144 // Invokes the given lambda closure. This is part of the invocation support and is used by
151 // Validates that the art method corresponding to a lambda method target
181 const lambda::Closure& lambda_closure,
196 // Handles create-lambda instruction
[all...]
H A Dinterpreter_goto_table_impl.cc193 std::unique_ptr<lambda::ClosureBuilder> lambda_closure_builder;
2463 lambda_closure_builder = MakeUnique<lambda::ClosureBuilder>();
2466 // TODO: these allocations should not leak, and the lambda method should not be local.
2467 lambda::Closure* lambda_closure =
2468 reinterpret_cast<lambda::Closure*>(alloca(lambda_closure_builder->GetSize()));
2493 lambda_closure_builder = MakeUnique<lambda::ClosureBuilder>();
H A Dinterpreter_switch_impl.cc118 // TODO: collapse capture-variable+create-lambda into one opcode, then we won't need
120 std::unique_ptr<lambda::ClosureBuilder> lambda_closure_builder;
2352 lambda_closure_builder = MakeUnique<lambda::ClosureBuilder>();
2372 lambda_closure_builder = MakeUnique<lambda::ClosureBuilder>();
2375 // TODO: these allocations should not leak, and the lambda method should not be local.
2376 lambda::Closure* lambda_closure =
2377 reinterpret_cast<lambda::Closure*>(alloca(lambda_closure_builder->GetSize()));
/art/test/004-JniTest/src/
H A DMain.java43 String lambda = "λ";
44 testInvokeLambdaMethod(() -> { System.out.println("hi-lambda: " + lambda); });
46 testInvokeLambdaDefaultMethod(() -> { System.out.println("hi-default " + def + lambda); });
/art/compiler/utils/arm/
H A Dassembler_arm32_test.cc448 auto lambda = [&] (Args... args) { f(*reg, args...); }; // NOLINT [readability/braces] [4] local
449 TemplateHelper(std::function<void(Args...)>(lambda), depth + 1, without_pc,
475 auto lambda = [&] (Args... args) { f(shift, args...); }; // NOLINT [readability/braces] [4] local
476 TemplateHelper(std::function<void(Args...)>(lambda), depth, without_pc,
501 auto lambda = [&] (Args... args) { f(c, args...); }; // NOLINT [readability/braces] [4] local
502 TemplateHelper(std::function<void(Args...)>(lambda), depth, without_pc,
527 auto lambda = [&] (Args... args) { f(s, args...); }; // NOLINT [readability/braces] [4] local
528 TemplateHelper(std::function<void(Args...)>(lambda), depth, without_pc,
/art/runtime/
H A DAndroid.mk112 lambda/art_lambda_method.cc \
113 lambda/box_table.cc \
114 lambda/closure.cc \
115 lambda/closure_builder.cc \
116 lambda/leaking_allocator.cc \
H A Druntime.h58 namespace lambda { namespace in namespace:art
60 } // namespace lambda
562 lambda::BoxTable* GetLambdaBoxTable() const {
755 std::unique_ptr<lambda::BoxTable> lambda_box_table_;
/art/build/
H A DAndroid.gtest.mk241 runtime/lambda/closure_test.cc \
242 runtime/lambda/shorty_field_type_test.cc \

Completed in 1785 milliseconds

12