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 2230 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2241 LInstruction* DefineAsSpilled(LTemplateInstruction<1, I, T>* instr, | 2241 LInstruction* DefineAsSpilled(LTemplateInstruction<1, I, T>* instr, |
2242 int index); | 2242 int index); |
2243 template<int I, int T> | 2243 template<int I, int T> |
2244 LInstruction* DefineSameAsFirst(LTemplateInstruction<1, I, T>* instr); | 2244 LInstruction* DefineSameAsFirst(LTemplateInstruction<1, I, T>* instr); |
2245 template<int I, int T> | 2245 template<int I, int T> |
2246 LInstruction* DefineFixed(LTemplateInstruction<1, I, T>* instr, | 2246 LInstruction* DefineFixed(LTemplateInstruction<1, I, T>* instr, |
2247 Register reg); | 2247 Register reg); |
2248 template<int I, int T> | 2248 template<int I, int T> |
2249 LInstruction* DefineFixedDouble(LTemplateInstruction<1, I, T>* instr, | 2249 LInstruction* DefineFixedDouble(LTemplateInstruction<1, I, T>* instr, |
2250 XMMRegister reg); | 2250 XMMRegister reg); |
| 2251 // Must be called for any instruction that can deoptimize (unless |
| 2252 // |MarkAsCall| is called with CAN_DEOPTIMIZE_EAGERLY, which implies this). |
2251 LInstruction* AssignEnvironment(LInstruction* instr); | 2253 LInstruction* AssignEnvironment(LInstruction* instr); |
| 2254 // Must be called for any instruction that can trigger a GC (unless |
| 2255 // |MarkAsCall| is called, which implies this). |
2252 LInstruction* AssignPointerMap(LInstruction* instr); | 2256 LInstruction* AssignPointerMap(LInstruction* instr); |
2253 | 2257 |
2254 enum CanDeoptimize { CAN_DEOPTIMIZE_EAGERLY, CANNOT_DEOPTIMIZE_EAGERLY }; | 2258 enum CanDeoptimize { CAN_DEOPTIMIZE_EAGERLY, CANNOT_DEOPTIMIZE_EAGERLY }; |
2255 | 2259 |
2256 // By default we assume that instruction sequences generated for calls | 2260 // By default we assume that instruction sequences generated for calls |
2257 // cannot deoptimize eagerly and we do not attach environment to this | 2261 // cannot deoptimize eagerly and we do not attach environment to this |
2258 // instruction. | 2262 // instruction. |
2259 LInstruction* MarkAsCall( | 2263 LInstruction* MarkAsCall( |
2260 LInstruction* instr, | 2264 LInstruction* instr, |
2261 HInstruction* hinstr, | 2265 HInstruction* hinstr, |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2293 | 2297 |
2294 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); | 2298 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); |
2295 }; | 2299 }; |
2296 | 2300 |
2297 #undef DECLARE_HYDROGEN_ACCESSOR | 2301 #undef DECLARE_HYDROGEN_ACCESSOR |
2298 #undef DECLARE_CONCRETE_INSTRUCTION | 2302 #undef DECLARE_CONCRETE_INSTRUCTION |
2299 | 2303 |
2300 } } // namespace v8::internal | 2304 } } // namespace v8::internal |
2301 | 2305 |
2302 #endif // V8_IA32_LITHIUM_IA32_H_ | 2306 #endif // V8_IA32_LITHIUM_IA32_H_ |
OLD | NEW |