Revision: 6262
Author: [email protected]
Date: Tue Jan 11 04:10:11 2011
Log: Use HIR accessor for CheckPrototypeMaps to remove the duplicate members in lithium.

Review URL: http://codereview.chromium.org/6221003
http://code.google.com/p/v8/source/detail?r=6262

Modified:
 /branches/bleeding_edge/src/arm/lithium-arm.cc
 /branches/bleeding_edge/src/arm/lithium-arm.h
 /branches/bleeding_edge/src/ia32/lithium-ia32.cc
 /branches/bleeding_edge/src/ia32/lithium-ia32.h

=======================================
--- /branches/bleeding_edge/src/arm/lithium-arm.cc      Tue Jan 11 03:41:01 2011
+++ /branches/bleeding_edge/src/arm/lithium-arm.cc      Tue Jan 11 04:10:11 2011
@@ -1599,11 +1599,7 @@
LInstruction* LChunkBuilder::DoCheckPrototypeMaps(HCheckPrototypeMaps* instr) {
   LOperand* temp1 = TempRegister();
   LOperand* temp2 = TempRegister();
-  LInstruction* result =
-      new LCheckPrototypeMaps(temp1,
-                              temp2,
-                              instr->holder(),
-                              instr->receiver_map());
+  LInstruction* result = new LCheckPrototypeMaps(temp1, temp2);
   return AssignEnvironment(result);
 }

=======================================
--- /branches/bleeding_edge/src/arm/lithium-arm.h       Tue Jan 11 03:54:37 2011
+++ /branches/bleeding_edge/src/arm/lithium-arm.h       Tue Jan 11 04:10:11 2011
@@ -1606,27 +1606,20 @@

 class LCheckPrototypeMaps: public LInstruction {
  public:
-  LCheckPrototypeMaps(LOperand* temp1,
-                      LOperand* temp2,
-                      Handle<JSObject> holder,
-                      Handle<Map> receiver_map)
-      : temp1_(temp1),
-        temp2_(temp2),
-        holder_(holder),
-        receiver_map_(receiver_map) { }
+  LCheckPrototypeMaps(LOperand* temp1, LOperand* temp2)
+      : temp1_(temp1), temp2_(temp2) { }

   DECLARE_CONCRETE_INSTRUCTION(CheckPrototypeMaps, "check-prototype-maps")
-
+  DECLARE_HYDROGEN_ACCESSOR(CheckPrototypeMaps)
+
+  Handle<JSObject> holder() const { return hydrogen()->holder(); }
+  Handle<Map> receiver_map() const { return hydrogen()->receiver_map(); }
   LOperand* temp1() const { return temp1_; }
   LOperand* temp2() const { return temp2_; }
-  Handle<JSObject> holder() const { return holder_; }
-  Handle<Map> receiver_map() const { return receiver_map_; }

  private:
   LOperand* temp1_;
   LOperand* temp2_;
-  Handle<JSObject> holder_;
-  Handle<Map> receiver_map_;
 };


=======================================
--- /branches/bleeding_edge/src/ia32/lithium-ia32.cc Tue Jan 11 03:41:01 2011 +++ /branches/bleeding_edge/src/ia32/lithium-ia32.cc Tue Jan 11 04:10:11 2011
@@ -1611,10 +1611,7 @@

LInstruction* LChunkBuilder::DoCheckPrototypeMaps(HCheckPrototypeMaps* instr) {
   LOperand* temp = TempRegister();
-  LCheckPrototypeMaps* result =
-      new LCheckPrototypeMaps(temp,
-                              instr->holder(),
-                              instr->receiver_map());
+  LCheckPrototypeMaps* result = new LCheckPrototypeMaps(temp);
   return AssignEnvironment(result);
 }

=======================================
--- /branches/bleeding_edge/src/ia32/lithium-ia32.h     Tue Jan 11 03:41:01 2011
+++ /branches/bleeding_edge/src/ia32/lithium-ia32.h     Tue Jan 11 04:10:11 2011
@@ -1660,23 +1660,17 @@

 class LCheckPrototypeMaps: public LTemplateInstruction<0> {
  public:
-  LCheckPrototypeMaps(LOperand* temp,
-                      Handle<JSObject> holder,
-                      Handle<Map> receiver_map)
-      : temp_(temp),
-        holder_(holder),
-        receiver_map_(receiver_map) { }
+  explicit LCheckPrototypeMaps(LOperand* temp) : temp_(temp) { }

   DECLARE_CONCRETE_INSTRUCTION(CheckPrototypeMaps, "check-prototype-maps")
-
+  DECLARE_HYDROGEN_ACCESSOR(CheckPrototypeMaps)
+
+  Handle<JSObject> holder() const { return hydrogen()->holder(); }
+  Handle<Map> receiver_map() const { return hydrogen()->receiver_map(); }
   LOperand* temp() const { return temp_; }
-  Handle<JSObject> holder() const { return holder_; }
-  Handle<Map> receiver_map() const { return receiver_map_; }

  private:
   LOperand* temp_;
-  Handle<JSObject> holder_;
-  Handle<Map> receiver_map_;
 };


--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev

Reply via email to