OLD | NEW |
1 // Copyright 2011 the V8 project authors. All rights reserved. | 1 // Copyright 2011 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 121 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
132 V(ARGUMENTS_ADAPTOR, ArgumentsAdaptorFrame) | 132 V(ARGUMENTS_ADAPTOR, ArgumentsAdaptorFrame) |
133 | 133 |
134 | 134 |
135 // Abstract base class for all stack frames. | 135 // Abstract base class for all stack frames. |
136 class StackFrame BASE_EMBEDDED { | 136 class StackFrame BASE_EMBEDDED { |
137 public: | 137 public: |
138 #define DECLARE_TYPE(type, ignore) type, | 138 #define DECLARE_TYPE(type, ignore) type, |
139 enum Type { | 139 enum Type { |
140 NONE = 0, | 140 NONE = 0, |
141 STACK_FRAME_TYPE_LIST(DECLARE_TYPE) | 141 STACK_FRAME_TYPE_LIST(DECLARE_TYPE) |
142 NUMBER_OF_TYPES | 142 NUMBER_OF_TYPES, |
| 143 // Used by FrameScope to indicate that the stack frame is constructed |
| 144 // manually and the FrameScope does not need to emit code. |
| 145 MANUAL |
143 }; | 146 }; |
144 #undef DECLARE_TYPE | 147 #undef DECLARE_TYPE |
145 | 148 |
146 // Opaque data type for identifying stack frames. Used extensively | 149 // Opaque data type for identifying stack frames. Used extensively |
147 // by the debugger. | 150 // by the debugger. |
148 // ID_MIN_VALUE and ID_MAX_VALUE are specified to ensure that enumeration type | 151 // ID_MIN_VALUE and ID_MAX_VALUE are specified to ensure that enumeration type |
149 // has correct value range (see Issue 830 for more details). | 152 // has correct value range (see Issue 830 for more details). |
150 enum Id { | 153 enum Id { |
151 ID_MIN_VALUE = kMinInt, | 154 ID_MIN_VALUE = kMinInt, |
152 ID_MAX_VALUE = kMaxInt, | 155 ID_MAX_VALUE = kMaxInt, |
(...skipping 716 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
869 }; | 872 }; |
870 | 873 |
871 | 874 |
872 // Reads all frames on the current stack and copies them into the current | 875 // Reads all frames on the current stack and copies them into the current |
873 // zone memory. | 876 // zone memory. |
874 Vector<StackFrame*> CreateStackMap(); | 877 Vector<StackFrame*> CreateStackMap(); |
875 | 878 |
876 } } // namespace v8::internal | 879 } } // namespace v8::internal |
877 | 880 |
878 #endif // V8_FRAMES_H_ | 881 #endif // V8_FRAMES_H_ |
OLD | NEW |