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/block_scheduler.h" | 10 #include "vm/block_scheduler.h" |
(...skipping 1290 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1301 ParsedFunction* parsed_function = Parser::ParseStaticFieldInitializer(field); | 1301 ParsedFunction* parsed_function = Parser::ParseStaticFieldInitializer(field); |
1302 | 1302 |
1303 parsed_function->AllocateVariables(); | 1303 parsed_function->AllocateVariables(); |
1304 // Non-optimized code generator. | 1304 // Non-optimized code generator. |
1305 DartCompilationPipeline pipeline; | 1305 DartCompilationPipeline pipeline; |
1306 CompileParsedFunctionHelper(&pipeline, | 1306 CompileParsedFunctionHelper(&pipeline, |
1307 parsed_function, | 1307 parsed_function, |
1308 false, // optimized | 1308 false, // optimized |
1309 Isolate::kNoDeoptId); | 1309 Isolate::kNoDeoptId); |
1310 | 1310 |
1311 if (FLAG_disassemble) { | |
hausner
2015/09/10 22:55:12
I think you should add the disassemble filter like
rmacnak
2015/09/11 00:07:13
Hm, yes. I guess I was missing them from my disass
| |
1312 DisassembleCode(parsed_function->function(), false); | |
1313 } | |
1314 | |
1311 const Function& initializer = parsed_function->function(); | 1315 const Function& initializer = parsed_function->function(); |
1312 field.SetPrecompiledInitializer(initializer); | 1316 field.SetPrecompiledInitializer(initializer); |
1313 } | 1317 } |
1314 | 1318 |
1315 | 1319 |
1316 RawObject* Compiler::EvaluateStaticInitializer(const Field& field) { | 1320 RawObject* Compiler::EvaluateStaticInitializer(const Field& field) { |
1317 ASSERT(field.is_static()); | 1321 ASSERT(field.is_static()); |
1318 // The VM sets the field's value to transiton_sentinel prior to | 1322 // The VM sets the field's value to transiton_sentinel prior to |
1319 // evaluating the initializer value. | 1323 // evaluating the initializer value. |
1320 ASSERT(field.StaticValue() == Object::transition_sentinel().raw()); | 1324 ASSERT(field.StaticValue() == Object::transition_sentinel().raw()); |
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1416 const Object& result = | 1420 const Object& result = |
1417 PassiveObject::Handle(isolate->object_store()->sticky_error()); | 1421 PassiveObject::Handle(isolate->object_store()->sticky_error()); |
1418 isolate->object_store()->clear_sticky_error(); | 1422 isolate->object_store()->clear_sticky_error(); |
1419 return result.raw(); | 1423 return result.raw(); |
1420 } | 1424 } |
1421 UNREACHABLE(); | 1425 UNREACHABLE(); |
1422 return Object::null(); | 1426 return Object::null(); |
1423 } | 1427 } |
1424 | 1428 |
1425 } // namespace dart | 1429 } // namespace dart |
OLD | NEW |