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/code_patcher.h" | 9 #include "vm/code_patcher.h" |
10 #include "vm/compiler.h" | 10 #include "vm/compiler.h" |
(...skipping 808 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
819 const TypeArguments& checked_type_arguments = TypeArguments::Handle(); | 819 const TypeArguments& checked_type_arguments = TypeArguments::Handle(); |
820 Error& error = Error::Handle(); | 820 Error& error = Error::Handle(); |
821 bool result = receiver.IsInstanceOf(type, checked_type_arguments, &error); | 821 bool result = receiver.IsInstanceOf(type, checked_type_arguments, &error); |
822 ASSERT(error.IsNull()); | 822 ASSERT(error.IsNull()); |
823 ObjectStore* store = Isolate::Current()->object_store(); | 823 ObjectStore* store = Isolate::Current()->object_store(); |
824 const Function& target | 824 const Function& target |
825 = Function::Handle(result | 825 = Function::Handle(result |
826 ? store->simple_instance_of_true_function() | 826 ? store->simple_instance_of_true_function() |
827 : store->simple_instance_of_false_function()); | 827 : store->simple_instance_of_false_function()); |
828 ASSERT(!target.IsNull()); | 828 ASSERT(!target.IsNull()); |
829 return target.raw();; | 829 return target.raw(); |
830 } | 830 } |
831 | 831 |
832 | 832 |
833 static RawFunction* InlineCacheMissHandler( | 833 static RawFunction* InlineCacheMissHandler( |
834 const GrowableArray<const Instance*>& args, | 834 const GrowableArray<const Instance*>& args, |
835 const ICData& ic_data) { | 835 const ICData& ic_data) { |
836 const Instance& receiver = *args[0]; | 836 const Instance& receiver = *args[0]; |
837 ArgumentsDescriptor | 837 ArgumentsDescriptor |
838 arguments_descriptor(Array::Handle(ic_data.arguments_descriptor())); | 838 arguments_descriptor(Array::Handle(ic_data.arguments_descriptor())); |
839 String& function_name = String::Handle(ic_data.target_name()); | 839 String& function_name = String::Handle(ic_data.target_name()); |
(...skipping 1505 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2345 const intptr_t elm_size = old_data.ElementSizeInBytes(); | 2345 const intptr_t elm_size = old_data.ElementSizeInBytes(); |
2346 const TypedData& new_data = | 2346 const TypedData& new_data = |
2347 TypedData::Handle(TypedData::New(cid, new_size, Heap::kOld)); | 2347 TypedData::Handle(TypedData::New(cid, new_size, Heap::kOld)); |
2348 TypedData::Copy(new_data, 0, old_data, 0, old_size * elm_size); | 2348 TypedData::Copy(new_data, 0, old_data, 0, old_size * elm_size); |
2349 typed_data_cell.SetAt(0, new_data); | 2349 typed_data_cell.SetAt(0, new_data); |
2350 arguments.SetReturn(new_data); | 2350 arguments.SetReturn(new_data); |
2351 } | 2351 } |
2352 | 2352 |
2353 | 2353 |
2354 } // namespace dart | 2354 } // namespace dart |
OLD | NEW |