void MacroAssemblerCodePtr::dumpWithName(const char* name, PrintStream& out) const { if (!m_value) { out.print(name, "(null)"); return; } if (executableAddress() == dataLocation()) { out.print(name, "(", RawPointer(executableAddress()), ")"); return; } out.print(name, "(executable = ", RawPointer(executableAddress()), ", dataLocation = ", RawPointer(dataLocation()), ")"); }
JSValue JITCode::execute(VM* vm, ProtoCallFrame* protoCallFrame) { void* entryAddress; JSFunction* function = jsDynamicCast<JSFunction*>(protoCallFrame->callee()); if (!function || !protoCallFrame->needArityCheck()) { ASSERT(!protoCallFrame->needArityCheck()); entryAddress = executableAddress(); } else entryAddress = addressForCall(*vm, function->executable(), MustCheckArity, RegisterPreservationNotRequired).executableAddress(); JSValue result = JSValue::decode(vmEntryToJavaScript(entryAddress, vm, protoCallFrame)); return vm->exception() ? jsNull() : result; }
JSValue JITCode::execute(JSStack* stack, CallFrame* callFrame, VM* vm) { JSValue result = JSValue::decode(ctiTrampoline(executableAddress(), stack, callFrame, 0, 0, vm)); return vm->exception() ? jsNull() : result; }