OLD | NEW |
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 #include "src/v8.h" | 5 #include "src/v8.h" |
6 | 6 |
7 #if V8_TARGET_ARCH_PPC | 7 #if V8_TARGET_ARCH_PPC |
8 | 8 |
9 #include "src/codegen.h" | 9 #include "src/codegen.h" |
10 #include "src/debug.h" | 10 #include "src/debug.h" |
(...skipping 608 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
619 // need to increment the memento create count. | 619 // need to increment the memento create count. |
620 __ LoadP( | 620 __ LoadP( |
621 r6, FieldMemOperand(r5, AllocationSite::kPretenureCreateCountOffset)); | 621 r6, FieldMemOperand(r5, AllocationSite::kPretenureCreateCountOffset)); |
622 __ AddSmiLiteral(r6, r6, Smi::FromInt(1), r0); | 622 __ AddSmiLiteral(r6, r6, Smi::FromInt(1), r0); |
623 __ StoreP( | 623 __ StoreP( |
624 r6, FieldMemOperand(r5, AllocationSite::kPretenureCreateCountOffset), | 624 r6, FieldMemOperand(r5, AllocationSite::kPretenureCreateCountOffset), |
625 r0); | 625 r0); |
626 __ bind(&count_incremented); | 626 __ bind(&count_incremented); |
627 } | 627 } |
628 | 628 |
629 __ Pop(r4); | 629 __ pop(r4); // Constructor function. |
630 | 630 |
631 __ Push(r7, r7); | 631 __ Push(r7, r7); |
632 | 632 |
633 // Reload the number of arguments and the constructor from the stack. | 633 // Reload the number of arguments from the stack. |
634 // sp[0]: receiver | 634 // sp[0]: receiver |
635 // sp[1]: receiver | 635 // sp[1]: receiver |
636 // sp[2]: number of arguments (smi-tagged) | 636 // sp[2]: number of arguments (smi-tagged) |
637 __ LoadP(r6, MemOperand(sp, 2 * kPointerSize)); | 637 __ LoadP(r6, MemOperand(sp, 2 * kPointerSize)); |
638 | 638 |
639 // Set up pointer to last argument. | 639 // Set up pointer to last argument. |
640 __ addi(r5, fp, Operand(StandardFrameConstants::kCallerSPOffset)); | 640 __ addi(r5, fp, Operand(StandardFrameConstants::kCallerSPOffset)); |
641 | 641 |
642 // Set up number of arguments for function call below | 642 // Set up number of arguments for function call below |
643 __ SmiUntag(r3, r6); | 643 __ SmiUntag(r3, r6); |
(...skipping 1231 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1875 __ bkpt(0); | 1875 __ bkpt(0); |
1876 } | 1876 } |
1877 } | 1877 } |
1878 | 1878 |
1879 | 1879 |
1880 #undef __ | 1880 #undef __ |
1881 } // namespace internal | 1881 } // namespace internal |
1882 } // namespace v8 | 1882 } // namespace v8 |
1883 | 1883 |
1884 #endif // V8_TARGET_ARCH_PPC | 1884 #endif // V8_TARGET_ARCH_PPC |
OLD | NEW |