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

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

Issue 1460503008: [turbofan] Switch passing of new.target to register. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@local_turbofan-pass-new-target-6
Patch Set: Ported to MIPS64. 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
OLDNEW
1 // Copyright 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 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_IA32 5 #if V8_TARGET_ARCH_IA32
6 6
7 #include "src/crankshaft/ia32/lithium-codegen-ia32.h" 7 #include "src/crankshaft/ia32/lithium-codegen-ia32.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 3214 matching lines...) Expand 10 before | Expand all | Expand 10 after
3225 __ dec(length); 3225 __ dec(length);
3226 __ j(not_zero, &loop); 3226 __ j(not_zero, &loop);
3227 3227
3228 // Invoke the function. 3228 // Invoke the function.
3229 __ bind(&invoke); 3229 __ bind(&invoke);
3230 DCHECK(instr->HasPointerMap()); 3230 DCHECK(instr->HasPointerMap());
3231 LPointerMap* pointers = instr->pointer_map(); 3231 LPointerMap* pointers = instr->pointer_map();
3232 SafepointGenerator safepoint_generator( 3232 SafepointGenerator safepoint_generator(
3233 this, pointers, Safepoint::kLazyDeopt); 3233 this, pointers, Safepoint::kLazyDeopt);
3234 ParameterCount actual(eax); 3234 ParameterCount actual(eax);
3235 __ InvokeFunction(function, actual, CALL_FUNCTION, safepoint_generator); 3235 __ InvokeFunction(function, no_reg, actual, CALL_FUNCTION,
3236 safepoint_generator);
3236 } 3237 }
3237 3238
3238 3239
3239 void LCodeGen::DoDebugBreak(LDebugBreak* instr) { 3240 void LCodeGen::DoDebugBreak(LDebugBreak* instr) {
3240 __ int3(); 3241 __ int3();
3241 } 3242 }
3242 3243
3243 3244
3244 void LCodeGen::DoPushArgument(LPushArgument* instr) { 3245 void LCodeGen::DoPushArgument(LPushArgument* instr) {
3245 LOperand* argument = instr->value(); 3246 LOperand* argument = instr->value();
(...skipping 489 matching lines...) Expand 10 before | Expand all | Expand 10 after
3735 DCHECK(ToRegister(instr->context()).is(esi)); 3736 DCHECK(ToRegister(instr->context()).is(esi));
3736 DCHECK(ToRegister(instr->function()).is(edi)); 3737 DCHECK(ToRegister(instr->function()).is(edi));
3737 DCHECK(instr->HasPointerMap()); 3738 DCHECK(instr->HasPointerMap());
3738 3739
3739 Handle<JSFunction> known_function = instr->hydrogen()->known_function(); 3740 Handle<JSFunction> known_function = instr->hydrogen()->known_function();
3740 if (known_function.is_null()) { 3741 if (known_function.is_null()) {
3741 LPointerMap* pointers = instr->pointer_map(); 3742 LPointerMap* pointers = instr->pointer_map();
3742 SafepointGenerator generator( 3743 SafepointGenerator generator(
3743 this, pointers, Safepoint::kLazyDeopt); 3744 this, pointers, Safepoint::kLazyDeopt);
3744 ParameterCount count(instr->arity()); 3745 ParameterCount count(instr->arity());
3745 __ InvokeFunction(edi, count, CALL_FUNCTION, generator); 3746 __ InvokeFunction(edi, no_reg, count, CALL_FUNCTION, generator);
3746 } else { 3747 } else {
3747 CallKnownFunction(known_function, 3748 CallKnownFunction(known_function,
3748 instr->hydrogen()->formal_parameter_count(), 3749 instr->hydrogen()->formal_parameter_count(),
3749 instr->arity(), instr); 3750 instr->arity(), instr);
3750 } 3751 }
3751 } 3752 }
3752 3753
3753 3754
3754 void LCodeGen::DoCallFunction(LCallFunction* instr) { 3755 void LCodeGen::DoCallFunction(LCallFunction* instr) {
3755 DCHECK(ToRegister(instr->context()).is(esi)); 3756 DCHECK(ToRegister(instr->context()).is(esi));
(...skipping 1885 matching lines...) Expand 10 before | Expand all | Expand 10 after
5641 RecordSafepoint(Safepoint::kNoLazyDeopt); 5642 RecordSafepoint(Safepoint::kNoLazyDeopt);
5642 } 5643 }
5643 5644
5644 5645
5645 #undef __ 5646 #undef __
5646 5647
5647 } // namespace internal 5648 } // namespace internal
5648 } // namespace v8 5649 } // namespace v8
5649 5650
5650 #endif // V8_TARGET_ARCH_IA32 5651 #endif // V8_TARGET_ARCH_IA32
OLDNEW
« no previous file with comments | « src/crankshaft/arm64/lithium-codegen-arm64.cc ('k') | src/crankshaft/mips/lithium-codegen-mips.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698