Reviewers: Yang,
Message:
PTAL.
The second changed line wouldn't actually have been necessary, but I didn't
want
this to be too brittle in case someone adds an instruction or two.
x64 is not affected.
Description:
Fixed CHECK failure in LCodeGen::DoWrapReceiver when --deopt-every-n-times
flag
is present
BUG=148389
Please review this at https://chromiumcodereview.appspot.com/10914222/
SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge
Affected files:
M src/ia32/lithium-codegen-ia32.cc
Index: src/ia32/lithium-codegen-ia32.cc
diff --git a/src/ia32/lithium-codegen-ia32.cc
b/src/ia32/lithium-codegen-ia32.cc
index
33efdd89e1dce0c9fcea673f3b5ff3ed8feb61ac..2b42b13a1a1458b176837774a82eb2f9dd3cf3ba
100644
--- a/src/ia32/lithium-codegen-ia32.cc
+++ b/src/ia32/lithium-codegen-ia32.cc
@@ -2946,12 +2946,12 @@ void LCodeGen::DoWrapReceiver(LWrapReceiver* instr)
{
FieldOperand(function, JSFunction::kSharedFunctionInfoOffset));
__ test_b(FieldOperand(scratch,
SharedFunctionInfo::kStrictModeByteOffset),
1 << SharedFunctionInfo::kStrictModeBitWithinByte);
- __ j(not_equal, &receiver_ok, Label::kNear);
+ __ j(not_equal, &receiver_ok); // A near jump is not sufficient here!
// Do not transform the receiver to object for builtins.
__ test_b(FieldOperand(scratch, SharedFunctionInfo::kNativeByteOffset),
1 << SharedFunctionInfo::kNativeBitWithinByte);
- __ j(not_equal, &receiver_ok, Label::kNear);
+ __ j(not_equal, &receiver_ok);
// Normal function. Replace undefined or null with global receiver.
__ cmp(receiver, factory()->null_value());
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev