/art/compiler/optimizing/ |
H A D | cha_guard_optimization.cc | 25 // a receiver of a guard might turn out to be a parameter value, or defined at 54 bool OptimizeForParameter(HShouldDeoptimizeFlag* flag, HInstruction* receiver); 56 bool OptimizeWithDominatingGuard(HShouldDeoptimizeFlag* flag, HInstruction* receiver); 58 bool HoistGuard(HShouldDeoptimizeFlag* flag, HInstruction* receiver); 106 HInstruction* receiver) { 109 // compiled code is invoked guarantees that a parameter receiver conforms 115 if (receiver->IsParameterValue()) { 123 HInstruction* receiver) { 125 // that guard is dominated by receiver's definition, then the current 126 // guard can be eliminated, since receiver mus 105 OptimizeForParameter(HShouldDeoptimizeFlag* flag, HInstruction* receiver) argument 122 OptimizeWithDominatingGuard(HShouldDeoptimizeFlag* flag, HInstruction* receiver) argument 174 HoistGuard(HShouldDeoptimizeFlag* flag, HInstruction* receiver) argument 219 HInstruction* receiver = flag->InputAt(0); local [all...] |
H A D | reference_type_propagation.cc | 231 // Helper method to bound the type of `receiver` for all instructions dominated 234 static void BoundTypeIn(HInstruction* receiver, argument 241 DCHECK(!receiver->IsLoadClass()) << "We should not replace HLoadClass instructions"; 242 const HUseList<HInstruction*>& uses = receiver->GetUses(); 260 insert_point, receiver, class_rti, start_instruction, start_block)) { 261 bound_type = new (receiver->GetBlock()->GetGraph()->GetAllocator()) HBoundType(receiver); 275 // If the receiver is a null check, also bound the type of the actual 276 // receiver. 277 if (receiver 314 HInstruction* receiver = field_get->InputAt(0); local [all...] |
H A D | inliner.cc | 205 HInstruction* receiver = invoke->InputAt(0); local 206 if (receiver->IsNullCheck()) { 208 // null check does not have the reference type of the actual receiver. 209 receiver = receiver->InputAt(0); 211 ReferenceTypeInfo info = receiver->GetReferenceTypeInfo(); 212 DCHECK(info.IsValid()) << "Invalid RTI for " << receiver->DebugName(); 219 // Statically knowing that the receiver has an interface type cannot 223 // The method that we're trying to call is not in the receiver's class or super classes. 243 // The information we had on the receiver wa 764 BuildGetReceiverClass(ClassLinker* class_linker, HInstruction* receiver, uint32_t dex_pc) const argument 839 HInstruction* receiver = invoke_instruction->InputAt(0); local 898 AddTypeGuard(HInstruction* receiver, HInstruction* cursor, HBasicBlock* bb_cursor, dex::TypeIndex class_index, Handle<mirror::Class> klass, HInstruction* invoke_instruction, bool with_deoptimization) argument 1003 HInstruction* receiver = invoke_instruction->InputAt(0); local 1192 HInstruction* receiver = invoke_instruction->InputAt(0); local [all...] |
H A D | inliner.h | 166 // if (receiver.getClass() != ic.GetMonomorphicType()) deopt 201 HInstruction* receiver, 219 // Add a type guard on the given `receiver`. This will add to the graph: 220 // i0 = HFieldGet(receiver, klass) 228 HInstruction* AddTypeGuard(HInstruction* receiver,
|
H A D | instruction_simplifier.cc | 1502 HInstruction* receiver = field_get->InputAt(0); local 1503 ReferenceTypeInfo receiver_type = receiver->GetReferenceTypeInfo(); 2077 HInstruction* receiver = instruction->InputAt(0); local 2078 if (receiver == argument) { 2079 // Because String.equals is an instance call, the receiver is 2374 // Methods that return "this" can replace the returned value with the receiver. 2377 HInstruction* receiver = invoke->InputAt(0); local 2378 invoke->ReplaceWith(receiver); 2414 // the potential OOM of course. Otherwise, we must ensure the receiver object of this 2417 HInstruction* receiver local [all...] |
/art/runtime/ |
H A D | reflection_test.cc | 89 ObjPtr<mirror::Object>* receiver, 117 *receiver = nullptr; 126 *receiver = c->AllocObject(self); 130 HandleWrapperObjPtr<mirror::Object> h(hs.NewHandleWrapper(receiver)); 139 ObjPtr<mirror::Object> receiver; local 140 ReflectionTestMakeExecutable(&method, &receiver, is_static, "nop", "()V"); 141 ScopedLocalRef<jobject> receiver_ref(soa.Env(), soa.AddLocalReference<jobject>(receiver)); 148 ObjPtr<mirror::Object> receiver; local 149 ReflectionTestMakeExecutable(&method, &receiver, is_static, "identity", "(B)B"); 150 ScopedLocalRef<jobject> receiver_ref(soa.Env(), soa.AddLocalReference<jobject>(receiver)); 174 ObjPtr<mirror::Object> receiver; local 199 ObjPtr<mirror::Object> receiver; local 224 ObjPtr<mirror::Object> receiver; local 253 ObjPtr<mirror::Object> receiver; local 292 ObjPtr<mirror::Object> receiver; local 336 ObjPtr<mirror::Object> receiver; local 385 ObjPtr<mirror::Object> receiver; local 419 ObjPtr<mirror::Object> receiver; local 446 ObjPtr<mirror::Object> receiver; local 476 ObjPtr<mirror::Object> receiver; local [all...] |
H A D | reflection.cc | 46 size_t num_slots = shorty_len + 1; // +1 in case of receiver. 103 ObjPtr<mirror::Object> receiver, 106 // Set receiver if non-null (method is not static) 107 if (receiver != nullptr) { 108 Append(receiver); 140 ObjPtr<mirror::Object> receiver, jvalue* args) 142 // Set receiver if non-null (method is not static) 143 if (receiver != nullptr) { 144 Append(receiver); 183 // Set receiver i 478 ObjPtr<mirror::Object> receiver = method->IsStatic() ? nullptr : soa.Decode<mirror::Object>(obj); local 509 ObjPtr<mirror::Object> receiver = method->IsStatic() ? nullptr : soa.Decode<mirror::Object>(obj); local 534 ObjPtr<mirror::Object> receiver = soa.Decode<mirror::Object>(obj); local 566 ObjPtr<mirror::Object> receiver = soa.Decode<mirror::Object>(obj); local 612 ObjPtr<mirror::Object> receiver; local [all...] |
H A D | method_handles.cc | 388 // Static methods do not include the receiver. The receiver isn't included 551 Handle<mirror::MethodHandle> receiver, 562 // - One for the receiver object. 598 new_shadow_frame->SetVRegReference(0, receiver.Get()); 650 ObjPtr<mirror::Object> receiver(shadow_frame.GetVRegReference(receiver_reg)); 652 // The current receiver is an emulated stack frame, the method's 653 // receiver needs to be fetched from there as the emulated frame 655 receiver = ObjPtr<mirror::EmulatedStackFrame>::DownCast(receiver) 1031 mirror::Object* receiver = shadow_frame.GetVRegReference(operands->GetOperand(0)); local [all...] |
H A D | reflection.h | 90 jobject receiver,
|
H A D | art_method.cc | 345 mirror::Object* receiver = local 348 self, this, receiver, args + 1, result, /*stay_in_interpreter*/ true);
|
H A D | debugger.h | 81 : request_id(invoke_request_id), thread_id(invoke_thread_id), receiver(invoke_receiver), 93 GcRoot<mirror::Object> receiver; // not used for ClassType.InvokeMethod. member in struct:art::DebugInvokeReq
|
H A D | debugger.cc | 390 receiver.VisitRootIfNonNull(visitor, root_info); // null for static method call. 1909 LOG(WARNING) << "Ignoring non-nullptr receiver for ObjectReference.GetValues" 2031 LOG(WARNING) << "Ignoring non-nullptr receiver for ObjectReference.SetValues" 4041 mirror::Object* receiver = gRegistry->Get<mirror::Object*>(object_id, &error); local 4057 if (m->IsStatic() != (receiver == nullptr)) { 4079 HandleWrapper<mirror::Object> h_obj(hs.NewHandleWrapper(&receiver)); 4107 DebugInvokeReq* req = new (std::nothrow) DebugInvokeReq(request_id, thread_id, receiver, c, m, 4183 if ((pReq->options & JDWP::INVOKE_NONVIRTUAL) == 0 && pReq->receiver.Read() != nullptr) { 4193 << " receiver=" << pReq->receiver [all...] |
/art/runtime/interpreter/ |
H A D | unstarted_runtime.h | 60 mirror::Object* receiver, 83 mirror::Object* receiver, \
|
H A D | interpreter.h | 42 ObjPtr<mirror::Object> receiver,
|
H A D | unstarted_runtime.cc | 718 Handle<mirror::Object> receiver = hs.NewHandle(c->AllocObject(self)); local 719 if (receiver == nullptr) { 730 soa.AddLocalReference<jobject>(receiver.Get())); 738 result->SetL(receiver.Get()); 1681 mirror::Object* receiver ATTRIBUTE_UNUSED, uint32_t* args ATTRIBUTE_UNUSED, JValue* result) { 1688 Thread* self, ArtMethod* method ATTRIBUTE_UNUSED, mirror::Object* receiver ATTRIBUTE_UNUSED, 1707 mirror::Object* receiver ATTRIBUTE_UNUSED, uint32_t* args ATTRIBUTE_UNUSED, JValue* result) { 1712 Thread* self, ArtMethod* method ATTRIBUTE_UNUSED, mirror::Object* receiver ATTRIBUTE_UNUSED, 1723 mirror::Object* receiver ATTRIBUTE_UNUSED, uint32_t* args, JValue* result) { 1731 mirror::Object* receiver ATTRIBUTE_UNUSE 1748 UnstartedJNIClassGetNameNative( Thread* self, ArtMethod* method ATTRIBUTE_UNUSED, mirror::Object* receiver, uint32_t* args ATTRIBUTE_UNUSED, JValue* result) argument 1774 UnstartedJNIObjectInternalClone( Thread* self, ArtMethod* method ATTRIBUTE_UNUSED, mirror::Object* receiver, uint32_t* args ATTRIBUTE_UNUSED, JValue* result) argument 1780 UnstartedJNIObjectNotifyAll( Thread* self, ArtMethod* method ATTRIBUTE_UNUSED, mirror::Object* receiver, uint32_t* args ATTRIBUTE_UNUSED, JValue* result ATTRIBUTE_UNUSED) argument 1786 UnstartedJNIStringCompareTo( Thread* self, ArtMethod* method ATTRIBUTE_UNUSED, mirror::Object* receiver, uint32_t* args, JValue* result) argument 1796 UnstartedJNIStringIntern( Thread* self ATTRIBUTE_UNUSED, ArtMethod* method ATTRIBUTE_UNUSED, mirror::Object* receiver, uint32_t* args ATTRIBUTE_UNUSED, JValue* result) argument 1974 Jni(Thread* self, ArtMethod* method, mirror::Object* receiver, uint32_t* args, JValue* result) argument [all...] |
H A D | interpreter_common.h | 135 ObjPtr<mirror::Object> receiver = (type == kStatic) local 140 method_idx, &receiver, sf_method, self); 153 jit->InvokeVirtualOrInterface(receiver, sf_method, shadow_frame.GetDexPC(), called_method); 179 ObjPtr<mirror::Object> receiver = local 183 method_idx, &receiver, sf_method, self); 196 jit->InvokeVirtualOrInterface(receiver, sf_method, shadow_frame.GetDexPC(), called_method); 203 self, receiver.Ptr(), sf_method, shadow_frame.GetDexPC(), called_method); 261 ObjPtr<mirror::Object> const receiver = shadow_frame.GetVRegReference(vregC); local 262 if (UNLIKELY(receiver == nullptr)) { 269 CHECK(receiver [all...] |
H A D | interpreter.cc | 49 ObjPtr<mirror::Object> receiver, 192 soa.AddLocalReference<jobject>(receiver)); 203 soa.AddLocalReference<jobject>(receiver)); 210 soa.AddLocalReference<jobject>(receiver)); 224 soa.AddLocalReference<jobject>(receiver)); 372 ObjPtr<mirror::Object> receiver, 419 CHECK(receiver != nullptr); 420 shadow_frame->SetVRegReference(cur_reg, receiver.Ptr()); 470 UnstartedRuntime::Jni(self, method, receiver.Ptr(), args, result); 472 InterpreterJni(self, method, shorty, receiver, arg 370 EnterInterpreterFromInvoke(Thread* self, ArtMethod* method, ObjPtr<mirror::Object> receiver, uint32_t* args, JValue* result, bool stay_in_interpreter) argument 636 ObjPtr<mirror::Object> receiver = is_static ? nullptr : shadow_frame->GetVRegReference(0); local [all...] |
H A D | interpreter_common.cc | 604 // Invoke-polymorphic instructions always take a receiver. i.e, they are never static. 773 ObjPtr<mirror::Object> receiver(shadow_frame.GetVRegReference(vRegC)); 774 if (receiver.IsNull()) { 780 Handle<mirror::VarHandle> var_handle(hs.NewHandle(down_cast<mirror::VarHandle*>(receiver.Ptr()))); 1095 // Check the target method type matches the method type requested modulo the receiver 1307 // Handle receiver apart since it's not part of the shorty.
|
/art/test/952-invoke-custom/src/ |
H A D | TestInvocationKinds.java | 145 // receiver type as the leading paramter which needs to be dropped for findVirtual(). 158 private static int maxIntegerValue(TestInvocationKinds receiver, int x, int y) { argument 169 TestInvocationKinds receiver = new TestInvocationKinds(); 170 int result = maxIntegerValue(receiver, 77, -3); 205 Widget receiver = makeWidget(3); 206 assertEquals(Widget.class, receiver.getClass()); 207 System.out.println(receiver.getClass());
|
/art/test/988-method-trace/ |
H A D | gen_srcs.py | 253 # Format a receiver name. For statics, it's the class name, for receivers, it's an instance variable 255 receiver = method_info.klass 257 receiver = "instance_" + method_info.klass.replace(".", "_") 258 return receiver 263 receiver = format_receiver_name(method_info) 265 return ("%s.%s(%s);" %(receiver, method_info.method_name, dummy_args)) 267 # Format a static variable with an instance that could be used as the receiver
|
/art/runtime/native/ |
H A D | java_lang_reflect_Constructor.cc | 111 ObjPtr<mirror::Object> receiver = local 113 if (receiver == nullptr) { 116 jobject javaReceiver = soa.AddLocalReference<jobject>(receiver);
|
H A D | java_lang_Class.cc | 843 auto receiver = hs.NewHandle(klass->AllocObject(soa.Self())); local 844 if (UNLIKELY(receiver == nullptr)) { 854 if (UNLIKELY(caller != nullptr && !VerifyAccess(receiver.Get(), 874 uint32_t args[1] = { static_cast<uint32_t>(reinterpret_cast<uintptr_t>(receiver.Get())) }; 880 return soa.AddLocalReference<jobject>(receiver.Get());
|
/art/runtime/entrypoints/quick/ |
H A D | quick_trampoline_entrypoints.cc | 917 ArtMethod* proxy_method, mirror::Object* receiver, Thread* self, ArtMethod** sp) 920 DCHECK(receiver->GetClass()->IsProxyClass()) << proxy_method->PrettyMethod(); 931 // Create local ref. copies of proxy method and the receiver. 932 jobject rcvr_jobj = soa.AddLocalReference<jobject>(receiver); 934 // Placing arguments into args vector and remove the receiver. 1289 ArtMethod* called, mirror::Object* receiver, Thread* self, ArtMethod** sp) 1407 hs.NewHandleWrapper(virtual_or_interface ? &receiver : &dummy)); 1437 // Refine called method based on receiver for kVirtual/kInterface, and 1441 CHECK(receiver != nullptr) << invoke_type; 1442 called = receiver [all...] |
/art/runtime/interpreter/mterp/ |
H A D | mterp.cc | 329 ObjPtr<mirror::Object> const receiver = shadow_frame->GetVRegReference(vregC); local 330 if (receiver != nullptr) { 331 ArtMethod* const called_method = receiver->GetClass()->GetEmbeddedVTableEntry( 338 receiver, shadow_frame->GetMethod(), shadow_frame->GetDexPC(), called_method);
|
/art/runtime/arch/arm/ |
H A D | quick_entrypoints_arm.S | 1563 * r0 holds the proxy method and r1 holds the receiver; r2 and r3 may contain arguments. The 1571 blx artQuickProxyInvokeHandler @ (Method* proxy method, receiver, Thread*, SP) 1702 blx artQuickResolutionTrampoline @ (Method* called, receiver, Thread*, SP) 2654 bl artInvokePolymorphic @ artInvokePolymorphic(JValue, receiver, Thread*, SP)
|