OLD | NEW |
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 #include "vm/globals.h" // Needed here to get TARGET_ARCH_X64. | 5 #include "vm/globals.h" // Needed here to get TARGET_ARCH_X64. |
6 #if defined(TARGET_ARCH_X64) | 6 #if defined(TARGET_ARCH_X64) |
7 | 7 |
8 #include "vm/code_generator.h" | 8 #include "vm/code_generator.h" |
9 | 9 |
10 #include "lib/error.h" | 10 #include "lib/error.h" |
(...skipping 173 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
184 const ParsedFunction& parsed_function) | 184 const ParsedFunction& parsed_function) |
185 : assembler_(assembler), | 185 : assembler_(assembler), |
186 parsed_function_(parsed_function), | 186 parsed_function_(parsed_function), |
187 locals_space_size_(-1), | 187 locals_space_size_(-1), |
188 state_(NULL), | 188 state_(NULL), |
189 pc_descriptors_list_(NULL), | 189 pc_descriptors_list_(NULL), |
190 exception_handlers_list_(NULL), | 190 exception_handlers_list_(NULL), |
191 try_index_(CatchClauseNode::kInvalidTryIndex) { | 191 try_index_(CatchClauseNode::kInvalidTryIndex) { |
192 ASSERT(assembler_ != NULL); | 192 ASSERT(assembler_ != NULL); |
193 ASSERT(parsed_function.node_sequence() != NULL); | 193 ASSERT(parsed_function.node_sequence() != NULL); |
| 194 ASSERT(Isolate::Current()->long_jump_base()->IsSafeToJump()); |
194 pc_descriptors_list_ = new CodeGenerator::DescriptorList(); | 195 pc_descriptors_list_ = new CodeGenerator::DescriptorList(); |
195 exception_handlers_list_ = new CodeGenerator::HandlerList(); | 196 exception_handlers_list_ = new CodeGenerator::HandlerList(); |
196 } | 197 } |
197 | 198 |
198 | 199 |
199 bool CodeGenerator::IsResultNeeded(AstNode* node) const { | 200 bool CodeGenerator::IsResultNeeded(AstNode* node) const { |
200 return !state()->IsRootNode(node); | 201 return !state()->IsRootNode(node); |
201 } | 202 } |
202 | 203 |
203 | 204 |
(...skipping 2589 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2793 const Error& error = Error::Handle( | 2794 const Error& error = Error::Handle( |
2794 Parser::FormatError(script, token_index, "Error", format, args)); | 2795 Parser::FormatError(script, token_index, "Error", format, args)); |
2795 va_end(args); | 2796 va_end(args); |
2796 Isolate::Current()->long_jump_base()->Jump(1, error); | 2797 Isolate::Current()->long_jump_base()->Jump(1, error); |
2797 UNREACHABLE(); | 2798 UNREACHABLE(); |
2798 } | 2799 } |
2799 | 2800 |
2800 } // namespace dart | 2801 } // namespace dart |
2801 | 2802 |
2802 #endif // defined TARGET_ARCH_X64 | 2803 #endif // defined TARGET_ARCH_X64 |
OLD | NEW |