Reviewers: titzer,

Description:
Unify InstanceofStub interface descriptors.

[email protected]

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

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

Affected files (+23, -48 lines):
  M src/arm/code-stubs-arm.cc
  M src/arm64/code-stubs-arm64.cc
  M src/code-stubs.h
  M src/code-stubs.cc
  M src/compiler/js-generic-lowering.cc
  M src/ia32/code-stubs-ia32.cc
  M src/mips/code-stubs-mips.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 919a4ec755f5f199eebeef91ec661bf46de8942c..6b807b27e41b25d86270b6b30c44c5f33627d008 100644
--- a/src/arm/code-stubs-arm.cc
+++ b/src/arm/code-stubs-arm.cc
@@ -78,15 +78,8 @@ void CreateAllocationSiteStub::InitializeInterfaceDescriptor(
 }


-void InstanceofStub::InitializeInterfaceDescriptor(
-    Isolate* isolate, CodeStubInterfaceDescriptor* descriptor) {
-  Register registers[] = {cp, left(), right()};
-  descriptor->Initialize(MajorKey(), ARRAY_SIZE(registers), registers);
-}
-
-
 void CallFunctionStub::InitializeInterfaceDescriptor(
-    Isolate* isolate, CodeStubInterfaceDescriptor* descriptor) {
+    CodeStubInterfaceDescriptor* descriptor) {
   // r1  function    the function to call
   Register registers[] = {cp, r1};
   descriptor->Initialize(MajorKey(), ARRAY_SIZE(registers), registers);
@@ -94,7 +87,7 @@ void CallFunctionStub::InitializeInterfaceDescriptor(


 void CallConstructStub::InitializeInterfaceDescriptor(
-    Isolate* isolate, CodeStubInterfaceDescriptor* descriptor) {
+    CodeStubInterfaceDescriptor* descriptor) {
   // r0 : number of arguments
   // r1 : the function to call
   // r2 : feedback vector
Index: src/arm64/code-stubs-arm64.cc
diff --git a/src/arm64/code-stubs-arm64.cc b/src/arm64/code-stubs-arm64.cc
index f745975bca14ff14892c03d92387242de9a69fdb..ef241beced9c037689dd0e3578ae728908503673 100644
--- a/src/arm64/code-stubs-arm64.cc
+++ b/src/arm64/code-stubs-arm64.cc
@@ -97,15 +97,8 @@ void CreateAllocationSiteStub::InitializeInterfaceDescriptor(
 }


-void InstanceofStub::InitializeInterfaceDescriptor(
-    Isolate* isolate, CodeStubInterfaceDescriptor* descriptor) {
-  Register registers[] = {cp, left(), right()};
-  descriptor->Initialize(MajorKey(), ARRAY_SIZE(registers), registers);
-}
-
-
 void CallFunctionStub::InitializeInterfaceDescriptor(
-    Isolate* isolate, CodeStubInterfaceDescriptor* descriptor) {
+    CodeStubInterfaceDescriptor* descriptor) {
   // x1  function    the function to call
   Register registers[] = {cp, x1};
   descriptor->Initialize(MajorKey(), ARRAY_SIZE(registers), registers);
@@ -113,7 +106,7 @@ void CallFunctionStub::InitializeInterfaceDescriptor(


 void CallConstructStub::InitializeInterfaceDescriptor(
-    Isolate* isolate, CodeStubInterfaceDescriptor* descriptor) {
+    CodeStubInterfaceDescriptor* descriptor) {
   // x0 : number of arguments
   // x1 : the function to call
   // x2 : feedback vector
Index: src/code-stubs.cc
diff --git a/src/code-stubs.cc b/src/code-stubs.cc
index f23c80b056e4c0944bd47040fbd90fa87a8b611c..fc3ad94c7f3175effa1d96efbba7204a4eaf508a 100644
--- a/src/code-stubs.cc
+++ b/src/code-stubs.cc
@@ -664,6 +664,15 @@ void StoreGlobalStub::InitializeInterfaceDescriptor(
 }


+void InstanceofStub::InitializeInterfaceDescriptor(
+    CodeStubInterfaceDescriptor* descriptor) {
+  Register registers[] = { InterfaceDescriptor::ContextRegister(),
+                           InstanceofStub::left(),
+                           InstanceofStub::right() };
+  descriptor->Initialize(MajorKey(), ARRAY_SIZE(registers), registers);
+}
+
+
 void LoadDictionaryElementPlatformStub::Generate(MacroAssembler* masm) {
   ElementHandlerCompiler::GenerateLoadDictionaryElement(masm);
 }
Index: src/code-stubs.h
diff --git a/src/code-stubs.h b/src/code-stubs.h
index d4a21527a221190214276a597812d71221f44130..6f2ce63e5764d70ab9c5ea17522f2c2d45bb22b9 100644
--- a/src/code-stubs.h
+++ b/src/code-stubs.h
@@ -747,7 +747,7 @@ class InstanceofStub: public PlatformCodeStub {
   void Generate(MacroAssembler* masm);

   virtual void InitializeInterfaceDescriptor(
-      Isolate* isolate, CodeStubInterfaceDescriptor* descriptor);
+      CodeStubInterfaceDescriptor* descriptor);

  private:
   Major MajorKey() const { return Instanceof; }
@@ -1628,7 +1628,7 @@ class CallFunctionStub: public PlatformCodeStub {
   }

   virtual void InitializeInterfaceDescriptor(
-      Isolate* isolate, CodeStubInterfaceDescriptor* descriptor);
+      CodeStubInterfaceDescriptor* descriptor);

  private:
   int argc_;
@@ -1670,7 +1670,7 @@ class CallConstructStub: public PlatformCodeStub {
   }

   virtual void InitializeInterfaceDescriptor(
-      Isolate* isolate, CodeStubInterfaceDescriptor* descriptor);
+      CodeStubInterfaceDescriptor* descriptor);

  private:
   CallConstructorFlags flags_;
Index: src/compiler/js-generic-lowering.cc
diff --git a/src/compiler/js-generic-lowering.cc b/src/compiler/js-generic-lowering.cc index 4679e4c66ebdfc0084fbd9d30d8ea2b275b4467a..3526715638ad6ff90af8f164c6d1d89498e037c3 100644
--- a/src/compiler/js-generic-lowering.cc
+++ b/src/compiler/js-generic-lowering.cc
@@ -24,7 +24,7 @@ static CodeStubInterfaceDescriptor* GetInterfaceDescriptor(Isolate* isolate,
                                                            T* stub) {
   CodeStub::Major key = static_cast<CodeStub*>(stub)->MajorKey();
CodeStubInterfaceDescriptor* d = isolate->code_stub_interface_descriptor(key);
-  stub->InitializeInterfaceDescriptor(isolate, d);
+  stub->InitializeInterfaceDescriptor(d);
   return d;
 }

Index: src/ia32/code-stubs-ia32.cc
diff --git a/src/ia32/code-stubs-ia32.cc b/src/ia32/code-stubs-ia32.cc
index 00574367440093db162bc90ab23438c832b5615d..cd034eda5eb2a809cae6562c909c0639f25cf1f1 100644
--- a/src/ia32/code-stubs-ia32.cc
+++ b/src/ia32/code-stubs-ia32.cc
@@ -84,22 +84,15 @@ void CreateAllocationSiteStub::InitializeInterfaceDescriptor(
 }


-void InstanceofStub::InitializeInterfaceDescriptor(
-    Isolate* isolate, CodeStubInterfaceDescriptor* descriptor) {
-  Register registers[] = {esi, left(), right()};
-  descriptor->Initialize(MajorKey(), ARRAY_SIZE(registers), registers);
-}
-
-
 void CallFunctionStub::InitializeInterfaceDescriptor(
-    Isolate* isolate, CodeStubInterfaceDescriptor* descriptor) {
+    CodeStubInterfaceDescriptor* descriptor) {
   Register registers[] = {esi, edi};
   descriptor->Initialize(MajorKey(), ARRAY_SIZE(registers), registers);
 }


 void CallConstructStub::InitializeInterfaceDescriptor(
-    Isolate* isolate, CodeStubInterfaceDescriptor* descriptor) {
+    CodeStubInterfaceDescriptor* descriptor) {
   // eax : number of arguments
   // ebx : feedback vector
   // edx : (only if ebx is not the megamorphic symbol) slot in feedback
Index: src/mips/code-stubs-mips.cc
diff --git a/src/mips/code-stubs-mips.cc b/src/mips/code-stubs-mips.cc
index 0e55fe713ec86574c84485e3c5e4525c7145f19f..4074f892f21de631ac31804565d0a9eabbdffcb9 100644
--- a/src/mips/code-stubs-mips.cc
+++ b/src/mips/code-stubs-mips.cc
@@ -79,20 +79,14 @@ void CreateAllocationSiteStub::InitializeInterfaceDescriptor(
 }


-void InstanceofStub::InitializeInterfaceDescriptor(
-    Isolate* isolate, CodeStubInterfaceDescriptor* descriptor) {
-  UNIMPLEMENTED();
-}
-
-
 void CallFunctionStub::InitializeInterfaceDescriptor(
-    Isolate* isolate, CodeStubInterfaceDescriptor* descriptor) {
+    CodeStubInterfaceDescriptor* descriptor) {
   UNIMPLEMENTED();
 }


 void CallConstructStub::InitializeInterfaceDescriptor(
-    Isolate* isolate, CodeStubInterfaceDescriptor* descriptor) {
+    CodeStubInterfaceDescriptor* descriptor) {
   UNIMPLEMENTED();
 }

Index: src/x64/code-stubs-x64.cc
diff --git a/src/x64/code-stubs-x64.cc b/src/x64/code-stubs-x64.cc
index e3d54206eaac988bdfd1b83aae402c281059fe11..d0fd3358aa49d237c0fa27ca03c9745f1f9d7824 100644
--- a/src/x64/code-stubs-x64.cc
+++ b/src/x64/code-stubs-x64.cc
@@ -80,22 +80,15 @@ void CreateAllocationSiteStub::InitializeInterfaceDescriptor(
 }


-void InstanceofStub::InitializeInterfaceDescriptor(
-    Isolate* isolate, CodeStubInterfaceDescriptor* descriptor) {
-  Register registers[] = {rsi, left(), right()};
-  descriptor->Initialize(MajorKey(), ARRAY_SIZE(registers), registers);
-}
-
-
 void CallFunctionStub::InitializeInterfaceDescriptor(
-    Isolate* isolate, CodeStubInterfaceDescriptor* descriptor) {
+    CodeStubInterfaceDescriptor* descriptor) {
   Register registers[] = {rsi, rdi};
   descriptor->Initialize(MajorKey(), ARRAY_SIZE(registers), registers);
 }


 void CallConstructStub::InitializeInterfaceDescriptor(
-    Isolate* isolate, CodeStubInterfaceDescriptor* descriptor) {
+    CodeStubInterfaceDescriptor* descriptor) {
   // rax : number of arguments
   // rbx : feedback vector
   // rdx : (only if rbx is not the megamorphic symbol) slot in feedback


--
--
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