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

Side by Side Diff: src/x64/code-stubs-x64.cc

Issue 2686723004: [stubs] Port LoadFunctionPrototypeStub to CSA (Closed)
Patch Set: Created 3 years, 10 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
« no previous file with comments | « src/s390/macro-assembler-s390.cc ('k') | src/x64/macro-assembler-x64.h » ('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/code-stubs.h" 7 #include "src/code-stubs.h"
8 #include "src/api-arguments.h" 8 #include "src/api-arguments.h"
9 #include "src/bootstrapper.h" 9 #include "src/bootstrapper.h"
10 #include "src/codegen.h" 10 #include "src/codegen.h"
(...skipping 326 matching lines...) Expand 10 before | Expand all | Expand 10 after
337 __ CallCFunction(ExternalReference::power_double_double_function(isolate()), 337 __ CallCFunction(ExternalReference::power_double_double_function(isolate()),
338 2); 338 2);
339 } 339 }
340 // Return value is in xmm0. 340 // Return value is in xmm0.
341 __ Movsd(double_result, xmm0); 341 __ Movsd(double_result, xmm0);
342 342
343 __ bind(&done); 343 __ bind(&done);
344 __ ret(0); 344 __ ret(0);
345 } 345 }
346 346
347
348 void FunctionPrototypeStub::Generate(MacroAssembler* masm) {
349 Label miss;
350 Register receiver = LoadDescriptor::ReceiverRegister();
351 // Ensure that the vector and slot registers won't be clobbered before
352 // calling the miss handler.
353 DCHECK(!AreAliased(r8, r9, LoadWithVectorDescriptor::VectorRegister(),
354 LoadDescriptor::SlotRegister()));
355
356 NamedLoadHandlerCompiler::GenerateLoadFunctionPrototype(masm, receiver, r8,
357 r9, &miss);
358 __ bind(&miss);
359 PropertyAccessCompiler::TailCallBuiltin(
360 masm, PropertyAccessCompiler::MissBuiltin(Code::LOAD_IC));
361 }
362
363 void RegExpExecStub::Generate(MacroAssembler* masm) { 347 void RegExpExecStub::Generate(MacroAssembler* masm) {
364 // Just jump directly to runtime if native RegExp is not selected at compile 348 // Just jump directly to runtime if native RegExp is not selected at compile
365 // time or if regexp entry in generated code is turned off runtime switch or 349 // time or if regexp entry in generated code is turned off runtime switch or
366 // at compilation. 350 // at compilation.
367 #ifdef V8_INTERPRETED_REGEXP 351 #ifdef V8_INTERPRETED_REGEXP
368 __ TailCallRuntime(Runtime::kRegExpExec); 352 __ TailCallRuntime(Runtime::kRegExpExec);
369 #else // V8_INTERPRETED_REGEXP 353 #else // V8_INTERPRETED_REGEXP
370 354
371 // Stack frame on entry. 355 // Stack frame on entry.
372 // rsp[0] : return address 356 // rsp[0] : return address
(...skipping 2960 matching lines...) Expand 10 before | Expand all | Expand 10 after
3333 kStackUnwindSpace, nullptr, return_value_operand, 3317 kStackUnwindSpace, nullptr, return_value_operand,
3334 NULL); 3318 NULL);
3335 } 3319 }
3336 3320
3337 #undef __ 3321 #undef __
3338 3322
3339 } // namespace internal 3323 } // namespace internal
3340 } // namespace v8 3324 } // namespace v8
3341 3325
3342 #endif // V8_TARGET_ARCH_X64 3326 #endif // V8_TARGET_ARCH_X64
OLDNEW
« no previous file with comments | « src/s390/macro-assembler-s390.cc ('k') | src/x64/macro-assembler-x64.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698