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/compiler.h" | 5 #include "vm/compiler.h" |
6 | 6 |
7 #include "vm/assembler.h" | 7 #include "vm/assembler.h" |
8 | 8 |
9 #include "vm/ast_printer.h" | 9 #include "vm/ast_printer.h" |
10 #include "vm/code_generator.h" | 10 #include "vm/code_generator.h" |
(...skipping 628 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
639 fragment->scope()->AddVariable(parsed_function->expression_temp_var()); | 639 fragment->scope()->AddVariable(parsed_function->expression_temp_var()); |
640 parsed_function->set_array_literal_var( | 640 parsed_function->set_array_literal_var( |
641 ParsedFunction::CreateArrayLiteralVar(0)); | 641 ParsedFunction::CreateArrayLiteralVar(0)); |
642 fragment->scope()->AddVariable(parsed_function->array_literal_var()); | 642 fragment->scope()->AddVariable(parsed_function->array_literal_var()); |
643 parsed_function->AllocateVariables(); | 643 parsed_function->AllocateVariables(); |
644 | 644 |
645 // Non-optimized code generator. | 645 // Non-optimized code generator. |
646 CompileParsedFunctionHelper(*parsed_function, false); | 646 CompileParsedFunctionHelper(*parsed_function, false); |
647 | 647 |
648 const Object& result = Object::Handle( | 648 const Object& result = Object::Handle( |
649 DartEntry::InvokeStatic(func, Object::empty_array())); | 649 DartEntry::InvokeFunction(func, Object::empty_array())); |
650 isolate->set_long_jump_base(base); | 650 isolate->set_long_jump_base(base); |
651 return result.raw(); | 651 return result.raw(); |
652 } else { | 652 } else { |
653 const Object& result = | 653 const Object& result = |
654 Object::Handle(isolate->object_store()->sticky_error()); | 654 Object::Handle(isolate->object_store()->sticky_error()); |
655 isolate->object_store()->clear_sticky_error(); | 655 isolate->object_store()->clear_sticky_error(); |
656 isolate->set_long_jump_base(base); | 656 isolate->set_long_jump_base(base); |
657 return result.raw(); | 657 return result.raw(); |
658 } | 658 } |
659 UNREACHABLE(); | 659 UNREACHABLE(); |
660 return Object::null(); | 660 return Object::null(); |
661 } | 661 } |
662 | 662 |
663 } // namespace dart | 663 } // namespace dart |
OLD | NEW |