- NativeExecutable* ctiNativeCallThunk() { return m_trampolineStructure.ctiNativeCallThunk.get(); }
- MacroAssemblerCodePtr ctiSoftModulo() { return m_trampolineStructure.ctiSoftModulo; }
+ MacroAssemblerCodePtr ctiVirtualConstruct() { return m_trampolineStructure.ctiVirtualConstruct; }
+ MacroAssemblerCodePtr ctiNativeCall()
+ {
+#if ENABLE(LLINT)
+ if (!m_executableMemory)
+ return MacroAssemblerCodePtr::createLLIntCodePtr(llint_native_call_trampoline);
+#endif
+ return m_trampolineStructure.ctiNativeCall;
+ }
+ MacroAssemblerCodePtr ctiNativeConstruct()
+ {
+#if ENABLE(LLINT)
+ if (!m_executableMemory)
+ return MacroAssemblerCodePtr::createLLIntCodePtr(llint_native_construct_trampoline);
+#endif
+ return m_trampolineStructure.ctiNativeConstruct;
+ }
+
+ MacroAssemblerCodeRef ctiStub(JSGlobalData*, ThunkGenerator);
+
+ NativeExecutable* hostFunctionStub(JSGlobalData*, NativeFunction, NativeFunction constructor);
+ NativeExecutable* hostFunctionStub(JSGlobalData*, NativeFunction, ThunkGenerator, Intrinsic);
+
+ void clearHostFunctionStubs();