Index: src/arm64/macro-assembler-arm64.cc |
diff --git a/src/arm64/macro-assembler-arm64.cc b/src/arm64/macro-assembler-arm64.cc |
index 586df33c4dfd9ef7e1b94ab692a0492f2e6d5f1f..a74021f96bbcfcbe97cdb180bc26bd813ae4c884 100644 |
--- a/src/arm64/macro-assembler-arm64.cc |
+++ b/src/arm64/macro-assembler-arm64.cc |
@@ -3587,35 +3587,10 @@ void MacroAssembler::GetMapConstructor(Register result, Register map, |
} |
-void MacroAssembler::TryGetFunctionPrototype(Register function, |
- Register result, |
- Register scratch, |
- Label* miss, |
- BoundFunctionAction action) { |
+void MacroAssembler::TryGetFunctionPrototype(Register function, Register result, |
+ Register scratch, Label* miss) { |
DCHECK(!AreAliased(function, result, scratch)); |
- Label non_instance; |
- if (action == kMissOnBoundFunction) { |
- // Check that the receiver isn't a smi. |
- JumpIfSmi(function, miss); |
- |
- // Check that the function really is a function. Load map into result reg. |
- JumpIfNotObjectType(function, result, scratch, JS_FUNCTION_TYPE, miss); |
- |
- Register scratch_w = scratch.W(); |
- Ldr(scratch, |
- FieldMemOperand(function, JSFunction::kSharedFunctionInfoOffset)); |
- // On 64-bit platforms, compiler hints field is not a smi. See definition of |
- // kCompilerHintsOffset in src/objects.h. |
- Ldr(scratch_w, |
- FieldMemOperand(scratch, SharedFunctionInfo::kCompilerHintsOffset)); |
- Tbnz(scratch, SharedFunctionInfo::kBoundFunction, miss); |
- |
- // Make sure that the function has an instance prototype. |
- Ldrb(scratch, FieldMemOperand(result, Map::kBitFieldOffset)); |
- Tbnz(scratch, Map::kHasNonInstancePrototype, &non_instance); |
- } |
- |
// Get the prototype or initial map from the function. |
Ldr(result, |
FieldMemOperand(function, JSFunction::kPrototypeOrInitialMapOffset)); |
@@ -3632,15 +3607,6 @@ void MacroAssembler::TryGetFunctionPrototype(Register function, |
// Get the prototype from the initial map. |
Ldr(result, FieldMemOperand(result, Map::kPrototypeOffset)); |
- if (action == kMissOnBoundFunction) { |
- B(&done); |
- |
- // Non-instance prototype: fetch prototype from constructor field in initial |
- // map. |
- Bind(&non_instance); |
- GetMapConstructor(result, result, scratch, scratch); |
- } |
- |
// All done. |
Bind(&done); |
} |
@@ -4441,24 +4407,6 @@ void MacroAssembler::JumpIfDictionaryInPrototypeChain( |
} |
-void MacroAssembler::GetRelocatedValueLocation(Register ldr_location, |
- Register result) { |
- DCHECK(!result.Is(ldr_location)); |
- const uint32_t kLdrLitOffset_lsb = 5; |
- const uint32_t kLdrLitOffset_width = 19; |
- Ldr(result, MemOperand(ldr_location)); |
- if (emit_debug_code()) { |
- And(result, result, LoadLiteralFMask); |
- Cmp(result, LoadLiteralFixed); |
- Check(eq, kTheInstructionToPatchShouldBeAnLdrLiteral); |
- // The instruction was clobbered. Reload it. |
- Ldr(result, MemOperand(ldr_location)); |
- } |
- Sbfx(result, result, kLdrLitOffset_lsb, kLdrLitOffset_width); |
- Add(result, ldr_location, Operand(result, LSL, kWordSizeInBytesLog2)); |
-} |
- |
- |
void MacroAssembler::EnsureNotWhite( |
Register value, |
Register bitmap_scratch, |