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 2117 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2128 LInstruction* DefineAsSpilled(LTemplateInstruction<1, I, T>* instr, | 2128 LInstruction* DefineAsSpilled(LTemplateInstruction<1, I, T>* instr, |
2129 int index); | 2129 int index); |
2130 template<int I, int T> | 2130 template<int I, int T> |
2131 LInstruction* DefineSameAsFirst(LTemplateInstruction<1, I, T>* instr); | 2131 LInstruction* DefineSameAsFirst(LTemplateInstruction<1, I, T>* instr); |
2132 template<int I, int T> | 2132 template<int I, int T> |
2133 LInstruction* DefineFixed(LTemplateInstruction<1, I, T>* instr, | 2133 LInstruction* DefineFixed(LTemplateInstruction<1, I, T>* instr, |
2134 Register reg); | 2134 Register reg); |
2135 template<int I, int T> | 2135 template<int I, int T> |
2136 LInstruction* DefineFixedDouble(LTemplateInstruction<1, I, T>* instr, | 2136 LInstruction* DefineFixedDouble(LTemplateInstruction<1, I, T>* instr, |
2137 XMMRegister reg); | 2137 XMMRegister reg); |
| 2138 // Must be called for any instruction that can deoptimize (unless |
| 2139 // |MarkAsCall| is called with CAN_DEOPTIMIZE_EAGERLY, which implies this). |
2138 LInstruction* AssignEnvironment(LInstruction* instr); | 2140 LInstruction* AssignEnvironment(LInstruction* instr); |
| 2141 // Must be called for any instruction that can trigger a GC (unless |
| 2142 // |MarkAsCall| is called, which implies this). |
2139 LInstruction* AssignPointerMap(LInstruction* instr); | 2143 LInstruction* AssignPointerMap(LInstruction* instr); |
2140 | 2144 |
2141 enum CanDeoptimize { CAN_DEOPTIMIZE_EAGERLY, CANNOT_DEOPTIMIZE_EAGERLY }; | 2145 enum CanDeoptimize { CAN_DEOPTIMIZE_EAGERLY, CANNOT_DEOPTIMIZE_EAGERLY }; |
2142 | 2146 |
2143 // By default we assume that instruction sequences generated for calls | 2147 // By default we assume that instruction sequences generated for calls |
2144 // cannot deoptimize eagerly and we do not attach environment to this | 2148 // cannot deoptimize eagerly and we do not attach environment to this |
2145 // instruction. | 2149 // instruction. |
2146 LInstruction* MarkAsCall( | 2150 LInstruction* MarkAsCall( |
2147 LInstruction* instr, | 2151 LInstruction* instr, |
2148 HInstruction* hinstr, | 2152 HInstruction* hinstr, |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2180 | 2184 |
2181 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); | 2185 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); |
2182 }; | 2186 }; |
2183 | 2187 |
2184 #undef DECLARE_HYDROGEN_ACCESSOR | 2188 #undef DECLARE_HYDROGEN_ACCESSOR |
2185 #undef DECLARE_CONCRETE_INSTRUCTION | 2189 #undef DECLARE_CONCRETE_INSTRUCTION |
2186 | 2190 |
2187 } } // namespace v8::int | 2191 } } // namespace v8::int |
2188 | 2192 |
2189 #endif // V8_X64_LITHIUM_X64_H_ | 2193 #endif // V8_X64_LITHIUM_X64_H_ |
OLD | NEW |