Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(419)

Side by Side Diff: src/deoptimizer.cc

Issue 25480003: Refactor translation opcode a little in the deoptimization (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 7 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « src/deoptimizer.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 the V8 project authors. All rights reserved. 1 // Copyright 2013 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 2718 matching lines...) Expand 10 before | Expand all | Expand 10 after
2729 return 3; 2729 return 3;
2730 } 2730 }
2731 UNREACHABLE(); 2731 UNREACHABLE();
2732 return -1; 2732 return -1;
2733 } 2733 }
2734 2734
2735 2735
2736 #if defined(OBJECT_PRINT) || defined(ENABLE_DISASSEMBLER) 2736 #if defined(OBJECT_PRINT) || defined(ENABLE_DISASSEMBLER)
2737 2737
2738 const char* Translation::StringFor(Opcode opcode) { 2738 const char* Translation::StringFor(Opcode opcode) {
2739 #define TRANSLATION_OPCODE_CASE(item) case item: return #item;
2739 switch (opcode) { 2740 switch (opcode) {
2740 case BEGIN: 2741 TRANSLATION_OPCODE_LIST(TRANSLATION_OPCODE_CASE)
2741 return "BEGIN";
2742 case JS_FRAME:
2743 return "JS_FRAME";
2744 case ARGUMENTS_ADAPTOR_FRAME:
2745 return "ARGUMENTS_ADAPTOR_FRAME";
2746 case CONSTRUCT_STUB_FRAME:
2747 return "CONSTRUCT_STUB_FRAME";
2748 case GETTER_STUB_FRAME:
2749 return "GETTER_STUB_FRAME";
2750 case SETTER_STUB_FRAME:
2751 return "SETTER_STUB_FRAME";
2752 case COMPILED_STUB_FRAME:
2753 return "COMPILED_STUB_FRAME";
2754 case REGISTER:
2755 return "REGISTER";
2756 case INT32_REGISTER:
2757 return "INT32_REGISTER";
2758 case UINT32_REGISTER:
2759 return "UINT32_REGISTER";
2760 case DOUBLE_REGISTER:
2761 return "DOUBLE_REGISTER";
2762 case STACK_SLOT:
2763 return "STACK_SLOT";
2764 case INT32_STACK_SLOT:
2765 return "INT32_STACK_SLOT";
2766 case UINT32_STACK_SLOT:
2767 return "UINT32_STACK_SLOT";
2768 case DOUBLE_STACK_SLOT:
2769 return "DOUBLE_STACK_SLOT";
2770 case LITERAL:
2771 return "LITERAL";
2772 case DUPLICATED_OBJECT:
2773 return "DUPLICATED_OBJECT";
2774 case ARGUMENTS_OBJECT:
2775 return "ARGUMENTS_OBJECT";
2776 case CAPTURED_OBJECT:
2777 return "CAPTURED_OBJECT";
2778 } 2742 }
2743 #undef TRANSLATION_OPCODE_CASE
2779 UNREACHABLE(); 2744 UNREACHABLE();
2780 return ""; 2745 return "";
2781 } 2746 }
2782 2747
2783 #endif 2748 #endif
2784 2749
2785 2750
2786 // We can't intermix stack decoding and allocations because 2751 // We can't intermix stack decoding and allocations because
2787 // deoptimization infrastracture is not GC safe. 2752 // deoptimization infrastracture is not GC safe.
2788 // Thus we build a temporary structure in malloced space. 2753 // Thus we build a temporary structure in malloced space.
(...skipping 184 matching lines...) Expand 10 before | Expand all | Expand 10 after
2973 2938
2974 void DeoptimizedFrameInfo::Iterate(ObjectVisitor* v) { 2939 void DeoptimizedFrameInfo::Iterate(ObjectVisitor* v) {
2975 v->VisitPointer(BitCast<Object**>(&function_)); 2940 v->VisitPointer(BitCast<Object**>(&function_));
2976 v->VisitPointers(parameters_, parameters_ + parameters_count_); 2941 v->VisitPointers(parameters_, parameters_ + parameters_count_);
2977 v->VisitPointers(expression_stack_, expression_stack_ + expression_count_); 2942 v->VisitPointers(expression_stack_, expression_stack_ + expression_count_);
2978 } 2943 }
2979 2944
2980 #endif // ENABLE_DEBUGGER_SUPPORT 2945 #endif // ENABLE_DEBUGGER_SUPPORT
2981 2946
2982 } } // namespace v8::internal 2947 } } // namespace v8::internal
OLDNEW
« no previous file with comments | « src/deoptimizer.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698