OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 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 256 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
267 Register input, | 267 Register input, |
268 XMMRegister result, | 268 XMMRegister result, |
269 bool allow_undefined_as_nan, | 269 bool allow_undefined_as_nan, |
270 bool deoptimize_on_minus_zero, | 270 bool deoptimize_on_minus_zero, |
271 LEnvironment* env, | 271 LEnvironment* env, |
272 NumberUntagDMode mode = NUMBER_CANDIDATE_IS_ANY_TAGGED); | 272 NumberUntagDMode mode = NUMBER_CANDIDATE_IS_ANY_TAGGED); |
273 | 273 |
274 // Emits optimized code for typeof x == "y". Modifies input register. | 274 // Emits optimized code for typeof x == "y". Modifies input register. |
275 // Returns the condition on which a final split to | 275 // Returns the condition on which a final split to |
276 // true and false label should be made, to optimize fallthrough. | 276 // true and false label should be made, to optimize fallthrough. |
277 Condition EmitTypeofIs(Label* true_label, | 277 Condition EmitTypeofIs(LTypeofIsAndBranch* instr, Register input); |
278 Label* false_label, | |
279 Register input, | |
280 Handle<String> type_name); | |
281 | 278 |
282 // Emits optimized code for %_IsObject(x). Preserves input register. | 279 // Emits optimized code for %_IsObject(x). Preserves input register. |
283 // Returns the condition on which a final split to | 280 // Returns the condition on which a final split to |
284 // true and false label should be made, to optimize fallthrough. | 281 // true and false label should be made, to optimize fallthrough. |
285 Condition EmitIsObject(Register input, | 282 Condition EmitIsObject(Register input, |
286 Label* is_not_object, | 283 Label* is_not_object, |
287 Label* is_object); | 284 Label* is_object); |
288 | 285 |
289 // Emits optimized code for %_IsString(x). Preserves input register. | 286 // Emits optimized code for %_IsString(x). Preserves input register. |
290 // Returns the condition on which a final split to | 287 // Returns the condition on which a final split to |
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
399 Label entry_; | 396 Label entry_; |
400 Label exit_; | 397 Label exit_; |
401 Label done_; | 398 Label done_; |
402 Label* external_exit_; | 399 Label* external_exit_; |
403 int instruction_index_; | 400 int instruction_index_; |
404 }; | 401 }; |
405 | 402 |
406 } } // namespace v8::internal | 403 } } // namespace v8::internal |
407 | 404 |
408 #endif // V8_X64_LITHIUM_CODEGEN_X64_H_ | 405 #endif // V8_X64_LITHIUM_CODEGEN_X64_H_ |
OLD | NEW |