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 231 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
242 int deoptimization_index); | 242 int deoptimization_index); |
243 void RecordPosition(int position); | 243 void RecordPosition(int position); |
244 int LastSafepointEnd() { | 244 int LastSafepointEnd() { |
245 return static_cast<int>(safepoints_.GetPcAfterGap()); | 245 return static_cast<int>(safepoints_.GetPcAfterGap()); |
246 } | 246 } |
247 | 247 |
248 static Condition TokenToCondition(Token::Value op, bool is_unsigned); | 248 static Condition TokenToCondition(Token::Value op, bool is_unsigned); |
249 void EmitGoto(int block, LDeferredCode* deferred_stack_check = NULL); | 249 void EmitGoto(int block, LDeferredCode* deferred_stack_check = NULL); |
250 void EmitBranch(int left_block, int right_block, Condition cc); | 250 void EmitBranch(int left_block, int right_block, Condition cc); |
251 void EmitCmpI(LOperand* left, LOperand* right); | 251 void EmitCmpI(LOperand* left, LOperand* right); |
252 void EmitNumberUntagD(Register input, XMMRegister result, LEnvironment* env); | 252 void EmitNumberUntagD(Register input, |
| 253 XMMRegister result, |
| 254 bool deoptimize_on_undefined, |
| 255 LEnvironment* env); |
253 | 256 |
254 // Emits optimized code for typeof x == "y". Modifies input register. | 257 // Emits optimized code for typeof x == "y". Modifies input register. |
255 // Returns the condition on which a final split to | 258 // Returns the condition on which a final split to |
256 // true and false label should be made, to optimize fallthrough. | 259 // true and false label should be made, to optimize fallthrough. |
257 Condition EmitTypeofIs(Label* true_label, Label* false_label, | 260 Condition EmitTypeofIs(Label* true_label, Label* false_label, |
258 Register input, Handle<String> type_name); | 261 Register input, Handle<String> type_name); |
259 | 262 |
260 // Emits optimized code for %_IsObject(x). Preserves input register. | 263 // Emits optimized code for %_IsObject(x). Preserves input register. |
261 // Returns the condition on which a final split to | 264 // Returns the condition on which a final split to |
262 // true and false label should be made, to optimize fallthrough. | 265 // true and false label should be made, to optimize fallthrough. |
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
358 private: | 361 private: |
359 LCodeGen* codegen_; | 362 LCodeGen* codegen_; |
360 Label entry_; | 363 Label entry_; |
361 Label exit_; | 364 Label exit_; |
362 Label* external_exit_; | 365 Label* external_exit_; |
363 }; | 366 }; |
364 | 367 |
365 } } // namespace v8::internal | 368 } } // namespace v8::internal |
366 | 369 |
367 #endif // V8_X64_LITHIUM_CODEGEN_X64_H_ | 370 #endif // V8_X64_LITHIUM_CODEGEN_X64_H_ |
OLD | NEW |