| OLD | NEW |
| 1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 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_MIPS_MACRO_ASSEMBLER_MIPS_H_ | 5 #ifndef V8_MIPS_MACRO_ASSEMBLER_MIPS_H_ |
| 6 #define V8_MIPS_MACRO_ASSEMBLER_MIPS_H_ | 6 #define V8_MIPS_MACRO_ASSEMBLER_MIPS_H_ |
| 7 | 7 |
| 8 #include "src/assembler.h" | 8 #include "src/assembler.h" |
| 9 #include "src/globals.h" | 9 #include "src/globals.h" |
| 10 #include "src/mips/assembler-mips.h" | 10 #include "src/mips/assembler-mips.h" |
| (...skipping 1023 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1034 // Machine code version of Map::GetConstructor(). | 1034 // Machine code version of Map::GetConstructor(). |
| 1035 // |temp| holds |result|'s map when done, and |temp2| its instance type. | 1035 // |temp| holds |result|'s map when done, and |temp2| its instance type. |
| 1036 void GetMapConstructor(Register result, Register map, Register temp, | 1036 void GetMapConstructor(Register result, Register map, Register temp, |
| 1037 Register temp2); | 1037 Register temp2); |
| 1038 | 1038 |
| 1039 // Try to get function prototype of a function and puts the value in | 1039 // Try to get function prototype of a function and puts the value in |
| 1040 // the result register. Checks that the function really is a | 1040 // the result register. Checks that the function really is a |
| 1041 // function and jumps to the miss label if the fast checks fail. The | 1041 // function and jumps to the miss label if the fast checks fail. The |
| 1042 // function register will be untouched; the other registers may be | 1042 // function register will be untouched; the other registers may be |
| 1043 // clobbered. | 1043 // clobbered. |
| 1044 void TryGetFunctionPrototype(Register function, | 1044 void TryGetFunctionPrototype(Register function, Register result, |
| 1045 Register result, | 1045 Register scratch, Label* miss); |
| 1046 Register scratch, | |
| 1047 Label* miss, | |
| 1048 bool miss_on_bound_function = false); | |
| 1049 | 1046 |
| 1050 void GetObjectType(Register function, | 1047 void GetObjectType(Register function, |
| 1051 Register map, | 1048 Register map, |
| 1052 Register type_reg); | 1049 Register type_reg); |
| 1053 | 1050 |
| 1054 // Check if a map for a JSObject indicates that the object has fast elements. | 1051 // Check if a map for a JSObject indicates that the object has fast elements. |
| 1055 // Jump to the specified label if it does not. | 1052 // Jump to the specified label if it does not. |
| 1056 void CheckFastElements(Register map, | 1053 void CheckFastElements(Register map, |
| 1057 Register scratch, | 1054 Register scratch, |
| 1058 Label* fail); | 1055 Label* fail); |
| (...skipping 532 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1591 | 1588 |
| 1592 // Generates function and stub prologue code. | 1589 // Generates function and stub prologue code. |
| 1593 void StubPrologue(); | 1590 void StubPrologue(); |
| 1594 void Prologue(bool code_pre_aging); | 1591 void Prologue(bool code_pre_aging); |
| 1595 | 1592 |
| 1596 // Activation support. | 1593 // Activation support. |
| 1597 void EnterFrame(StackFrame::Type type); | 1594 void EnterFrame(StackFrame::Type type); |
| 1598 void EnterFrame(StackFrame::Type type, bool load_constant_pool_pointer_reg); | 1595 void EnterFrame(StackFrame::Type type, bool load_constant_pool_pointer_reg); |
| 1599 void LeaveFrame(StackFrame::Type type); | 1596 void LeaveFrame(StackFrame::Type type); |
| 1600 | 1597 |
| 1601 // Patch the relocated value (lui/ori pair). | |
| 1602 void PatchRelocatedValue(Register li_location, | |
| 1603 Register scratch, | |
| 1604 Register new_value); | |
| 1605 // Get the relocatad value (loaded data) from the lui/ori pair. | |
| 1606 void GetRelocatedValue(Register li_location, | |
| 1607 Register value, | |
| 1608 Register scratch); | |
| 1609 | |
| 1610 // Expects object in a0 and returns map with validated enum cache | 1598 // Expects object in a0 and returns map with validated enum cache |
| 1611 // in a0. Assumes that any other register can be used as a scratch. | 1599 // in a0. Assumes that any other register can be used as a scratch. |
| 1612 void CheckEnumCache(Register null_value, Label* call_runtime); | 1600 void CheckEnumCache(Register null_value, Label* call_runtime); |
| 1613 | 1601 |
| 1614 // AllocationMemento support. Arrays may have an associated | 1602 // AllocationMemento support. Arrays may have an associated |
| 1615 // AllocationMemento object that can be checked for in order to pretransition | 1603 // AllocationMemento object that can be checked for in order to pretransition |
| 1616 // to another type. | 1604 // to another type. |
| 1617 // On entry, receiver_reg should point to the array object. | 1605 // On entry, receiver_reg should point to the array object. |
| 1618 // scratch_reg gets clobbered. | 1606 // scratch_reg gets clobbered. |
| 1619 // If allocation info is present, jump to allocation_memento_present. | 1607 // If allocation info is present, jump to allocation_memento_present. |
| (...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1756 #define CODE_COVERAGE_TOSTRING(x) CODE_COVERAGE_STRINGIFY(x) | 1744 #define CODE_COVERAGE_TOSTRING(x) CODE_COVERAGE_STRINGIFY(x) |
| 1757 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) | 1745 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) |
| 1758 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> | 1746 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> |
| 1759 #else | 1747 #else |
| 1760 #define ACCESS_MASM(masm) masm-> | 1748 #define ACCESS_MASM(masm) masm-> |
| 1761 #endif | 1749 #endif |
| 1762 | 1750 |
| 1763 } } // namespace v8::internal | 1751 } } // namespace v8::internal |
| 1764 | 1752 |
| 1765 #endif // V8_MIPS_MACRO_ASSEMBLER_MIPS_H_ | 1753 #endif // V8_MIPS_MACRO_ASSEMBLER_MIPS_H_ |
| OLD | NEW |