Index: src/arm64/macro-assembler-arm64.cc |
diff --git a/src/arm64/macro-assembler-arm64.cc b/src/arm64/macro-assembler-arm64.cc |
index 33b6287dac8f58cb0dcae7e20062f01a6ab25454..a53090aa2e799b8d513919936831e48f9419dfc7 100644 |
--- a/src/arm64/macro-assembler-arm64.cc |
+++ b/src/arm64/macro-assembler-arm64.cc |
@@ -3753,79 +3753,6 @@ void MacroAssembler::EmitSeqStringSetCharCheck( |
} |
-void MacroAssembler::CheckAccessGlobalProxy(Register holder_reg, |
- Register scratch1, |
- Register scratch2, |
- Label* miss) { |
- DCHECK(!AreAliased(holder_reg, scratch1, scratch2)); |
- Label same_contexts; |
- |
- // Load current lexical context from the active StandardFrame, which |
- // may require crawling past STUB frames. |
- Label load_context; |
- Label has_context; |
- Mov(scratch2, fp); |
- bind(&load_context); |
- Ldr(scratch1, |
- MemOperand(scratch2, CommonFrameConstants::kContextOrFrameTypeOffset)); |
- JumpIfNotSmi(scratch1, &has_context); |
- Ldr(scratch2, MemOperand(scratch2, CommonFrameConstants::kCallerFPOffset)); |
- B(&load_context); |
- bind(&has_context); |
- |
- // In debug mode, make sure the lexical context is set. |
-#ifdef DEBUG |
- Cmp(scratch1, 0); |
- Check(ne, kWeShouldNotHaveAnEmptyLexicalContext); |
-#endif |
- |
- // Load the native context of the current context. |
- Ldr(scratch1, ContextMemOperand(scratch1, Context::NATIVE_CONTEXT_INDEX)); |
- |
- // Check the context is a native context. |
- if (emit_debug_code()) { |
- // Read the first word and compare to the native_context_map. |
- Ldr(scratch2, FieldMemOperand(scratch1, HeapObject::kMapOffset)); |
- CompareRoot(scratch2, Heap::kNativeContextMapRootIndex); |
- Check(eq, kExpectedNativeContext); |
- } |
- |
- // Check if both contexts are the same. |
- Ldr(scratch2, FieldMemOperand(holder_reg, |
- JSGlobalProxy::kNativeContextOffset)); |
- Cmp(scratch1, scratch2); |
- B(&same_contexts, eq); |
- |
- // Check the context is a native context. |
- if (emit_debug_code()) { |
- // We're short on scratch registers here, so use holder_reg as a scratch. |
- Push(holder_reg); |
- Register scratch3 = holder_reg; |
- |
- CompareRoot(scratch2, Heap::kNullValueRootIndex); |
- Check(ne, kExpectedNonNullContext); |
- |
- Ldr(scratch3, FieldMemOperand(scratch2, HeapObject::kMapOffset)); |
- CompareRoot(scratch3, Heap::kNativeContextMapRootIndex); |
- Check(eq, kExpectedNativeContext); |
- Pop(holder_reg); |
- } |
- |
- // Check that the security token in the calling global object is |
- // compatible with the security token in the receiving global |
- // object. |
- int token_offset = Context::kHeaderSize + |
- Context::SECURITY_TOKEN_INDEX * kPointerSize; |
- |
- Ldr(scratch1, FieldMemOperand(scratch1, token_offset)); |
- Ldr(scratch2, FieldMemOperand(scratch2, token_offset)); |
- Cmp(scratch1, scratch2); |
- B(miss, ne); |
- |
- Bind(&same_contexts); |
-} |
- |
- |
// Compute the hash code from the untagged key. This must be kept in sync with |
// ComputeIntegerHash in utils.h and KeyedLoadGenericStub in |
// code-stub-hydrogen.cc |