| Index: src/code-stubs.h
|
| ===================================================================
|
| --- src/code-stubs.h (revision 9327)
|
| +++ src/code-stubs.h (working copy)
|
| @@ -45,6 +45,9 @@
|
| V(Compare) \
|
| V(CompareIC) \
|
| V(MathPow) \
|
| + V(RecordWrite) \
|
| + V(StoreBufferOverflow) \
|
| + V(RegExpExec) \
|
| V(TranscendentalCache) \
|
| V(Instanceof) \
|
| /* All stubs above this line only exist in a few versions, which are */ \
|
| @@ -65,7 +68,6 @@
|
| V(ToNumber) \
|
| V(CounterOp) \
|
| V(ArgumentsAccess) \
|
| - V(RegExpExec) \
|
| V(RegExpConstructResult) \
|
| V(NumberToString) \
|
| V(CEntry) \
|
| @@ -180,6 +182,14 @@
|
| // Finish the code object after it has been generated.
|
| virtual void FinishCode(Code* code) { }
|
|
|
| + // Returns true if TryGetCode should fail if it failed
|
| + // to register newly generated stub in the stub cache.
|
| + virtual bool MustBeInStubCache() { return false; }
|
| +
|
| + // Activate newly generated stub. Is called after
|
| + // registering stub in the stub cache.
|
| + virtual void Activate(Code* code) { }
|
| +
|
| // Returns information for computing the number key.
|
| virtual Major MajorKey() = 0;
|
| virtual int MinorKey() = 0;
|
| @@ -544,11 +554,11 @@
|
|
|
| class CEntryStub : public CodeStub {
|
| public:
|
| - explicit CEntryStub(int result_size)
|
| - : result_size_(result_size), save_doubles_(false) { }
|
| + explicit CEntryStub(int result_size,
|
| + SaveFPRegsMode save_doubles = kDontSaveFPRegs)
|
| + : result_size_(result_size), save_doubles_(save_doubles) { }
|
|
|
| void Generate(MacroAssembler* masm);
|
| - void SaveDoubles() { save_doubles_ = true; }
|
|
|
| // The version of this stub that doesn't save doubles is generated ahead of
|
| // time, so it's OK to call it from other stubs that can't cope with GC during
|
| @@ -569,7 +579,7 @@
|
|
|
| // Number of pointers/values returned.
|
| const int result_size_;
|
| - bool save_doubles_;
|
| + SaveFPRegsMode save_doubles_;
|
|
|
| Major MajorKey() { return CEntry; }
|
| int MinorKey();
|
|
|