Chromium Code Reviews| Index: runtime/vm/object.cc |
| diff --git a/runtime/vm/object.cc b/runtime/vm/object.cc |
| index 4d643122d6564aa4e34fcfccc5ec4b737f273981..cc937270bd5fb7d3024de71bbba4ad4b651dbe55 100644 |
| --- a/runtime/vm/object.cc |
| +++ b/runtime/vm/object.cc |
| @@ -94,6 +94,7 @@ Object* Object::null_object_ = NULL; |
| Array* Object::null_array_ = NULL; |
| String* Object::null_string_ = NULL; |
| Instance* Object::null_instance_ = NULL; |
| +Function* Object::null_function_ = NULL; |
| TypeArguments* Object::null_type_arguments_ = NULL; |
| Array* Object::empty_array_ = NULL; |
| Array* Object::zero_array_ = NULL; |
| @@ -423,6 +424,7 @@ void Object::InitOnce(Isolate* isolate) { |
| null_array_ = Array::ReadOnlyHandle(); |
| null_string_ = String::ReadOnlyHandle(); |
| null_instance_ = Instance::ReadOnlyHandle(); |
| + null_function_ = Function::ReadOnlyHandle(); |
| null_type_arguments_ = TypeArguments::ReadOnlyHandle(); |
| empty_array_ = Array::ReadOnlyHandle(); |
| zero_array_ = Array::ReadOnlyHandle(); |
| @@ -447,6 +449,7 @@ void Object::InitOnce(Isolate* isolate) { |
| *null_array_ = Array::null(); |
| *null_string_ = String::null(); |
| *null_instance_ = Instance::null(); |
| + *null_function_ = Function::null(); |
| *null_type_arguments_ = TypeArguments::null(); |
| // Initialize the empty and zero array handles to null_ in order to be able to |
| @@ -769,6 +772,8 @@ void Object::InitOnce(Isolate* isolate) { |
| ASSERT(null_string_->IsString()); |
| ASSERT(!null_instance_->IsSmi()); |
| ASSERT(null_instance_->IsInstance()); |
| + ASSERT(!null_function_->IsSmi()); |
| + ASSERT(null_function_->IsFunction()); |
| ASSERT(!null_type_arguments_->IsSmi()); |
| ASSERT(null_type_arguments_->IsTypeArguments()); |
| ASSERT(!empty_array_->IsSmi()); |
| @@ -7249,7 +7254,7 @@ RawField* Field::New(const String& name, |
| result.set_owner(owner); |
| result.set_token_pos(token_pos); |
| result.set_has_initializer(false); |
| - result.set_initializer(Function::Handle()); |
| + result.set_initializer(Object::null_function()); |
|
srdjan
2015/08/13 15:49:01
Is this necessary at all, since all data is initia
siva
2015/08/13 16:52:02
That is a good point, not sure why it was there in
|
| result.set_is_unboxing_candidate(true); |
| result.set_guarded_cid(FLAG_use_field_guards ? kIllegalCid : kDynamicCid); |
| result.set_is_nullable(FLAG_use_field_guards ? false : true); |