Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(364)

Side by Side Diff: src/arm64/lithium-codegen-arm64.cc

Issue 352173006: Clean up the global object naming madness. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Addressed comments Created 6 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « src/arm64/full-codegen-arm64.cc ('k') | src/arm64/stub-cache-arm64.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 the V8 project authors. All rights reserved. 1 // Copyright 2013 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "src/v8.h" 5 #include "src/v8.h"
6 6
7 #include "src/arm64/lithium-codegen-arm64.h" 7 #include "src/arm64/lithium-codegen-arm64.h"
8 #include "src/arm64/lithium-gap-resolver-arm64.h" 8 #include "src/arm64/lithium-gap-resolver-arm64.h"
9 #include "src/code-stubs.h" 9 #include "src/code-stubs.h"
10 #include "src/hydrogen-osr.h" 10 #include "src/hydrogen-osr.h"
(...skipping 643 matching lines...) Expand 10 before | Expand all | Expand 10 after
654 // object). 654 // object).
655 if (info_->this_has_uses() && 655 if (info_->this_has_uses() &&
656 info_->strict_mode() == SLOPPY && 656 info_->strict_mode() == SLOPPY &&
657 !info_->is_native()) { 657 !info_->is_native()) {
658 Label ok; 658 Label ok;
659 int receiver_offset = info_->scope()->num_parameters() * kXRegSize; 659 int receiver_offset = info_->scope()->num_parameters() * kXRegSize;
660 __ Peek(x10, receiver_offset); 660 __ Peek(x10, receiver_offset);
661 __ JumpIfNotRoot(x10, Heap::kUndefinedValueRootIndex, &ok); 661 __ JumpIfNotRoot(x10, Heap::kUndefinedValueRootIndex, &ok);
662 662
663 __ Ldr(x10, GlobalObjectMemOperand()); 663 __ Ldr(x10, GlobalObjectMemOperand());
664 __ Ldr(x10, FieldMemOperand(x10, GlobalObject::kGlobalReceiverOffset)); 664 __ Ldr(x10, FieldMemOperand(x10, GlobalObject::kGlobalProxyOffset));
665 __ Poke(x10, receiver_offset); 665 __ Poke(x10, receiver_offset);
666 666
667 __ Bind(&ok); 667 __ Bind(&ok);
668 } 668 }
669 } 669 }
670 670
671 ASSERT(__ StackPointer().Is(jssp)); 671 ASSERT(__ StackPointer().Is(jssp));
672 info()->set_prologue_offset(masm_->pc_offset()); 672 info()->set_prologue_offset(masm_->pc_offset());
673 if (NeedsEagerFrame()) { 673 if (NeedsEagerFrame()) {
674 if (info()->IsStub()) { 674 if (info()->IsStub()) {
(...skipping 5267 matching lines...) Expand 10 before | Expand all | Expand 10 after
5942 5942
5943 // Deoptimize if the receiver is not a JS object. 5943 // Deoptimize if the receiver is not a JS object.
5944 DeoptimizeIfSmi(receiver, instr->environment()); 5944 DeoptimizeIfSmi(receiver, instr->environment());
5945 __ CompareObjectType(receiver, result, result, FIRST_SPEC_OBJECT_TYPE); 5945 __ CompareObjectType(receiver, result, result, FIRST_SPEC_OBJECT_TYPE);
5946 __ B(ge, &copy_receiver); 5946 __ B(ge, &copy_receiver);
5947 Deoptimize(instr->environment()); 5947 Deoptimize(instr->environment());
5948 5948
5949 __ Bind(&global_object); 5949 __ Bind(&global_object);
5950 __ Ldr(result, FieldMemOperand(function, JSFunction::kContextOffset)); 5950 __ Ldr(result, FieldMemOperand(function, JSFunction::kContextOffset));
5951 __ Ldr(result, ContextMemOperand(result, Context::GLOBAL_OBJECT_INDEX)); 5951 __ Ldr(result, ContextMemOperand(result, Context::GLOBAL_OBJECT_INDEX));
5952 __ Ldr(result, FieldMemOperand(result, GlobalObject::kGlobalReceiverOffset)); 5952 __ Ldr(result, FieldMemOperand(result, GlobalObject::kGlobalProxyOffset));
5953 __ B(&done); 5953 __ B(&done);
5954 5954
5955 __ Bind(&copy_receiver); 5955 __ Bind(&copy_receiver);
5956 __ Mov(result, receiver); 5956 __ Mov(result, receiver);
5957 __ Bind(&done); 5957 __ Bind(&done);
5958 } 5958 }
5959 5959
5960 5960
5961 void LCodeGen::DoDeferredLoadMutableDouble(LLoadFieldByIndex* instr, 5961 void LCodeGen::DoDeferredLoadMutableDouble(LLoadFieldByIndex* instr,
5962 Register result, 5962 Register result,
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
6043 Handle<ScopeInfo> scope_info = instr->scope_info(); 6043 Handle<ScopeInfo> scope_info = instr->scope_info();
6044 __ Push(scope_info); 6044 __ Push(scope_info);
6045 __ Push(ToRegister(instr->function())); 6045 __ Push(ToRegister(instr->function()));
6046 CallRuntime(Runtime::kPushBlockContext, 2, instr); 6046 CallRuntime(Runtime::kPushBlockContext, 2, instr);
6047 RecordSafepoint(Safepoint::kNoLazyDeopt); 6047 RecordSafepoint(Safepoint::kNoLazyDeopt);
6048 } 6048 }
6049 6049
6050 6050
6051 6051
6052 } } // namespace v8::internal 6052 } } // namespace v8::internal
OLDNEW
« no previous file with comments | « src/arm64/full-codegen-arm64.cc ('k') | src/arm64/stub-cache-arm64.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698