Index: src/mips/code-stubs-mips.cc |
diff --git a/src/mips/code-stubs-mips.cc b/src/mips/code-stubs-mips.cc |
index 36760477e467a91569e599cff17c12736b971bc8..8939c7bc36fd4d7ac5b9e8d7515e832e6cc5a5a2 100644 |
--- a/src/mips/code-stubs-mips.cc |
+++ b/src/mips/code-stubs-mips.cc |
@@ -1472,6 +1472,15 @@ |
__ And(at, scratch, Operand(1 << Map::kHasNonInstancePrototype)); |
__ Branch(&slow_case, ne, at, Operand(zero_reg)); |
+ // Ensure that {function} is not bound. |
+ Register const shared_info = scratch; |
+ __ lw(shared_info, |
+ FieldMemOperand(function, JSFunction::kSharedFunctionInfoOffset)); |
+ __ lbu(scratch, |
+ FieldMemOperand(shared_info, SharedFunctionInfo::kBoundByteOffset)); |
+ __ And(at, scratch, Operand(1 << SharedFunctionInfo::kBoundBitWithinByte)); |
+ __ Branch(&slow_case, ne, at, Operand(zero_reg)); |
+ |
// Get the "prototype" (or initial map) of the {function}. |
__ lw(function_prototype, |
FieldMemOperand(function, JSFunction::kPrototypeOrInitialMapOffset)); |