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

Side by Side Diff: runtime/vm/compiler.cc

Issue 51123003: VM: Fix checked mode crash (issue 13831). (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 7 years, 1 month 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
OLDNEW
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/block_scheduler.h" 10 #include "vm/block_scheduler.h"
(...skipping 874 matching lines...) Expand 10 before | Expand all | Expand 10 after
885 OS::Print("compiling expression: "); 885 OS::Print("compiling expression: ");
886 AstPrinter::PrintNode(fragment); 886 AstPrinter::PrintNode(fragment);
887 } 887 }
888 888
889 // Create a dummy function object for the code generator. 889 // Create a dummy function object for the code generator.
890 // The function needs to be associated with a named Class: the interface 890 // The function needs to be associated with a named Class: the interface
891 // Function fits the bill. 891 // Function fits the bill.
892 const char* kEvalConst = "eval_const"; 892 const char* kEvalConst = "eval_const";
893 const Function& func = Function::ZoneHandle(Function::New( 893 const Function& func = Function::ZoneHandle(Function::New(
894 String::Handle(Symbols::New(kEvalConst)), 894 String::Handle(Symbols::New(kEvalConst)),
895 RawFunction::kImplicitStaticFinalGetter, 895 RawFunction::kRegularFunction,
896 true, // static function. 896 true, // static function.
897 false, // not const function. 897 false, // not const function.
898 false, // not abstract 898 false, // not abstract
899 false, // not external. 899 false, // not external.
900 Class::Handle(Type::Handle(Type::Function()).type_class()), 900 Class::Handle(Type::Handle(Type::Function()).type_class()),
901 fragment->token_pos())); 901 fragment->token_pos()));
902 902
903 func.set_result_type(Type::Handle(Type::DynamicType())); 903 func.set_result_type(Type::Handle(Type::DynamicType()));
904 func.set_num_fixed_parameters(0); 904 func.set_num_fixed_parameters(0);
905 func.SetNumOptionalParameters(0, true); 905 func.SetNumOptionalParameters(0, true);
(...skipping 22 matching lines...) Expand all
928 Object::Handle(isolate->object_store()->sticky_error()); 928 Object::Handle(isolate->object_store()->sticky_error());
929 isolate->object_store()->clear_sticky_error(); 929 isolate->object_store()->clear_sticky_error();
930 isolate->set_long_jump_base(base); 930 isolate->set_long_jump_base(base);
931 return result.raw(); 931 return result.raw();
932 } 932 }
933 UNREACHABLE(); 933 UNREACHABLE();
934 return Object::null(); 934 return Object::null();
935 } 935 }
936 936
937 } // namespace dart 937 } // namespace dart
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698