OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef V8_FULL_CODEGEN_H_ | 5 #ifndef V8_FULL_CODEGEN_H_ |
6 #define V8_FULL_CODEGEN_H_ | 6 #define V8_FULL_CODEGEN_H_ |
7 | 7 |
8 #include "src/v8.h" | 8 #include "src/v8.h" |
9 | 9 |
10 #include "src/allocation.h" | 10 #include "src/allocation.h" |
(...skipping 231 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
242 | 242 |
243 virtual NestedStatement* Exit(int* stack_depth, int* context_length); | 243 virtual NestedStatement* Exit(int* stack_depth, int* context_length); |
244 | 244 |
245 private: | 245 private: |
246 Label* finally_entry_; | 246 Label* finally_entry_; |
247 }; | 247 }; |
248 | 248 |
249 // The finally block of a try/finally statement. | 249 // The finally block of a try/finally statement. |
250 class Finally : public NestedStatement { | 250 class Finally : public NestedStatement { |
251 public: | 251 public: |
252 static const int kElementCount = 4; | 252 static const int kElementCount = 3; |
253 | 253 |
254 explicit Finally(FullCodeGenerator* codegen) : NestedStatement(codegen) { } | 254 explicit Finally(FullCodeGenerator* codegen) : NestedStatement(codegen) { } |
255 virtual ~Finally() {} | 255 virtual ~Finally() {} |
256 | 256 |
257 virtual NestedStatement* Exit(int* stack_depth, int* context_length) { | 257 virtual NestedStatement* Exit(int* stack_depth, int* context_length) { |
258 *stack_depth += kElementCount; | 258 *stack_depth += kElementCount; |
259 return previous_; | 259 return previous_; |
260 } | 260 } |
261 }; | 261 }; |
262 | 262 |
(...skipping 797 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1060 | 1060 |
1061 Address start_; | 1061 Address start_; |
1062 Address instruction_start_; | 1062 Address instruction_start_; |
1063 uint32_t length_; | 1063 uint32_t length_; |
1064 }; | 1064 }; |
1065 | 1065 |
1066 | 1066 |
1067 } } // namespace v8::internal | 1067 } } // namespace v8::internal |
1068 | 1068 |
1069 #endif // V8_FULL_CODEGEN_H_ | 1069 #endif // V8_FULL_CODEGEN_H_ |
OLD | NEW |