| OLD | NEW |
| 1 // Copyright 2011 the V8 project authors. All rights reserved. | 1 // Copyright 2011 the V8 project authors. All rights reserved. |
| 2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
| 3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
| 4 // met: | 4 // met: |
| 5 // | 5 // |
| 6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
| 7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
| 8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
| 9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
| 10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
| (...skipping 2106 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2117 LInstruction* DefineAsSpilled(LTemplateInstruction<1, I, T>* instr, | 2117 LInstruction* DefineAsSpilled(LTemplateInstruction<1, I, T>* instr, |
| 2118 int index); | 2118 int index); |
| 2119 template<int I, int T> | 2119 template<int I, int T> |
| 2120 LInstruction* DefineSameAsFirst(LTemplateInstruction<1, I, T>* instr); | 2120 LInstruction* DefineSameAsFirst(LTemplateInstruction<1, I, T>* instr); |
| 2121 template<int I, int T> | 2121 template<int I, int T> |
| 2122 LInstruction* DefineFixed(LTemplateInstruction<1, I, T>* instr, | 2122 LInstruction* DefineFixed(LTemplateInstruction<1, I, T>* instr, |
| 2123 Register reg); | 2123 Register reg); |
| 2124 template<int I, int T> | 2124 template<int I, int T> |
| 2125 LInstruction* DefineFixedDouble(LTemplateInstruction<1, I, T>* instr, | 2125 LInstruction* DefineFixedDouble(LTemplateInstruction<1, I, T>* instr, |
| 2126 XMMRegister reg); | 2126 XMMRegister reg); |
| 2127 // Assigns an environment to an instruction. An instruction which can |
| 2128 // deoptimize must have an environment. |
| 2127 LInstruction* AssignEnvironment(LInstruction* instr); | 2129 LInstruction* AssignEnvironment(LInstruction* instr); |
| 2130 // Assigns a pointer map to an instruction. An instruction which can |
| 2131 // trigger a GC or a lazy deoptimization must have a pointer map. |
| 2128 LInstruction* AssignPointerMap(LInstruction* instr); | 2132 LInstruction* AssignPointerMap(LInstruction* instr); |
| 2129 | 2133 |
| 2130 enum CanDeoptimize { CAN_DEOPTIMIZE_EAGERLY, CANNOT_DEOPTIMIZE_EAGERLY }; | 2134 enum CanDeoptimize { CAN_DEOPTIMIZE_EAGERLY, CANNOT_DEOPTIMIZE_EAGERLY }; |
| 2131 | 2135 |
| 2132 // By default we assume that instruction sequences generated for calls | 2136 // Marks a call for the register allocator. Assigns a pointer map to |
| 2133 // cannot deoptimize eagerly and we do not attach environment to this | 2137 // support GC and lazy deoptimization. Assigns an environment to support |
| 2134 // instruction. | 2138 // eager deoptimization if CAN_DEOPTIMIZE_EAGERLY. |
| 2135 LInstruction* MarkAsCall( | 2139 LInstruction* MarkAsCall( |
| 2136 LInstruction* instr, | 2140 LInstruction* instr, |
| 2137 HInstruction* hinstr, | 2141 HInstruction* hinstr, |
| 2138 CanDeoptimize can_deoptimize = CANNOT_DEOPTIMIZE_EAGERLY); | 2142 CanDeoptimize can_deoptimize = CANNOT_DEOPTIMIZE_EAGERLY); |
| 2139 LInstruction* MarkAsSaveDoubles(LInstruction* instr); | 2143 LInstruction* MarkAsSaveDoubles(LInstruction* instr); |
| 2140 | 2144 |
| 2141 LInstruction* SetInstructionPendingDeoptimizationEnvironment( | 2145 LInstruction* SetInstructionPendingDeoptimizationEnvironment( |
| 2142 LInstruction* instr, int ast_id); | 2146 LInstruction* instr, int ast_id); |
| 2143 void ClearInstructionPendingDeoptimizationEnvironment(); | 2147 void ClearInstructionPendingDeoptimizationEnvironment(); |
| 2144 | 2148 |
| (...skipping 24 matching lines...) Expand all Loading... |
| 2169 | 2173 |
| 2170 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); | 2174 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); |
| 2171 }; | 2175 }; |
| 2172 | 2176 |
| 2173 #undef DECLARE_HYDROGEN_ACCESSOR | 2177 #undef DECLARE_HYDROGEN_ACCESSOR |
| 2174 #undef DECLARE_CONCRETE_INSTRUCTION | 2178 #undef DECLARE_CONCRETE_INSTRUCTION |
| 2175 | 2179 |
| 2176 } } // namespace v8::int | 2180 } } // namespace v8::int |
| 2177 | 2181 |
| 2178 #endif // V8_X64_LITHIUM_X64_H_ | 2182 #endif // V8_X64_LITHIUM_X64_H_ |
| OLD | NEW |