Fixed CHECK failure in LCodeGen::DoWrapReceiver when --deopt-every-n-times flag is present

BUG=148389

Review URL: https://chromiumcodereview.appspot.com/10914222

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12486 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
parent 59b9a32b
...@@ -2946,12 +2946,12 @@ void LCodeGen::DoWrapReceiver(LWrapReceiver* instr) { ...@@ -2946,12 +2946,12 @@ void LCodeGen::DoWrapReceiver(LWrapReceiver* instr) {
FieldOperand(function, JSFunction::kSharedFunctionInfoOffset)); FieldOperand(function, JSFunction::kSharedFunctionInfoOffset));
__ test_b(FieldOperand(scratch, SharedFunctionInfo::kStrictModeByteOffset), __ test_b(FieldOperand(scratch, SharedFunctionInfo::kStrictModeByteOffset),
1 << SharedFunctionInfo::kStrictModeBitWithinByte); 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. // Do not transform the receiver to object for builtins.
__ test_b(FieldOperand(scratch, SharedFunctionInfo::kNativeByteOffset), __ test_b(FieldOperand(scratch, SharedFunctionInfo::kNativeByteOffset),
1 << SharedFunctionInfo::kNativeBitWithinByte); 1 << SharedFunctionInfo::kNativeBitWithinByte);
__ j(not_equal, &receiver_ok, Label::kNear); __ j(not_equal, &receiver_ok);
// Normal function. Replace undefined or null with global receiver. // Normal function. Replace undefined or null with global receiver.
__ cmp(receiver, factory()->null_value()); __ cmp(receiver, factory()->null_value());
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment