OLD | NEW |
1 // Copyright 2009 the V8 project authors. All rights reserved. | 1 // Copyright 2009 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 408 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
419 void Test(const Operand& dst, Smi* source); | 419 void Test(const Operand& dst, Smi* source); |
420 | 420 |
421 // --------------------------------------------------------------------------- | 421 // --------------------------------------------------------------------------- |
422 // String macros. | 422 // String macros. |
423 void JumpIfNotBothSequentialAsciiStrings(Register first_object, | 423 void JumpIfNotBothSequentialAsciiStrings(Register first_object, |
424 Register second_object, | 424 Register second_object, |
425 Register scratch1, | 425 Register scratch1, |
426 Register scratch2, | 426 Register scratch2, |
427 Label* on_not_both_flat_ascii); | 427 Label* on_not_both_flat_ascii); |
428 | 428 |
| 429 // Check whether the instance type represents a flat ascii string. Jump to the |
| 430 // label if not. If the instance type can be scratched specify same register |
| 431 // for both instance type and scratch. |
| 432 void JumpIfInstanceTypeIsNotSequentialAscii(Register instance_type, |
| 433 Register scratch, |
| 434 Label *on_not_flat_ascii_string); |
| 435 |
| 436 void JumpIfBothInstanceTypesAreNotSequentialAscii( |
| 437 Register first_object_instance_type, |
| 438 Register second_object_instance_type, |
| 439 Register scratch1, |
| 440 Register scratch2, |
| 441 Label* on_fail); |
| 442 |
429 // --------------------------------------------------------------------------- | 443 // --------------------------------------------------------------------------- |
430 // Macro instructions. | 444 // Macro instructions. |
431 | 445 |
432 // Load a register with a long value as efficiently as possible. | 446 // Load a register with a long value as efficiently as possible. |
433 void Set(Register dst, int64_t x); | 447 void Set(Register dst, int64_t x); |
434 void Set(const Operand& dst, int64_t x); | 448 void Set(const Operand& dst, int64_t x); |
435 | 449 |
436 // Handle support | 450 // Handle support |
437 void Move(Register dst, Handle<Object> source); | 451 void Move(Register dst, Handle<Object> source); |
438 void Move(const Operand& dst, Handle<Object> source); | 452 void Move(const Operand& dst, Handle<Object> source); |
(...skipping 369 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
808 } \ | 822 } \ |
809 masm-> | 823 masm-> |
810 #else | 824 #else |
811 #define ACCESS_MASM(masm) masm-> | 825 #define ACCESS_MASM(masm) masm-> |
812 #endif | 826 #endif |
813 | 827 |
814 | 828 |
815 } } // namespace v8::internal | 829 } } // namespace v8::internal |
816 | 830 |
817 #endif // V8_X64_MACRO_ASSEMBLER_X64_H_ | 831 #endif // V8_X64_MACRO_ASSEMBLER_X64_H_ |
OLD | NEW |