OLD | NEW |
1 // Copyright 2006-2009 the V8 project authors. All rights reserved. | 1 // Copyright 2006-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 256 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
267 | 267 |
268 // Abort execution if argument is not a number. Used in debug code. | 268 // Abort execution if argument is not a number. Used in debug code. |
269 void AbortIfNotNumber(Register object); | 269 void AbortIfNotNumber(Register object); |
270 | 270 |
271 // Abort execution if argument is not a smi. Used in debug code. | 271 // Abort execution if argument is not a smi. Used in debug code. |
272 void AbortIfNotSmi(Register object); | 272 void AbortIfNotSmi(Register object); |
273 | 273 |
274 // Abort execution if argument is a smi. Used in debug code. | 274 // Abort execution if argument is a smi. Used in debug code. |
275 void AbortIfSmi(Register object); | 275 void AbortIfSmi(Register object); |
276 | 276 |
| 277 // Abort execution if argument is a string. Used in debug code. |
| 278 void AbortIfNotString(Register object); |
| 279 |
277 // --------------------------------------------------------------------------- | 280 // --------------------------------------------------------------------------- |
278 // Exception handling | 281 // Exception handling |
279 | 282 |
280 // Push a new try handler and link into try handler chain. The return | 283 // Push a new try handler and link into try handler chain. The return |
281 // address must be pushed before calling this helper. | 284 // address must be pushed before calling this helper. |
282 void PushTryHandler(CodeLocation try_location, HandlerType type); | 285 void PushTryHandler(CodeLocation try_location, HandlerType type); |
283 | 286 |
284 // Unlink the stack handler on top of the stack from the try handler chain. | 287 // Unlink the stack handler on top of the stack from the try handler chain. |
285 void PopTryHandler(); | 288 void PopTryHandler(); |
286 | 289 |
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
396 // clobbered. | 399 // clobbered. |
397 void TryGetFunctionPrototype(Register function, | 400 void TryGetFunctionPrototype(Register function, |
398 Register result, | 401 Register result, |
399 Register scratch, | 402 Register scratch, |
400 Label* miss); | 403 Label* miss); |
401 | 404 |
402 // Generates code for reporting that an illegal operation has | 405 // Generates code for reporting that an illegal operation has |
403 // occurred. | 406 // occurred. |
404 void IllegalOperation(int num_arguments); | 407 void IllegalOperation(int num_arguments); |
405 | 408 |
| 409 // Picks out an array index from the hash field. |
| 410 // Register use: |
| 411 // hash - holds the index's hash. Clobbered. |
| 412 // index - holds the overwritten index on exit. |
| 413 void IndexFromHash(Register hash, Register index); |
| 414 |
406 // --------------------------------------------------------------------------- | 415 // --------------------------------------------------------------------------- |
407 // Runtime calls | 416 // Runtime calls |
408 | 417 |
409 // Call a code stub. Generate the code if necessary. | 418 // Call a code stub. Generate the code if necessary. |
410 void CallStub(CodeStub* stub); | 419 void CallStub(CodeStub* stub); |
411 | 420 |
412 // Call a code stub and return the code object called. Try to generate | 421 // Call a code stub and return the code object called. Try to generate |
413 // the code if necessary. Do not perform a GC but instead return a retry | 422 // the code if necessary. Do not perform a GC but instead return a retry |
414 // after GC failure. | 423 // after GC failure. |
415 Object* TryCallStub(CodeStub* stub); | 424 Object* TryCallStub(CodeStub* stub); |
(...skipping 230 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
646 } \ | 655 } \ |
647 masm-> | 656 masm-> |
648 #else | 657 #else |
649 #define ACCESS_MASM(masm) masm-> | 658 #define ACCESS_MASM(masm) masm-> |
650 #endif | 659 #endif |
651 | 660 |
652 | 661 |
653 } } // namespace v8::internal | 662 } } // namespace v8::internal |
654 | 663 |
655 #endif // V8_IA32_MACRO_ASSEMBLER_IA32_H_ | 664 #endif // V8_IA32_MACRO_ASSEMBLER_IA32_H_ |
OLD | NEW |