| 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 695 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 706 COMPILED_STUB_FRAME, | 706 COMPILED_STUB_FRAME, |
| 707 ARGUMENTS_OBJECT, | 707 ARGUMENTS_OBJECT, |
| 708 REGISTER, | 708 REGISTER, |
| 709 INT32_REGISTER, | 709 INT32_REGISTER, |
| 710 UINT32_REGISTER, | 710 UINT32_REGISTER, |
| 711 DOUBLE_REGISTER, | 711 DOUBLE_REGISTER, |
| 712 STACK_SLOT, | 712 STACK_SLOT, |
| 713 INT32_STACK_SLOT, | 713 INT32_STACK_SLOT, |
| 714 UINT32_STACK_SLOT, | 714 UINT32_STACK_SLOT, |
| 715 DOUBLE_STACK_SLOT, | 715 DOUBLE_STACK_SLOT, |
| 716 LITERAL, | 716 LITERAL |
| 717 | |
| 718 // A prefix indicating that the next command is a duplicate of the one | |
| 719 // that follows it. | |
| 720 DUPLICATE | |
| 721 }; | 717 }; |
| 722 | 718 |
| 723 Translation(TranslationBuffer* buffer, int frame_count, int jsframe_count, | 719 Translation(TranslationBuffer* buffer, int frame_count, int jsframe_count, |
| 724 Zone* zone) | 720 Zone* zone) |
| 725 : buffer_(buffer), | 721 : buffer_(buffer), |
| 726 index_(buffer->CurrentIndex()), | 722 index_(buffer->CurrentIndex()), |
| 727 zone_(zone) { | 723 zone_(zone) { |
| 728 buffer_->Add(BEGIN, zone); | 724 buffer_->Add(BEGIN, zone); |
| 729 buffer_->Add(frame_count, zone); | 725 buffer_->Add(frame_count, zone); |
| 730 buffer_->Add(jsframe_count, zone); | 726 buffer_->Add(jsframe_count, zone); |
| (...skipping 11 matching lines...) Expand all Loading... |
| 742 void BeginArgumentsObject(int args_length); | 738 void BeginArgumentsObject(int args_length); |
| 743 void StoreRegister(Register reg); | 739 void StoreRegister(Register reg); |
| 744 void StoreInt32Register(Register reg); | 740 void StoreInt32Register(Register reg); |
| 745 void StoreUint32Register(Register reg); | 741 void StoreUint32Register(Register reg); |
| 746 void StoreDoubleRegister(DoubleRegister reg); | 742 void StoreDoubleRegister(DoubleRegister reg); |
| 747 void StoreStackSlot(int index); | 743 void StoreStackSlot(int index); |
| 748 void StoreInt32StackSlot(int index); | 744 void StoreInt32StackSlot(int index); |
| 749 void StoreUint32StackSlot(int index); | 745 void StoreUint32StackSlot(int index); |
| 750 void StoreDoubleStackSlot(int index); | 746 void StoreDoubleStackSlot(int index); |
| 751 void StoreLiteral(int literal_id); | 747 void StoreLiteral(int literal_id); |
| 752 void MarkDuplicate(); | 748 void StoreArgumentsObject(bool args_known, int args_index, int args_length); |
| 753 | 749 |
| 754 Zone* zone() const { return zone_; } | 750 Zone* zone() const { return zone_; } |
| 755 | 751 |
| 756 static int NumberOfOperandsFor(Opcode opcode); | 752 static int NumberOfOperandsFor(Opcode opcode); |
| 757 | 753 |
| 758 #if defined(OBJECT_PRINT) || defined(ENABLE_DISASSEMBLER) | 754 #if defined(OBJECT_PRINT) || defined(ENABLE_DISASSEMBLER) |
| 759 static const char* StringFor(Opcode opcode); | 755 static const char* StringFor(Opcode opcode); |
| 760 #endif | 756 #endif |
| 761 | 757 |
| 762 // A literal id which refers to the JSFunction itself. | 758 // A literal id which refers to the JSFunction itself. |
| (...skipping 187 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 950 Object** expression_stack_; | 946 Object** expression_stack_; |
| 951 int source_position_; | 947 int source_position_; |
| 952 | 948 |
| 953 friend class Deoptimizer; | 949 friend class Deoptimizer; |
| 954 }; | 950 }; |
| 955 #endif | 951 #endif |
| 956 | 952 |
| 957 } } // namespace v8::internal | 953 } } // namespace v8::internal |
| 958 | 954 |
| 959 #endif // V8_DEOPTIMIZER_H_ | 955 #endif // V8_DEOPTIMIZER_H_ |
| OLD | NEW |