Reviewers: Yang,

Message:
Hi Yang,
Following in your tradition, PTAL, thx!
--Michael

Description:
Minor-key-ify new LoadICTrampolineStub.

[email protected]

Please review this at https://codereview.chromium.org/500423002/

SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge

Affected files (+19, -15 lines):
  M src/arm/code-stubs-arm.cc
  M src/arm64/code-stubs-arm64.cc
  M src/code-stubs.h
  M src/ia32/code-stubs-ia32.cc
  M src/x64/code-stubs-x64.cc


Index: src/arm/code-stubs-arm.cc
diff --git a/src/arm/code-stubs-arm.cc b/src/arm/code-stubs-arm.cc
index 23f87cc37765661505ae8a6bcf5507f008908c6a..73b68ae4fb3e72785cf85071dde0a17c2fe328c5 100644
--- a/src/arm/code-stubs-arm.cc
+++ b/src/arm/code-stubs-arm.cc
@@ -4594,7 +4594,7 @@ void StubFailureTrampolineStub::Generate(MacroAssembler* masm) {

 void LoadICTrampolineStub::Generate(MacroAssembler* masm) {
EmitLoadTypeFeedbackVector(masm, FullVectorLoadConvention::VectorRegister());
-  VectorLoadStub stub(isolate(), state_);
+  VectorLoadStub stub(isolate(), state());
   __ Jump(stub.GetCode(), RelocInfo::CODE_TARGET);
 }

Index: src/arm64/code-stubs-arm64.cc
diff --git a/src/arm64/code-stubs-arm64.cc b/src/arm64/code-stubs-arm64.cc
index 8c99ea1f6598afe6f8589f7c2f482371a85043c4..5daca9c1e20ebdd915120748900a3c1b175bd8de 100644
--- a/src/arm64/code-stubs-arm64.cc
+++ b/src/arm64/code-stubs-arm64.cc
@@ -4602,7 +4602,7 @@ void StubFailureTrampolineStub::Generate(MacroAssembler* masm) {

 void LoadICTrampolineStub::Generate(MacroAssembler* masm) {
EmitLoadTypeFeedbackVector(masm, FullVectorLoadConvention::VectorRegister());
-  VectorLoadStub stub(isolate(), state_);
+  VectorLoadStub stub(isolate(), state());
   __ Jump(stub.GetCode(), RelocInfo::CODE_TARGET);
 }

Index: src/code-stubs.h
diff --git a/src/code-stubs.h b/src/code-stubs.h
index c43cb2f3efc56acf3080dd0c8e9b2999912c1b07..dea29dcbc55e01354251880e22509182ef0ae0bb 100644
--- a/src/code-stubs.h
+++ b/src/code-stubs.h
@@ -1944,7 +1944,9 @@ class KeyedLoadGenericStub : public HydrogenCodeStub {
 class LoadICTrampolineStub : public PlatformCodeStub {
  public:
   LoadICTrampolineStub(Isolate* isolate, const LoadIC::State& state)
-      : PlatformCodeStub(isolate), state_(state) {}
+      : PlatformCodeStub(isolate) {
+    minor_key_ = state.GetExtraICState();
+  }

virtual Code::Kind GetCodeKind() const V8_OVERRIDE { return Code::LOAD_IC; }

@@ -1953,17 +1955,18 @@ class LoadICTrampolineStub : public PlatformCodeStub {
   }

   virtual ExtraICState GetExtraICState() const V8_FINAL V8_OVERRIDE {
-    return state_.GetExtraICState();
+    return static_cast<ExtraICState>(minor_key_);
   }

+  virtual Major MajorKey() const V8_OVERRIDE { return LoadICTrampoline; }
+
  private:
-  Major MajorKey() const { return LoadICTrampoline; }
-  uint32_t MinorKey() const { return GetExtraICState(); }
+  LoadIC::State state() const {
+    return LoadIC::State(static_cast<ExtraICState>(minor_key_));
+  }

   virtual void Generate(MacroAssembler* masm);

-  const LoadIC::State state_;
-
   DISALLOW_COPY_AND_ASSIGN(LoadICTrampolineStub);
 };

@@ -1977,9 +1980,9 @@ class KeyedLoadICTrampolineStub : public LoadICTrampolineStub {
     return Code::KEYED_LOAD_IC;
   }

- private:
-  Major MajorKey() const { return KeyedLoadICTrampoline; }
+ virtual Major MajorKey() const V8_OVERRIDE { return KeyedLoadICTrampoline; }

+ private:
   virtual void Generate(MacroAssembler* masm);

   DISALLOW_COPY_AND_ASSIGN(KeyedLoadICTrampolineStub);
@@ -2008,8 +2011,9 @@ class VectorLoadStub : public HydrogenCodeStub {
     return state_.GetExtraICState();
   }

+  virtual Major MajorKey() const V8_OVERRIDE { return VectorLoad; }
+
  private:
-  Major MajorKey() const { return VectorLoad; }
   int NotMissMinorKey() const { return state_.GetExtraICState(); }

   const LoadIC::State state_;
@@ -2034,9 +2038,9 @@ class VectorKeyedLoadStub : public VectorLoadStub {
     return Code::KEYED_LOAD_IC;
   }

- private:
-  Major MajorKey() const { return VectorKeyedLoad; }
+  virtual Major MajorKey() const V8_OVERRIDE { return VectorKeyedLoad; }

+ private:
   DISALLOW_COPY_AND_ASSIGN(VectorKeyedLoadStub);
 };

Index: src/ia32/code-stubs-ia32.cc
diff --git a/src/ia32/code-stubs-ia32.cc b/src/ia32/code-stubs-ia32.cc
index ec484c1c512b3f9f9d72ec1087abaee52c25629f..f6f2dffe1e3a6fa02b73d7cc4fd75e853323c9cf 100644
--- a/src/ia32/code-stubs-ia32.cc
+++ b/src/ia32/code-stubs-ia32.cc
@@ -4502,7 +4502,7 @@ void StubFailureTrampolineStub::Generate(MacroAssembler* masm) {

 void LoadICTrampolineStub::Generate(MacroAssembler* masm) {
EmitLoadTypeFeedbackVector(masm, FullVectorLoadConvention::VectorRegister());
-  VectorLoadStub stub(isolate(), state_);
+  VectorLoadStub stub(isolate(), state());
   __ jmp(stub.GetCode(), RelocInfo::CODE_TARGET);
 }

Index: src/x64/code-stubs-x64.cc
diff --git a/src/x64/code-stubs-x64.cc b/src/x64/code-stubs-x64.cc
index fefbde375ff0fde6617a9931a970efdac56dc6bc..51e372c4d5c30ad90f428714de31ac909b1d9675 100644
--- a/src/x64/code-stubs-x64.cc
+++ b/src/x64/code-stubs-x64.cc
@@ -4442,7 +4442,7 @@ void StubFailureTrampolineStub::Generate(MacroAssembler* masm) {

 void LoadICTrampolineStub::Generate(MacroAssembler* masm) {
EmitLoadTypeFeedbackVector(masm, FullVectorLoadConvention::VectorRegister());
-  VectorLoadStub stub(isolate(), state_);
+  VectorLoadStub stub(isolate(), state());
   __ jmp(stub.GetCode(), RelocInfo::CODE_TARGET);
 }



--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
--- You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to