MCPcopy Create free account
hub / github.com/ReadyTalk/avian / resolveTarget

Function resolveTarget

src/compile.cpp:335–351  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

333}
334
335GcMethod* resolveTarget(MyThread* t, void* stack, GcMethod* method)
336{
337 GcClass* class_ = objectClass(t, resolveThisPointer(t, stack));
338
339 if (class_->vmFlags() & BootstrapFlag) {
340 PROTECT(t, method);
341 PROTECT(t, class_);
342
343 resolveSystemClass(t, roots(t)->bootLoader(), class_->name());
344 }
345
346 if (method->class_()->flags() & ACC_INTERFACE) {
347 return findInterfaceMethod(t, method, class_);
348 } else {
349 return findVirtualMethod(t, method, class_);
350 }
351}
352
353GcMethod* resolveTarget(MyThread* t, GcClass* class_, unsigned index)
354{

Callers 2

compileVirtualMethod2Function · 0.85
invokeNativeFunction · 0.85

Calls 9

objectClassFunction · 0.85
resolveThisPointerFunction · 0.85
rootsFunction · 0.85
findInterfaceMethodFunction · 0.85
findVirtualMethodFunction · 0.85
flagsMethod · 0.80
bodyMethod · 0.80
resolveSystemClassFunction · 0.70
nameMethod · 0.45

Tested by

no test coverage detected