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); |
+ 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); |