Revision: 20495
Author: [email protected]
Date: Fri Apr 4 07:07:34 2014 UTC
Log: Reland "Fixed environment assignment for LCheckNonSmi."
Now with (hopefully correct) ARM64 part... :-}
[email protected]
Review URL: https://codereview.chromium.org/225313003
http://code.google.com/p/v8/source/detail?r=20495
Modified:
/branches/bleeding_edge/src/arm/lithium-arm.cc
/branches/bleeding_edge/src/arm64/lithium-arm64.cc
/branches/bleeding_edge/src/ia32/lithium-ia32.cc
/branches/bleeding_edge/src/x64/lithium-x64.cc
=======================================
--- /branches/bleeding_edge/src/arm/lithium-arm.cc Thu Apr 3 14:04:05 2014
UTC
+++ /branches/bleeding_edge/src/arm/lithium-arm.cc Fri Apr 4 07:07:34 2014
UTC
@@ -1963,7 +1963,9 @@
LInstruction* LChunkBuilder::DoCheckHeapObject(HCheckHeapObject* instr) {
LOperand* value = UseRegisterAtStart(instr->value());
- return AssignEnvironment(new(zone()) LCheckNonSmi(value));
+ LInstruction* result = new(zone()) LCheckNonSmi(value);
+ if (!instr->value()->IsHeapObject()) result = AssignEnvironment(result);
+ return result;
}
=======================================
--- /branches/bleeding_edge/src/arm64/lithium-arm64.cc Thu Apr 3 14:04:05
2014 UTC
+++ /branches/bleeding_edge/src/arm64/lithium-arm64.cc Fri Apr 4 07:07:34
2014 UTC
@@ -1202,7 +1202,9 @@
LInstruction* LChunkBuilder::DoCheckHeapObject(HCheckHeapObject* instr) {
LOperand* value = UseRegisterAtStart(instr->value());
- return AssignEnvironment(new(zone()) LCheckNonSmi(value));
+ LInstruction* result = new(zone()) LCheckNonSmi(value);
+ if (!instr->value()->IsHeapObject()) result = AssignEnvironment(result);
+ return result;
}
=======================================
--- /branches/bleeding_edge/src/ia32/lithium-ia32.cc Thu Apr 3 14:04:05
2014 UTC
+++ /branches/bleeding_edge/src/ia32/lithium-ia32.cc Fri Apr 4 07:07:34
2014 UTC
@@ -2007,7 +2007,9 @@
LInstruction* LChunkBuilder::DoCheckHeapObject(HCheckHeapObject* instr) {
LOperand* value = UseAtStart(instr->value());
- return AssignEnvironment(new(zone()) LCheckNonSmi(value));
+ LInstruction* result = new(zone()) LCheckNonSmi(value);
+ if (!instr->value()->IsHeapObject()) result = AssignEnvironment(result);
+ return result;
}
=======================================
--- /branches/bleeding_edge/src/x64/lithium-x64.cc Thu Apr 3 14:04:05 2014
UTC
+++ /branches/bleeding_edge/src/x64/lithium-x64.cc Fri Apr 4 07:07:34 2014
UTC
@@ -1925,7 +1925,9 @@
LInstruction* LChunkBuilder::DoCheckHeapObject(HCheckHeapObject* instr) {
LOperand* value = UseRegisterAtStart(instr->value());
- return AssignEnvironment(new(zone()) LCheckNonSmi(value));
+ LInstruction* result = new(zone()) LCheckNonSmi(value);
+ if (!instr->value()->IsHeapObject()) result = AssignEnvironment(result);
+ return result;
}
--
--
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.