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 404 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
415 void EmitPush(Register reg, | 415 void EmitPush(Register reg, |
416 TypeInfo info = TypeInfo::Unknown()); | 416 TypeInfo info = TypeInfo::Unknown()); |
417 void EmitPush(Operand operand, | 417 void EmitPush(Operand operand, |
418 TypeInfo info = TypeInfo::Unknown()); | 418 TypeInfo info = TypeInfo::Unknown()); |
419 void EmitPush(Immediate immediate, | 419 void EmitPush(Immediate immediate, |
420 TypeInfo info = TypeInfo::Unknown()); | 420 TypeInfo info = TypeInfo::Unknown()); |
421 | 421 |
422 inline bool ConstantPoolOverflowed(); | 422 inline bool ConstantPoolOverflowed(); |
423 | 423 |
424 // Push an element on the virtual frame. | 424 // Push an element on the virtual frame. |
| 425 void Push(Handle<Object> value); |
425 inline void Push(Register reg, TypeInfo info = TypeInfo::Unknown()); | 426 inline void Push(Register reg, TypeInfo info = TypeInfo::Unknown()); |
426 inline void Push(Handle<Object> value); | |
427 inline void Push(Smi* value); | 427 inline void Push(Smi* value); |
428 | 428 |
429 void PushUntaggedElement(Handle<Object> value); | 429 void PushUntaggedElement(Handle<Object> value); |
430 | 430 |
431 // Pushing a result invalidates it (its contents become owned by the | 431 // Pushing a result invalidates it (its contents become owned by the |
432 // frame). | 432 // frame). |
433 void Push(Result* result) { | 433 void Push(Result* result) { |
434 // This assert will trigger if you try to push the same value twice. | 434 // This assert will trigger if you try to push the same value twice. |
435 ASSERT(result->is_valid()); | 435 ASSERT(result->is_valid()); |
436 if (result->is_register()) { | 436 if (result->is_register()) { |
(...skipping 200 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
637 inline bool Equals(VirtualFrame* other); | 637 inline bool Equals(VirtualFrame* other); |
638 | 638 |
639 // Classes that need raw access to the elements_ array. | 639 // Classes that need raw access to the elements_ array. |
640 friend class FrameRegisterState; | 640 friend class FrameRegisterState; |
641 friend class JumpTarget; | 641 friend class JumpTarget; |
642 }; | 642 }; |
643 | 643 |
644 } } // namespace v8::internal | 644 } } // namespace v8::internal |
645 | 645 |
646 #endif // V8_IA32_VIRTUAL_FRAME_IA32_H_ | 646 #endif // V8_IA32_VIRTUAL_FRAME_IA32_H_ |
OLD | NEW |