Home
last modified time | relevance | path

Searched refs:closure (Results 1 – 14 of 14) sorted by relevance

/art/runtime/lambda/
Dbox_table.cc52 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 …]
Dclosure_test.cc41 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 …]
Dclosure_builder.cc71 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 …]
Dbox_table.h51 mirror::Object* BoxLambda(const ClosureType& closure)
93 ValueType FindBoxedLambda(const ClosureType& closure) const
Dclosure.cc376 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()
Dclosure_builder.h55 void CaptureVariableLambda(Closure* closure);
Dclosure.h156 static size_t GetClosureSize(const uint8_t* closure); in PACKED()
/art/test/955-lambda-smali/
Dexpected.txt2 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/
DTrivialHelloWorld.smali46 #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)"
DCaptureVariables.smali94 #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
DBoxUnbox.smali37 #TODO: should use a closure type instead of ArtMethod.
41 const-string v0, "(BoxUnbox) Hello boxing world! (0-args, no closure)"
/art/runtime/jit/
Djit_code_cache.cc544 MarkCodeClosure closure(this, &barrier); in MarkCompiledCodeOnThreadStacks() local
545 threads_running_checkpoint = Runtime::Current()->GetThreadList()->RunCheckpoint(&closure); in MarkCompiledCodeOnThreadStacks()
/art/runtime/
DAndroid.mk114 lambda/closure.cc \
/art/runtime/gc/
Dheap.cc1416 TrimIndirectReferenceTableClosure closure(&barrier); in TrimIndirectReferenceTables() local
1418 size_t barrier_count = Runtime::Current()->GetThreadList()->RunCheckpoint(&closure); in TrimIndirectReferenceTables()