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

Side by Side Diff: src/ppc/builtins-ppc.cc

Issue 1825083002: PPC: [es6] Faster implementation of OrdinaryHasInstance. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 4 years, 9 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 | « no previous file | src/ppc/code-stubs-ppc.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 2014 the V8 project authors. All rights reserved. 1 // Copyright 2014 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_PPC 5 #if V8_TARGET_ARCH_PPC
6 6
7 #include "src/codegen.h" 7 #include "src/codegen.h"
8 #include "src/debug/debug.h" 8 #include "src/debug/debug.h"
9 #include "src/deoptimizer.h" 9 #include "src/deoptimizer.h"
10 #include "src/full-codegen/full-codegen.h" 10 #include "src/full-codegen/full-codegen.h"
(...skipping 1478 matching lines...) Expand 10 before | Expand all | Expand 10 after
1489 __ CallCFunction( 1489 __ CallCFunction(
1490 ExternalReference::get_date_field_function(masm->isolate()), 2); 1490 ExternalReference::get_date_field_function(masm->isolate()), 2);
1491 } 1491 }
1492 __ Ret(); 1492 __ Ret();
1493 1493
1494 // 3. Raise a TypeError if the receiver is not a date. 1494 // 3. Raise a TypeError if the receiver is not a date.
1495 __ bind(&receiver_not_date); 1495 __ bind(&receiver_not_date);
1496 __ TailCallRuntime(Runtime::kThrowNotDateError); 1496 __ TailCallRuntime(Runtime::kThrowNotDateError);
1497 } 1497 }
1498 1498
1499 // static
1500 void Builtins::Generate_FunctionHasInstance(MacroAssembler* masm) {
1501 // ----------- S t a t e -------------
1502 // -- r3 : argc
1503 // -- sp[0] : first argument (left-hand side)
1504 // -- sp[4] : receiver (right-hand side)
1505 // -----------------------------------
1506
1507 {
1508 FrameScope scope(masm, StackFrame::INTERNAL);
1509 __ LoadP(InstanceOfDescriptor::LeftRegister(),
1510 MemOperand(fp, 2 * kPointerSize)); // Load left-hand side.
1511 __ LoadP(InstanceOfDescriptor::RightRegister(),
1512 MemOperand(fp, 3 * kPointerSize)); // Load right-hand side.
1513 InstanceOfStub stub(masm->isolate(), true);
1514 __ CallStub(&stub);
1515 }
1516
1517 // Pop the argument and the receiver.
1518 __ Ret(2);
1519 }
1499 1520
1500 // static 1521 // static
1501 void Builtins::Generate_FunctionPrototypeApply(MacroAssembler* masm) { 1522 void Builtins::Generate_FunctionPrototypeApply(MacroAssembler* masm) {
1502 // ----------- S t a t e ------------- 1523 // ----------- S t a t e -------------
1503 // -- r3 : argc 1524 // -- r3 : argc
1504 // -- sp[0] : argArray 1525 // -- sp[0] : argArray
1505 // -- sp[4] : thisArg 1526 // -- sp[4] : thisArg
1506 // -- sp[8] : receiver 1527 // -- sp[8] : receiver
1507 // ----------------------------------- 1528 // -----------------------------------
1508 1529
(...skipping 1052 matching lines...) Expand 10 before | Expand all | Expand 10 after
2561 __ bkpt(0); 2582 __ bkpt(0);
2562 } 2583 }
2563 } 2584 }
2564 2585
2565 2586
2566 #undef __ 2587 #undef __
2567 } // namespace internal 2588 } // namespace internal
2568 } // namespace v8 2589 } // namespace v8
2569 2590
2570 #endif // V8_TARGET_ARCH_PPC 2591 #endif // V8_TARGET_ARCH_PPC
OLDNEW
« no previous file with comments | « no previous file | src/ppc/code-stubs-ppc.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698