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