Index: src/code-stubs.h |
diff --git a/src/code-stubs.h b/src/code-stubs.h |
index 5a2d2691a0548c8142ce7cc06aba5e6a9c97341a..f5eeb0949247a3f7007185191586036a4f7de6e1 100644 |
--- a/src/code-stubs.h |
+++ b/src/code-stubs.h |
@@ -85,8 +85,8 @@ namespace internal { |
V(StringAdd) \ |
V(ToBoolean) \ |
V(TransitionElementsKind) \ |
- V(VectorKeyedLoad) \ |
- V(VectorLoad) \ |
+ V(VectorRawKeyedLoad) \ |
+ V(VectorRawLoad) \ |
/* IC Handler stubs */ \ |
V(LoadConstant) \ |
V(LoadField) \ |
@@ -2062,38 +2062,49 @@ class MegamorphicLoadStub : public HydrogenCodeStub { |
}; |
-class VectorLoadStub : public HydrogenCodeStub { |
+class VectorRawLoadStub : public PlatformCodeStub { |
public: |
- explicit VectorLoadStub(Isolate* isolate, const LoadICState& state) |
- : HydrogenCodeStub(isolate) { |
- set_sub_minor_key(state.GetExtraICState()); |
+ explicit VectorRawLoadStub(Isolate* isolate, const LoadICState& state) |
+ : PlatformCodeStub(isolate) { |
+ minor_key_ = state.GetExtraICState(); |
} |
- Code::Kind GetCodeKind() const OVERRIDE { return Code::LOAD_IC; } |
+ void GenerateForTrampoline(MacroAssembler* masm); |
- InlineCacheState GetICState() const FINAL { return DEFAULT; } |
+ virtual Code::Kind GetCodeKind() const OVERRIDE { return Code::LOAD_IC; } |
- ExtraICState GetExtraICState() const FINAL { |
- return static_cast<ExtraICState>(sub_minor_key()); |
- } |
+ virtual InlineCacheState GetICState() const FINAL OVERRIDE { return DEFAULT; } |
- private: |
- LoadICState state() const { return LoadICState(GetExtraICState()); } |
+ virtual ExtraICState GetExtraICState() const FINAL OVERRIDE { |
+ return static_cast<ExtraICState>(minor_key_); |
+ } |
DEFINE_CALL_INTERFACE_DESCRIPTOR(VectorLoadIC); |
- DEFINE_HYDROGEN_CODE_STUB(VectorLoad, HydrogenCodeStub); |
+ DEFINE_PLATFORM_CODE_STUB(VectorRawLoad, PlatformCodeStub); |
+ |
+ protected: |
+ void GenerateImpl(MacroAssembler* masm, bool in_frame); |
}; |
-class VectorKeyedLoadStub : public VectorLoadStub { |
+class VectorRawKeyedLoadStub : public PlatformCodeStub { |
public: |
- explicit VectorKeyedLoadStub(Isolate* isolate) |
- : VectorLoadStub(isolate, LoadICState(0)) {} |
+ explicit VectorRawKeyedLoadStub(Isolate* isolate) |
+ : PlatformCodeStub(isolate) {} |
- Code::Kind GetCodeKind() const OVERRIDE { return Code::KEYED_LOAD_IC; } |
+ void GenerateForTrampoline(MacroAssembler* masm); |
+ |
+ virtual Code::Kind GetCodeKind() const OVERRIDE { |
+ return Code::KEYED_LOAD_IC; |
+ } |
+ |
+ virtual InlineCacheState GetICState() const FINAL OVERRIDE { return DEFAULT; } |
DEFINE_CALL_INTERFACE_DESCRIPTOR(VectorLoadIC); |
- DEFINE_HYDROGEN_CODE_STUB(VectorKeyedLoad, VectorLoadStub); |
+ DEFINE_PLATFORM_CODE_STUB(VectorRawKeyedLoad, PlatformCodeStub); |
+ |
+ protected: |
+ void GenerateImpl(MacroAssembler* masm, bool in_frame); |
}; |