| 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 734 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 745 Register end_address, Register filler); | 745 Register end_address, Register filler); |
| 746 | 746 |
| 747 // --------------------------------------------------------------------------- | 747 // --------------------------------------------------------------------------- |
| 748 // Support functions. | 748 // Support functions. |
| 749 | 749 |
| 750 // Machine code version of Map::GetConstructor(). | 750 // Machine code version of Map::GetConstructor(). |
| 751 // |temp| holds |result|'s map when done, and |temp2| its instance type. | 751 // |temp| holds |result|'s map when done, and |temp2| its instance type. |
| 752 void GetMapConstructor(Register result, Register map, Register temp, | 752 void GetMapConstructor(Register result, Register map, Register temp, |
| 753 Register temp2); | 753 Register temp2); |
| 754 | 754 |
| 755 // Try to get function prototype of a function and puts the value in | |
| 756 // the result register. Checks that the function really is a | |
| 757 // function and jumps to the miss label if the fast checks fail. The | |
| 758 // function register will be untouched; the other registers may be | |
| 759 // clobbered. | |
| 760 void TryGetFunctionPrototype(Register function, Register result, | |
| 761 Register scratch, Label* miss); | |
| 762 | |
| 763 // Compare object type for heap object. heap_object contains a non-Smi | 755 // Compare object type for heap object. heap_object contains a non-Smi |
| 764 // whose object type should be compared with the given type. This both | 756 // whose object type should be compared with the given type. This both |
| 765 // sets the flags and leaves the object type in the type_reg register. | 757 // sets the flags and leaves the object type in the type_reg register. |
| 766 // It leaves the map in the map register (unless the type_reg and map register | 758 // It leaves the map in the map register (unless the type_reg and map register |
| 767 // are the same register). It leaves the heap object in the heap_object | 759 // are the same register). It leaves the heap object in the heap_object |
| 768 // register unless the heap_object register is the same register as one of the | 760 // register unless the heap_object register is the same register as one of the |
| 769 // other registers. | 761 // other registers. |
| 770 // Type_reg can be no_reg. In that case ip is used. | 762 // Type_reg can be no_reg. In that case ip is used. |
| 771 void CompareObjectType(Register heap_object, Register map, Register type_reg, | 763 void CompareObjectType(Register heap_object, Register map, Register type_reg, |
| 772 InstanceType type); | 764 InstanceType type); |
| (...skipping 803 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1576 inline MemOperand NativeContextMemOperand() { | 1568 inline MemOperand NativeContextMemOperand() { |
| 1577 return ContextMemOperand(cp, Context::NATIVE_CONTEXT_INDEX); | 1569 return ContextMemOperand(cp, Context::NATIVE_CONTEXT_INDEX); |
| 1578 } | 1570 } |
| 1579 | 1571 |
| 1580 #define ACCESS_MASM(masm) masm-> | 1572 #define ACCESS_MASM(masm) masm-> |
| 1581 | 1573 |
| 1582 } // namespace internal | 1574 } // namespace internal |
| 1583 } // namespace v8 | 1575 } // namespace v8 |
| 1584 | 1576 |
| 1585 #endif // V8_PPC_MACRO_ASSEMBLER_PPC_H_ | 1577 #endif // V8_PPC_MACRO_ASSEMBLER_PPC_H_ |
| OLD | NEW |