| Index: src/code-stubs.h
|
| diff --git a/src/code-stubs.h b/src/code-stubs.h
|
| index 3e1d8025c6d012d5186903a682d8c502bd56a680..d49804a6e3d419a6e20117a3e625e5b3069f22c5 100644
|
| --- a/src/code-stubs.h
|
| +++ b/src/code-stubs.h
|
| @@ -102,7 +102,6 @@ namespace internal {
|
| V(GetProperty) \
|
| V(SetProperty) \
|
| V(InvokeBuiltin) \
|
| - V(RegExpCEntry) \
|
| V(DirectCEntry)
|
| #elif V8_TARGET_ARCH_A64
|
| #define CODE_STUB_LIST_ARM(V) \
|
| @@ -165,14 +164,14 @@ class CodeStub BASE_EMBEDDED {
|
| virtual ~CodeStub() {}
|
|
|
| bool CompilingCallsToThisStubIsGCSafe(Isolate* isolate) {
|
| - bool is_pregenerated = IsPregenerated();
|
| + bool is_pregenerated = IsPregenerated(isolate);
|
| Code* code = NULL;
|
| CHECK(!is_pregenerated || FindCodeInCache(&code, isolate));
|
| return is_pregenerated;
|
| }
|
|
|
| // See comment above, where Instanceof is defined.
|
| - virtual bool IsPregenerated() { return false; }
|
| + virtual bool IsPregenerated(Isolate* isolate) { return false; }
|
|
|
| static void GenerateStubsAheadOfTime(Isolate* isolate);
|
| static void GenerateFPStubs(Isolate* isolate);
|
| @@ -691,7 +690,7 @@ class CreateAllocationSiteStub : public HydrogenCodeStub {
|
|
|
| virtual Handle<Code> GenerateCode(Isolate* isolate);
|
|
|
| - virtual bool IsPregenerated() { return true; }
|
| + virtual bool IsPregenerated(Isolate* isolate) V8_OVERRIDE { return true; }
|
|
|
| static void GenerateAheadOfTime(Isolate* isolate);
|
|
|
| @@ -1314,7 +1313,7 @@ class CEntryStub : public PlatformCodeStub {
|
| // time, so it's OK to call it from other stubs that can't cope with GC during
|
| // their code generation. On machines that always have gp registers (x64) we
|
| // can generate both variants ahead of time.
|
| - virtual bool IsPregenerated();
|
| + virtual bool IsPregenerated(Isolate* isolate) V8_OVERRIDE;
|
| static void GenerateAheadOfTime(Isolate* isolate);
|
|
|
| private:
|
| @@ -1326,6 +1325,7 @@ class CEntryStub : public PlatformCodeStub {
|
| bool always_allocate_scope);
|
|
|
| // Number of pointers/values returned.
|
| + Isolate* isolate_;
|
| const int result_size_;
|
| SaveFPRegsMode save_doubles_;
|
|
|
| @@ -1926,7 +1926,7 @@ class ArrayConstructorStubBase : public HydrogenCodeStub {
|
| return ContextCheckModeBits::decode(bit_field_);
|
| }
|
|
|
| - virtual bool IsPregenerated() {
|
| + virtual bool IsPregenerated(Isolate* isolate) V8_OVERRIDE {
|
| // We only pre-generate stubs that verify correct context
|
| return context_mode() == CONTEXT_CHECK_REQUIRED;
|
| }
|
| @@ -2027,7 +2027,7 @@ class InternalArrayConstructorStubBase : public HydrogenCodeStub {
|
| kind_ = kind;
|
| }
|
|
|
| - virtual bool IsPregenerated() { return true; }
|
| + virtual bool IsPregenerated(Isolate* isolate) V8_OVERRIDE { return true; }
|
| static void GenerateStubsAheadOfTime(Isolate* isolate);
|
| static void InstallDescriptors(Isolate* isolate);
|
|
|
| @@ -2291,7 +2291,7 @@ class StubFailureTrampolineStub : public PlatformCodeStub {
|
| explicit StubFailureTrampolineStub(StubFunctionMode function_mode)
|
| : fp_registers_(CanUseFPRegisters()), function_mode_(function_mode) {}
|
|
|
| - virtual bool IsPregenerated() { return true; }
|
| + virtual bool IsPregenerated(Isolate* isolate) V8_OVERRIDE { return true; }
|
|
|
| static void GenerateAheadOfTime(Isolate* isolate);
|
|
|
| @@ -2326,7 +2326,8 @@ class ProfileEntryHookStub : public PlatformCodeStub {
|
|
|
| private:
|
| static void EntryHookTrampoline(intptr_t function,
|
| - intptr_t stack_pointer);
|
| + intptr_t stack_pointer,
|
| + Isolate* isolate);
|
|
|
| Major MajorKey() { return ProfileEntryHook; }
|
| int MinorKey() { return 0; }
|
|
|