| Index: src/x64/lithium-codegen-x64.cc
|
| diff --git a/src/x64/lithium-codegen-x64.cc b/src/x64/lithium-codegen-x64.cc
|
| index 18b230539b1afc193841f3c9fdb588b77f6d6352..7bc61c8d6493132fffad41a40b28bb081113a198 100644
|
| --- a/src/x64/lithium-codegen-x64.cc
|
| +++ b/src/x64/lithium-codegen-x64.cc
|
| @@ -3018,16 +3018,6 @@ void LCodeGen::DoLoadFunctionPrototype(LLoadFunctionPrototype* instr) {
|
| Register function = ToRegister(instr->function());
|
| Register result = ToRegister(instr->result());
|
|
|
| - // Check that the function really is a function.
|
| - __ CmpObjectType(function, JS_FUNCTION_TYPE, result);
|
| - DeoptimizeIf(not_equal, instr->environment());
|
| -
|
| - // Check whether the function has an instance prototype.
|
| - Label non_instance;
|
| - __ testb(FieldOperand(result, Map::kBitFieldOffset),
|
| - Immediate(1 << Map::kHasNonInstancePrototype));
|
| - __ j(not_zero, &non_instance, Label::kNear);
|
| -
|
| // Get the prototype or initial map from the function.
|
| __ movp(result,
|
| FieldOperand(function, JSFunction::kPrototypeOrInitialMapOffset));
|
| @@ -3043,12 +3033,6 @@ void LCodeGen::DoLoadFunctionPrototype(LLoadFunctionPrototype* instr) {
|
|
|
| // Get the prototype from the initial map.
|
| __ movp(result, FieldOperand(result, Map::kPrototypeOffset));
|
| - __ jmp(&done, Label::kNear);
|
| -
|
| - // Non-instance prototype: Fetch prototype from constructor field
|
| - // in the function's map.
|
| - __ bind(&non_instance);
|
| - __ movp(result, FieldOperand(result, Map::kConstructorOffset));
|
|
|
| // All done.
|
| __ bind(&done);
|
|
|