| 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 576 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 587 // Initialize fields with filler values. Fields starting at |start_offset| | 587 // Initialize fields with filler values. Fields starting at |start_offset| |
| 588 // not including end_offset are overwritten with the value in |filler|. At | 588 // not including end_offset are overwritten with the value in |filler|. At |
| 589 // the end the loop, |start_offset| takes the value of |end_offset|. | 589 // the end the loop, |start_offset| takes the value of |end_offset|. |
| 590 void InitializeFieldsWithFiller(Register start_offset, | 590 void InitializeFieldsWithFiller(Register start_offset, |
| 591 Register end_offset, | 591 Register end_offset, |
| 592 Register filler); | 592 Register filler); |
| 593 | 593 |
| 594 // --------------------------------------------------------------------------- | 594 // --------------------------------------------------------------------------- |
| 595 // Support functions. | 595 // Support functions. |
| 596 | 596 |
| 597 // Check a boolean-bit of a Smi field. |
| 598 void BooleanBitTest(Register object, int field_offset, int bit_index); |
| 599 |
| 597 // Check if result is zero and op is negative. | 600 // Check if result is zero and op is negative. |
| 598 void NegativeZeroTest(Register result, Register op, Label* then_label); | 601 void NegativeZeroTest(Register result, Register op, Label* then_label); |
| 599 | 602 |
| 600 // Check if result is zero and any of op1 and op2 are negative. | 603 // Check if result is zero and any of op1 and op2 are negative. |
| 601 // Register scratch is destroyed, and it must be different from op2. | 604 // Register scratch is destroyed, and it must be different from op2. |
| 602 void NegativeZeroTest(Register result, Register op1, Register op2, | 605 void NegativeZeroTest(Register result, Register op1, Register op2, |
| 603 Register scratch, Label* then_label); | 606 Register scratch, Label* then_label); |
| 604 | 607 |
| 605 // Try to get function prototype of a function and puts the value in | 608 // Try to get function prototype of a function and puts the value in |
| 606 // the result register. Checks that the function really is a | 609 // the result register. Checks that the function really is a |
| 607 // function and jumps to the miss label if the fast checks fail. The | 610 // function and jumps to the miss label if the fast checks fail. The |
| 608 // function register will be untouched; the other registers may be | 611 // function register will be untouched; the other registers may be |
| 609 // clobbered. | 612 // clobbered. |
| 610 void TryGetFunctionPrototype(Register function, | 613 void TryGetFunctionPrototype(Register function, |
| 611 Register result, | 614 Register result, |
| 612 Register scratch, | 615 Register scratch, |
| 613 Label* miss); | 616 Label* miss, |
| 617 bool miss_on_bound_function = false); |
| 614 | 618 |
| 615 // Generates code for reporting that an illegal operation has | 619 // Generates code for reporting that an illegal operation has |
| 616 // occurred. | 620 // occurred. |
| 617 void IllegalOperation(int num_arguments); | 621 void IllegalOperation(int num_arguments); |
| 618 | 622 |
| 619 // Picks out an array index from the hash field. | 623 // Picks out an array index from the hash field. |
| 620 // Register use: | 624 // Register use: |
| 621 // hash - holds the index's hash. Clobbered. | 625 // hash - holds the index's hash. Clobbered. |
| 622 // index - holds the overwritten index on exit. | 626 // index - holds the overwritten index on exit. |
| 623 void IndexFromHash(Register hash, Register index); | 627 void IndexFromHash(Register hash, Register index); |
| (...skipping 330 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 954 } \ | 958 } \ |
| 955 masm-> | 959 masm-> |
| 956 #else | 960 #else |
| 957 #define ACCESS_MASM(masm) masm-> | 961 #define ACCESS_MASM(masm) masm-> |
| 958 #endif | 962 #endif |
| 959 | 963 |
| 960 | 964 |
| 961 } } // namespace v8::internal | 965 } } // namespace v8::internal |
| 962 | 966 |
| 963 #endif // V8_IA32_MACRO_ASSEMBLER_IA32_H_ | 967 #endif // V8_IA32_MACRO_ASSEMBLER_IA32_H_ |
| OLD | NEW |