| 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 #ifndef V8_PPC_MACRO_ASSEMBLER_PPC_H_ | 5 #ifndef V8_PPC_MACRO_ASSEMBLER_PPC_H_ |
| 6 #define V8_PPC_MACRO_ASSEMBLER_PPC_H_ | 6 #define V8_PPC_MACRO_ASSEMBLER_PPC_H_ |
| 7 | 7 |
| 8 #include "src/assembler.h" | 8 #include "src/assembler.h" |
| 9 #include "src/bailout-reason.h" | 9 #include "src/bailout-reason.h" |
| 10 #include "src/frames.h" | 10 #include "src/frames.h" |
| (...skipping 533 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 544 void ResetRoundingMode(); | 544 void ResetRoundingMode(); |
| 545 | 545 |
| 546 // These exist to provide portability between 32 and 64bit | 546 // These exist to provide portability between 32 and 64bit |
| 547 void LoadP(Register dst, const MemOperand& mem, Register scratch = no_reg); | 547 void LoadP(Register dst, const MemOperand& mem, Register scratch = no_reg); |
| 548 void StoreP(Register src, const MemOperand& mem, Register scratch = no_reg); | 548 void StoreP(Register src, const MemOperand& mem, Register scratch = no_reg); |
| 549 | 549 |
| 550 // --------------------------------------------------------------------------- | 550 // --------------------------------------------------------------------------- |
| 551 // JavaScript invokes | 551 // JavaScript invokes |
| 552 | 552 |
| 553 // Invoke the JavaScript function code by either calling or jumping. | 553 // Invoke the JavaScript function code by either calling or jumping. |
| 554 void InvokeCode(Register code, Register new_target, | 554 void InvokeFunctionCode(Register function, Register new_target, |
| 555 const ParameterCount& expected, const ParameterCount& actual, | 555 const ParameterCount& expected, |
| 556 InvokeFlag flag, const CallWrapper& call_wrapper); | 556 const ParameterCount& actual, InvokeFlag flag, |
| 557 const CallWrapper& call_wrapper); |
| 557 | 558 |
| 558 // Invoke the JavaScript function in the given register. Changes the | 559 // Invoke the JavaScript function in the given register. Changes the |
| 559 // current context to the context in the function before invoking. | 560 // current context to the context in the function before invoking. |
| 560 void InvokeFunction(Register function, Register new_target, | 561 void InvokeFunction(Register function, Register new_target, |
| 561 const ParameterCount& actual, InvokeFlag flag, | 562 const ParameterCount& actual, InvokeFlag flag, |
| 562 const CallWrapper& call_wrapper); | 563 const CallWrapper& call_wrapper); |
| 563 | 564 |
| 564 void InvokeFunction(Register function, const ParameterCount& expected, | 565 void InvokeFunction(Register function, const ParameterCount& expected, |
| 565 const ParameterCount& actual, InvokeFlag flag, | 566 const ParameterCount& actual, InvokeFlag flag, |
| 566 const CallWrapper& call_wrapper); | 567 const CallWrapper& call_wrapper); |
| (...skipping 920 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1487 | 1488 |
| 1488 void Jump(intptr_t target, RelocInfo::Mode rmode, Condition cond = al, | 1489 void Jump(intptr_t target, RelocInfo::Mode rmode, Condition cond = al, |
| 1489 CRegister cr = cr7); | 1490 CRegister cr = cr7); |
| 1490 | 1491 |
| 1491 // Helper functions for generating invokes. | 1492 // Helper functions for generating invokes. |
| 1492 void InvokePrologue(const ParameterCount& expected, | 1493 void InvokePrologue(const ParameterCount& expected, |
| 1493 const ParameterCount& actual, Label* done, | 1494 const ParameterCount& actual, Label* done, |
| 1494 bool* definitely_mismatches, InvokeFlag flag, | 1495 bool* definitely_mismatches, InvokeFlag flag, |
| 1495 const CallWrapper& call_wrapper); | 1496 const CallWrapper& call_wrapper); |
| 1496 | 1497 |
| 1498 void FloodFunctionIfStepping(Register fun, Register new_target, |
| 1499 const ParameterCount& expected, |
| 1500 const ParameterCount& actual); |
| 1501 |
| 1497 void InitializeNewString(Register string, Register length, | 1502 void InitializeNewString(Register string, Register length, |
| 1498 Heap::RootListIndex map_index, Register scratch1, | 1503 Heap::RootListIndex map_index, Register scratch1, |
| 1499 Register scratch2); | 1504 Register scratch2); |
| 1500 | 1505 |
| 1501 // Helper for implementing JumpIfNotInNewSpace and JumpIfInNewSpace. | 1506 // Helper for implementing JumpIfNotInNewSpace and JumpIfInNewSpace. |
| 1502 void InNewSpace(Register object, Register scratch, | 1507 void InNewSpace(Register object, Register scratch, |
| 1503 Condition cond, // eq for new space, ne otherwise. | 1508 Condition cond, // eq for new space, ne otherwise. |
| 1504 Label* branch); | 1509 Label* branch); |
| 1505 | 1510 |
| 1506 // Helper for finding the mark bits for an address. Afterwards, the | 1511 // Helper for finding the mark bits for an address. Afterwards, the |
| (...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1579 #define ACCESS_MASM(masm) \ | 1584 #define ACCESS_MASM(masm) \ |
| 1580 masm->stop(__FILE_LINE__); \ | 1585 masm->stop(__FILE_LINE__); \ |
| 1581 masm-> | 1586 masm-> |
| 1582 #else | 1587 #else |
| 1583 #define ACCESS_MASM(masm) masm-> | 1588 #define ACCESS_MASM(masm) masm-> |
| 1584 #endif | 1589 #endif |
| 1585 } // namespace internal | 1590 } // namespace internal |
| 1586 } // namespace v8 | 1591 } // namespace v8 |
| 1587 | 1592 |
| 1588 #endif // V8_PPC_MACRO_ASSEMBLER_PPC_H_ | 1593 #endif // V8_PPC_MACRO_ASSEMBLER_PPC_H_ |
| OLD | NEW |