/art/runtime/lambda/ |
D | box_table.cc | 52 Closure* closure = reinterpret_cast<Closure*>(new char[size]); in Allocate() local 53 DCHECK_ALIGNED(closure, alignof(Closure)); in Allocate() 54 return closure; in Allocate() 68 Closure* closure = key_value_pair.first; in ~BoxTable() local 74 ClosureAllocator::Delete(closure); in ~BoxTable() 78 mirror::Object* BoxTable::BoxLambda(const ClosureType& closure) { in BoxLambda() argument 95 ValueType value = FindBoxedLambda(closure); in BoxLambda() 113 mirror::ByteArray::Alloc(self, closure->GetSize()); in BoxLambda() 124 closure->CopyTo(closure_as_array_object->GetRawData(sizeof(uint8_t), // component size in BoxLambda() 135 ValueType value = FindBoxedLambda(closure); in BoxLambda() [all …]
|
D | closure_test.cc | 41 void operator()(Closure* closure) const { in operator ()() 42 delete[] reinterpret_cast<char*>(closure); in operator ()() 205 ExpectCapturedVariable(const Closure* closure, size_t index, T value) { in ExpectCapturedVariable() argument 206 EXPECT_EQ(ExpandingBitCast<uint32_t>(value), closure->GetCapturedPrimitiveNarrow(index)) in ExpectCapturedVariable() 212 ExpectCapturedVariable(const Closure* closure, size_t index, T value) { in ExpectCapturedVariable() argument 213 EXPECT_EQ(ExpandingBitCast<uint64_t>(value), closure->GetCapturedPrimitiveWide(index)) in ExpectCapturedVariable() 220 ExpectCapturedVariable(const Closure* closure, size_t index, const T* object) { in ExpectCapturedVariable() argument 221 EXPECT_EQ(object, closure->GetCapturedObject(index)) in ExpectCapturedVariable() 279 static void TestPrimitiveWithClosure(Closure* closure, in TestPrimitiveWithClosure() argument 283 EXPECT_EQ(sizeof(ArtLambdaMethod*) + GetArgsSize(args...), closure->GetSize()); in TestPrimitiveWithClosure() [all …]
|
D | closure_builder.cc | 71 void ClosureBuilder::CaptureVariableLambda(Closure* closure) { in CaptureVariableLambda() argument 72 DCHECK(closure != nullptr); // null closures not allowed, target method must be null instead. in CaptureVariableLambda() 73 values_.push_back(reinterpret_cast<ShortyFieldTypeTraits::MaxType>(closure)); in CaptureVariableLambda() 82 size_ += closure->GetSize(); in CaptureVariableLambda() 110 Closure* closure = new (memory) Closure; in CreateInPlace() local 111 closure->lambda_info_ = target_method; in CreateInPlace() 118 closure->captured_[0].dynamic_.size_ = GetSize(); in CreateInPlace() 124 closure->captured_[0].dynamic_.variables_, in CreateInPlace() 135 closure->captured_[0].static_variables_, in CreateInPlace() 140 DCHECK_EQ(written_size, closure->GetSize()); in CreateInPlace() [all …]
|
D | box_table.h | 51 mirror::Object* BoxLambda(const ClosureType& closure) 93 ValueType FindBoxedLambda(const ClosureType& closure) const
|
D | closure.cc | 376 size_t Closure::GetClosureSize(const uint8_t* closure) { in GetClosureSize() argument 377 DCHECK(closure != nullptr); in GetClosureSize() 386 memcpy(&closure_info, closure + offsetof(Closure, lambda_info_), sizeof(closure_info)); in GetClosureSize() 395 closure + offsetof(Closure, captured_[0].dynamic_.size_), in GetClosureSize()
|
D | closure_builder.h | 55 void CaptureVariableLambda(Closure* closure);
|
D | closure.h | 156 static size_t GetClosureSize(const uint8_t* closure); in PACKED()
|
/art/test/955-lambda-smali/ |
D | expected.txt | 2 Hello world! (0-args, no closure) 3 ABCD Hello world! (4-args, no closure) 5 (BoxUnbox) Hello boxing world! (0-args, no closure)
|
/art/test/955-lambda-smali/smali/ |
D | TrivialHelloWorld.smali | 46 #TODO: should use a closure type instead of jlong. 50 const-string v0, "Hello world! (0-args, no closure)" 58 #TODO: should use a closure type instead of jlong. 62 const-string v0, " Hello world! (4-args, no closure)"
|
D | CaptureVariables.smali | 94 #TODO: should use a closure type instead of a long 109 #TODO: should use a closure type instead of a long 124 #TODO: should use a closure type instead of a long 139 #TODO: should use a closure type instead of a long 154 #TODO: should use a closure type instead of a long 169 #TODO: should use a closure type instead of a long 184 #TODO: should use a closure type instead of a long 199 #TODO: should use a closure type instead of a long 248 #TODO: should use a closure type instead of a long
|
D | BoxUnbox.smali | 37 #TODO: should use a closure type instead of ArtMethod. 41 const-string v0, "(BoxUnbox) Hello boxing world! (0-args, no closure)"
|
/art/runtime/jit/ |
D | jit_code_cache.cc | 544 MarkCodeClosure closure(this, &barrier); in MarkCompiledCodeOnThreadStacks() local 545 threads_running_checkpoint = Runtime::Current()->GetThreadList()->RunCheckpoint(&closure); in MarkCompiledCodeOnThreadStacks()
|
/art/runtime/ |
D | Android.mk | 114 lambda/closure.cc \
|
/art/runtime/gc/ |
D | heap.cc | 1416 TrimIndirectReferenceTableClosure closure(&barrier); in TrimIndirectReferenceTables() local 1418 size_t barrier_count = Runtime::Current()->GetThreadList()->RunCheckpoint(&closure); in TrimIndirectReferenceTables()
|