| Index: src/x87/macro-assembler-x87.cc
|
| diff --git a/src/x87/macro-assembler-x87.cc b/src/x87/macro-assembler-x87.cc
|
| index 95df94e06f52df980e266c7a7d9b623f13c035c3..e20fe7cec0386a5f8ba42f6f7efd7ca2728fb56f 100644
|
| --- a/src/x87/macro-assembler-x87.cc
|
| +++ b/src/x87/macro-assembler-x87.cc
|
| @@ -1224,79 +1224,6 @@ void MacroAssembler::PopStackHandler() {
|
| }
|
|
|
|
|
| -void MacroAssembler::CheckAccessGlobalProxy(Register holder_reg,
|
| - Register scratch1,
|
| - Register scratch2,
|
| - Label* miss) {
|
| - Label same_contexts;
|
| -
|
| - DCHECK(!holder_reg.is(scratch1));
|
| - DCHECK(!holder_reg.is(scratch2));
|
| - DCHECK(!scratch1.is(scratch2));
|
| -
|
| - // Load current lexical context from the active StandardFrame, which
|
| - // may require crawling past STUB frames.
|
| - Label load_context;
|
| - Label has_context;
|
| - mov(scratch2, ebp);
|
| - bind(&load_context);
|
| - mov(scratch1,
|
| - MemOperand(scratch2, CommonFrameConstants::kContextOrFrameTypeOffset));
|
| - JumpIfNotSmi(scratch1, &has_context);
|
| - mov(scratch2, MemOperand(scratch2, CommonFrameConstants::kCallerFPOffset));
|
| - jmp(&load_context);
|
| - bind(&has_context);
|
| -
|
| - // When generating debug code, make sure the lexical context is set.
|
| - if (emit_debug_code()) {
|
| - cmp(scratch1, Immediate(0));
|
| - Check(not_equal, kWeShouldNotHaveAnEmptyLexicalContext);
|
| - }
|
| - // Load the native context of the current context.
|
| - mov(scratch1, ContextOperand(scratch1, Context::NATIVE_CONTEXT_INDEX));
|
| -
|
| - // Check the context is a native context.
|
| - if (emit_debug_code()) {
|
| - // Read the first word and compare to native_context_map.
|
| - cmp(FieldOperand(scratch1, HeapObject::kMapOffset),
|
| - isolate()->factory()->native_context_map());
|
| - Check(equal, kJSGlobalObjectNativeContextShouldBeANativeContext);
|
| - }
|
| -
|
| - // Check if both contexts are the same.
|
| - cmp(scratch1, FieldOperand(holder_reg, JSGlobalProxy::kNativeContextOffset));
|
| - j(equal, &same_contexts);
|
| -
|
| - // Compare security tokens, save holder_reg on the stack so we can use it
|
| - // as a temporary register.
|
| - //
|
| - // Check that the security token in the calling global object is
|
| - // compatible with the security token in the receiving global
|
| - // object.
|
| - mov(scratch2,
|
| - FieldOperand(holder_reg, JSGlobalProxy::kNativeContextOffset));
|
| -
|
| - // Check the context is a native context.
|
| - if (emit_debug_code()) {
|
| - cmp(scratch2, isolate()->factory()->null_value());
|
| - Check(not_equal, kJSGlobalProxyContextShouldNotBeNull);
|
| -
|
| - // Read the first word and compare to native_context_map(),
|
| - cmp(FieldOperand(scratch2, HeapObject::kMapOffset),
|
| - isolate()->factory()->native_context_map());
|
| - Check(equal, kJSGlobalObjectNativeContextShouldBeANativeContext);
|
| - }
|
| -
|
| - int token_offset = Context::kHeaderSize +
|
| - Context::SECURITY_TOKEN_INDEX * kPointerSize;
|
| - mov(scratch1, FieldOperand(scratch1, token_offset));
|
| - cmp(scratch1, FieldOperand(scratch2, token_offset));
|
| - j(not_equal, miss);
|
| -
|
| - 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
|
|
|