Chromium Code Reviews| Index: src/stub-cache.h |
| diff --git a/src/stub-cache.h b/src/stub-cache.h |
| index ebf0bd3c917b5e06ba80f0a4bedb5bd1703def23..2b4ea051a2581d6fd5510dbd76c3db70fde992ba 100644 |
| --- a/src/stub-cache.h |
| +++ b/src/stub-cache.h |
| @@ -138,7 +138,7 @@ class StubCache { |
| // --- |
| - Handle<Code> ComputeCallInitialize(int argc, RelocInfo::Mode mode); |
| + Handle<Code> ComputeCallInitialize(int argc, ContextualMode mode); |
| Handle<Code> ComputeKeyedCallInitialize(int argc); |
| @@ -162,6 +162,12 @@ class StubCache { |
| // --- |
| + Handle<Code> ComputeLoad(InlineCacheState ic_state, ExtraICState extra_state); |
| + Handle<Code> ComputeStore(InlineCacheState ic_state, |
| + ExtraICState extra_state); |
| + |
| + // --- |
| + |
| Handle<Code> ComputeCompareNil(Handle<Map> receiver_map, |
| CompareNilICStub& stub); |
| @@ -179,7 +185,8 @@ class StubCache { |
| ExtraICState extra_ic_state); |
| // Finds the Code object stored in the Heap::non_monomorphic_cache(). |
| - Code* FindCallInitialize(int argc, RelocInfo::Mode mode, Code::Kind kind); |
| + Code* FindCallInitialize(int argc, ContextualMode mode, Code::Kind kind); |
|
Toon Verwaest
2013/12/04 18:10:52
We should probably also reset calls to premonomorp
mvstanton
2013/12/04 22:08:10
Good point, I was wondering about that. But you ar
|
| + Code* FindPreMonomorphicIC(Code::Kind kind, ExtraICState extra_ic_state); |
| #ifdef ENABLE_DEBUGGER_SUPPORT |
| Handle<Code> ComputeCallDebugBreak(int argc, Code::Kind kind); |
| @@ -263,7 +270,7 @@ class StubCache { |
| explicit StubCache(Isolate* isolate); |
| Handle<Code> ComputeCallInitialize(int argc, |
| - RelocInfo::Mode mode, |
| + ContextualMode mode, |
| Code::Kind kind); |
| // The stub cache has a primary and secondary level. The two levels have |
| @@ -378,6 +385,15 @@ class StubCompiler BASE_EMBEDDED { |
| Handle<Code> CompileCallArguments(Code::Flags flags); |
| Handle<Code> CompileCallMiss(Code::Flags flags); |
| + Handle<Code> CompileLoadInitialize(Code::Flags flags); |
| + Handle<Code> CompileLoadPreMonomorphic(Code::Flags flags); |
| + Handle<Code> CompileLoadMegamorphic(Code::Flags flags); |
| + |
| + Handle<Code> CompileStoreInitialize(Code::Flags flags); |
| + Handle<Code> CompileStorePreMonomorphic(Code::Flags flags); |
| + Handle<Code> CompileStoreGeneric(Code::Flags flags); |
| + Handle<Code> CompileStoreMegamorphic(Code::Flags flags); |
| + |
| #ifdef ENABLE_DEBUGGER_SUPPORT |
| Handle<Code> CompileCallDebugBreak(Code::Flags flags); |
| Handle<Code> CompileCallDebugPrepareStepIn(Code::Flags flags); |
| @@ -503,6 +519,9 @@ class StubCompiler BASE_EMBEDDED { |
| Isolate* isolate() { return isolate_; } |
| Heap* heap() { return isolate()->heap(); } |
| Factory* factory() { return isolate()->factory(); } |
| + ContextualMode contextual_mode() { |
| + return IC::GetContextualMode(extra_state()); |
| + } |
| static void GenerateTailCall(MacroAssembler* masm, Handle<Code> code); |