| 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 661 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 672 void Skip(int n) { | 672 void Skip(int n) { |
| 673 for (int i = 0; i < n; i++) Next(); | 673 for (int i = 0; i < n; i++) Next(); |
| 674 } | 674 } |
| 675 | 675 |
| 676 private: | 676 private: |
| 677 ByteArray* buffer_; | 677 ByteArray* buffer_; |
| 678 int index_; | 678 int index_; |
| 679 }; | 679 }; |
| 680 | 680 |
| 681 | 681 |
| 682 #define TRANSLATION_OPCODE_LIST(V) \ |
| 683 V(BEGIN) \ |
| 684 V(JS_FRAME) \ |
| 685 V(CONSTRUCT_STUB_FRAME) \ |
| 686 V(GETTER_STUB_FRAME) \ |
| 687 V(SETTER_STUB_FRAME) \ |
| 688 V(ARGUMENTS_ADAPTOR_FRAME) \ |
| 689 V(COMPILED_STUB_FRAME) \ |
| 690 V(DUPLICATED_OBJECT) \ |
| 691 V(ARGUMENTS_OBJECT) \ |
| 692 V(CAPTURED_OBJECT) \ |
| 693 V(REGISTER) \ |
| 694 V(INT32_REGISTER) \ |
| 695 V(UINT32_REGISTER) \ |
| 696 V(DOUBLE_REGISTER) \ |
| 697 V(STACK_SLOT) \ |
| 698 V(INT32_STACK_SLOT) \ |
| 699 V(UINT32_STACK_SLOT) \ |
| 700 V(DOUBLE_STACK_SLOT) \ |
| 701 V(LITERAL) |
| 702 |
| 703 |
| 682 class Translation BASE_EMBEDDED { | 704 class Translation BASE_EMBEDDED { |
| 683 public: | 705 public: |
| 706 #define DECLARE_TRANSLATION_OPCODE_ENUM(item) item, |
| 684 enum Opcode { | 707 enum Opcode { |
| 685 BEGIN, | 708 TRANSLATION_OPCODE_LIST(DECLARE_TRANSLATION_OPCODE_ENUM) |
| 686 JS_FRAME, | 709 LAST = LITERAL |
| 687 CONSTRUCT_STUB_FRAME, | |
| 688 GETTER_STUB_FRAME, | |
| 689 SETTER_STUB_FRAME, | |
| 690 ARGUMENTS_ADAPTOR_FRAME, | |
| 691 COMPILED_STUB_FRAME, | |
| 692 DUPLICATED_OBJECT, | |
| 693 ARGUMENTS_OBJECT, | |
| 694 CAPTURED_OBJECT, | |
| 695 REGISTER, | |
| 696 INT32_REGISTER, | |
| 697 UINT32_REGISTER, | |
| 698 DOUBLE_REGISTER, | |
| 699 STACK_SLOT, | |
| 700 INT32_STACK_SLOT, | |
| 701 UINT32_STACK_SLOT, | |
| 702 DOUBLE_STACK_SLOT, | |
| 703 LITERAL | |
| 704 }; | 710 }; |
| 711 #undef DECLARE_TRANSLATION_OPCODE_ENUM |
| 705 | 712 |
| 706 Translation(TranslationBuffer* buffer, int frame_count, int jsframe_count, | 713 Translation(TranslationBuffer* buffer, int frame_count, int jsframe_count, |
| 707 Zone* zone) | 714 Zone* zone) |
| 708 : buffer_(buffer), | 715 : buffer_(buffer), |
| 709 index_(buffer->CurrentIndex()), | 716 index_(buffer->CurrentIndex()), |
| 710 zone_(zone) { | 717 zone_(zone) { |
| 711 buffer_->Add(BEGIN, zone); | 718 buffer_->Add(BEGIN, zone); |
| 712 buffer_->Add(frame_count, zone); | 719 buffer_->Add(frame_count, zone); |
| 713 buffer_->Add(jsframe_count, zone); | 720 buffer_->Add(jsframe_count, zone); |
| 714 } | 721 } |
| (...skipping 200 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 915 Object** expression_stack_; | 922 Object** expression_stack_; |
| 916 int source_position_; | 923 int source_position_; |
| 917 | 924 |
| 918 friend class Deoptimizer; | 925 friend class Deoptimizer; |
| 919 }; | 926 }; |
| 920 #endif | 927 #endif |
| 921 | 928 |
| 922 } } // namespace v8::internal | 929 } } // namespace v8::internal |
| 923 | 930 |
| 924 #endif // V8_DEOPTIMIZER_H_ | 931 #endif // V8_DEOPTIMIZER_H_ |
| OLD | NEW |