| OLD | NEW | 
|---|
| 1 // Copyright (c) 2013, the Dart project authors.  Please see the AUTHORS file | 1 // Copyright (c) 2013, 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/code_generator.h" | 5 #include "vm/code_generator.h" | 
| 6 | 6 | 
| 7 #include "vm/assembler.h" | 7 #include "vm/assembler.h" | 
| 8 #include "vm/ast.h" | 8 #include "vm/ast.h" | 
| 9 #include "vm/bigint_operations.h" | 9 #include "vm/bigint_operations.h" | 
| 10 #include "vm/code_patcher.h" | 10 #include "vm/code_patcher.h" | 
| (...skipping 1256 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 1267   } | 1267   } | 
| 1268   ASSERT(frame->IsDartFrame()); | 1268   ASSERT(frame->IsDartFrame()); | 
| 1269   const Code& caller_code = Code::Handle(frame->LookupDartCode()); | 1269   const Code& caller_code = Code::Handle(frame->LookupDartCode()); | 
| 1270   ASSERT(caller_code.is_optimized()); | 1270   ASSERT(caller_code.is_optimized()); | 
| 1271   const Function& target_function = Function::Handle( | 1271   const Function& target_function = Function::Handle( | 
| 1272       caller_code.GetStaticCallTargetFunctionAt(frame->pc())); | 1272       caller_code.GetStaticCallTargetFunctionAt(frame->pc())); | 
| 1273   const Code& target_code = Code::Handle( | 1273   const Code& target_code = Code::Handle( | 
| 1274       caller_code.GetStaticCallTargetCodeAt(frame->pc())); | 1274       caller_code.GetStaticCallTargetCodeAt(frame->pc())); | 
| 1275   ASSERT(!target_code.IsNull()); | 1275   ASSERT(!target_code.IsNull()); | 
| 1276   if (!target_function.HasCode()) { | 1276   if (!target_function.HasCode()) { | 
| 1277     // If target code was unoptimized than the code must have been kept |  | 
| 1278     // connected to the function. |  | 
| 1279     ASSERT(target_code.is_optimized()); |  | 
| 1280     const Error& error = | 1277     const Error& error = | 
| 1281         Error::Handle(Compiler::CompileFunction(target_function)); | 1278         Error::Handle(Compiler::CompileFunction(target_function)); | 
| 1282     if (!error.IsNull()) { | 1279     if (!error.IsNull()) { | 
| 1283       Exceptions::PropagateError(error); | 1280       Exceptions::PropagateError(error); | 
| 1284     } | 1281     } | 
| 1285   } | 1282   } | 
| 1286   ASSERT(target_function.HasCode()); | 1283   ASSERT(target_function.HasCode()); | 
| 1287   ASSERT(target_function.raw() == target_code.function()); | 1284   ASSERT(target_function.raw() == target_code.function()); | 
| 1288 | 1285 | 
| 1289   const Code& current_target_code = Code::Handle(target_function.CurrentCode()); | 1286   const Code& current_target_code = Code::Handle(target_function.CurrentCode()); | 
| (...skipping 242 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 1532 // of the given value. | 1529 // of the given value. | 
| 1533 //   Arg0: Field object; | 1530 //   Arg0: Field object; | 
| 1534 //   Arg1: Value that is being stored. | 1531 //   Arg1: Value that is being stored. | 
| 1535 DEFINE_RUNTIME_ENTRY(UpdateFieldCid, 2) { | 1532 DEFINE_RUNTIME_ENTRY(UpdateFieldCid, 2) { | 
| 1536   const Field& field = Field::CheckedHandle(arguments.ArgAt(0)); | 1533   const Field& field = Field::CheckedHandle(arguments.ArgAt(0)); | 
| 1537   const Object& value = Object::Handle(arguments.ArgAt(1)); | 1534   const Object& value = Object::Handle(arguments.ArgAt(1)); | 
| 1538   field.UpdateGuardedCidAndLength(value); | 1535   field.UpdateGuardedCidAndLength(value); | 
| 1539 } | 1536 } | 
| 1540 | 1537 | 
| 1541 }  // namespace dart | 1538 }  // namespace dart | 
| OLD | NEW | 
|---|