| 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 |