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

Side by Side Diff: src/crankshaft/x64/lithium-codegen-x64.cc

Issue 1480003002: [runtime] Replace global object link with native context link in all contexts. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Add patch from Orion for interpreter cementation test. Disable obsolete/invalid tests. Created 5 years 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
« no previous file with comments | « src/crankshaft/mips64/lithium-codegen-mips64.cc ('k') | src/factory.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 #if V8_TARGET_ARCH_X64 5 #if V8_TARGET_ARCH_X64
6 6
7 #include "src/crankshaft/x64/lithium-codegen-x64.h" 7 #include "src/crankshaft/x64/lithium-codegen-x64.h"
8 8
9 #include "src/base/bits.h" 9 #include "src/base/bits.h"
10 #include "src/code-factory.h" 10 #include "src/code-factory.h"
(...skipping 3248 matching lines...) Expand 10 before | Expand all | Expand 10 after
3259 3259
3260 // The receiver should be a JS object. 3260 // The receiver should be a JS object.
3261 Condition is_smi = __ CheckSmi(receiver); 3261 Condition is_smi = __ CheckSmi(receiver);
3262 DeoptimizeIf(is_smi, instr, Deoptimizer::kSmi); 3262 DeoptimizeIf(is_smi, instr, Deoptimizer::kSmi);
3263 __ CmpObjectType(receiver, FIRST_SPEC_OBJECT_TYPE, kScratchRegister); 3263 __ CmpObjectType(receiver, FIRST_SPEC_OBJECT_TYPE, kScratchRegister);
3264 DeoptimizeIf(below, instr, Deoptimizer::kNotAJavaScriptObject); 3264 DeoptimizeIf(below, instr, Deoptimizer::kNotAJavaScriptObject);
3265 3265
3266 __ jmp(&receiver_ok, Label::kNear); 3266 __ jmp(&receiver_ok, Label::kNear);
3267 __ bind(&global_object); 3267 __ bind(&global_object);
3268 __ movp(receiver, FieldOperand(function, JSFunction::kContextOffset)); 3268 __ movp(receiver, FieldOperand(function, JSFunction::kContextOffset));
3269 __ movp(receiver, 3269 __ movp(receiver, ContextOperand(receiver, Context::NATIVE_CONTEXT_INDEX));
3270 Operand(receiver, 3270 __ movp(receiver, ContextOperand(receiver, Context::GLOBAL_PROXY_INDEX));
3271 Context::SlotOffset(Context::GLOBAL_OBJECT_INDEX)));
3272 __ movp(receiver, FieldOperand(receiver, JSGlobalObject::kGlobalProxyOffset));
3273 3271
3274 __ bind(&receiver_ok); 3272 __ bind(&receiver_ok);
3275 } 3273 }
3276 3274
3277 3275
3278 void LCodeGen::DoApplyArguments(LApplyArguments* instr) { 3276 void LCodeGen::DoApplyArguments(LApplyArguments* instr) {
3279 Register receiver = ToRegister(instr->receiver()); 3277 Register receiver = ToRegister(instr->receiver());
3280 Register function = ToRegister(instr->function()); 3278 Register function = ToRegister(instr->function());
3281 Register length = ToRegister(instr->length()); 3279 Register length = ToRegister(instr->length());
3282 Register elements = ToRegister(instr->elements()); 3280 Register elements = ToRegister(instr->elements());
(...skipping 2507 matching lines...) Expand 10 before | Expand all | Expand 10 after
5790 RecordSafepoint(Safepoint::kNoLazyDeopt); 5788 RecordSafepoint(Safepoint::kNoLazyDeopt);
5791 } 5789 }
5792 5790
5793 5791
5794 #undef __ 5792 #undef __
5795 5793
5796 } // namespace internal 5794 } // namespace internal
5797 } // namespace v8 5795 } // namespace v8
5798 5796
5799 #endif // V8_TARGET_ARCH_X64 5797 #endif // V8_TARGET_ARCH_X64
OLDNEW
« no previous file with comments | « src/crankshaft/mips64/lithium-codegen-mips64.cc ('k') | src/factory.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698