Index: src/arm/code-stubs-arm.h |
=================================================================== |
--- src/arm/code-stubs-arm.h (revision 6551) |
+++ src/arm/code-stubs-arm.h (working copy) |
@@ -567,7 +567,24 @@ |
const char* GetName() { return "RegExpCEntryStub"; } |
}; |
+// Trampoline stub to call into native code. To call safely into native code |
+// in the presence of compacting GC (which can move code objects) we need to |
+// keep the code which called into native pinned in the memory. Currently the |
+// simplest approach is to generate such stub early enough so it can never be |
+// moved by GC |
+class DirectCEntryStub: public CodeStub { |
+ public: |
+ DirectCEntryStub() {} |
+ void Generate(MacroAssembler* masm); |
+ void GenerateCall(MacroAssembler* masm, ApiFunction *function); |
+ private: |
+ Major MajorKey() { return DirectCEntry; } |
+ int MinorKey() { return 0; } |
+ const char* GetName() { return "DirectCEntryStub"; } |
+}; |
+ |
+ |
} } // namespace v8::internal |
#endif // V8_ARM_CODE_STUBS_ARM_H_ |