| 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/object.h" | 5 #include "vm/object.h" |
| 6 | 6 |
| 7 #include "include/dart_api.h" | 7 #include "include/dart_api.h" |
| 8 #include "platform/assert.h" | 8 #include "platform/assert.h" |
| 9 #include "vm/assembler.h" | 9 #include "vm/assembler.h" |
| 10 #include "vm/cpu.h" | 10 #include "vm/cpu.h" |
| (...skipping 5090 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5101 char message_buffer[kMessageBufferSize]; | 5101 char message_buffer[kMessageBufferSize]; |
| 5102 OS::SNPrint(message_buffer, | 5102 OS::SNPrint(message_buffer, |
| 5103 kMessageBufferSize, | 5103 kMessageBufferSize, |
| 5104 "%" Pd " named passed, at most %" Pd " expected", | 5104 "%" Pd " named passed, at most %" Pd " expected", |
| 5105 num_named_arguments, | 5105 num_named_arguments, |
| 5106 NumOptionalNamedParameters()); | 5106 NumOptionalNamedParameters()); |
| 5107 *error_message = String::New(message_buffer); | 5107 *error_message = String::New(message_buffer); |
| 5108 } | 5108 } |
| 5109 return false; // Too many named arguments. | 5109 return false; // Too many named arguments. |
| 5110 } | 5110 } |
| 5111 const int num_pos_args = num_arguments - num_named_arguments; | 5111 const intptr_t num_pos_args = num_arguments - num_named_arguments; |
| 5112 const int num_opt_pos_params = NumOptionalPositionalParameters(); | 5112 const intptr_t num_opt_pos_params = NumOptionalPositionalParameters(); |
| 5113 const int num_pos_params = num_fixed_parameters() + num_opt_pos_params; | 5113 const intptr_t num_pos_params = num_fixed_parameters() + num_opt_pos_params; |
| 5114 if (num_pos_args > num_pos_params) { | 5114 if (num_pos_args > num_pos_params) { |
| 5115 if (error_message != NULL) { | 5115 if (error_message != NULL) { |
| 5116 const intptr_t kMessageBufferSize = 64; | 5116 const intptr_t kMessageBufferSize = 64; |
| 5117 char message_buffer[kMessageBufferSize]; | 5117 char message_buffer[kMessageBufferSize]; |
| 5118 // Hide implicit parameters to the user. | 5118 // Hide implicit parameters to the user. |
| 5119 const intptr_t num_hidden_params = NumImplicitParameters(); | 5119 const intptr_t num_hidden_params = NumImplicitParameters(); |
| 5120 OS::SNPrint(message_buffer, | 5120 OS::SNPrint(message_buffer, |
| 5121 kMessageBufferSize, | 5121 kMessageBufferSize, |
| 5122 "%" Pd "%s passed, %s%" Pd " expected", | 5122 "%" Pd "%s passed, %s%" Pd " expected", |
| 5123 num_pos_args - num_hidden_params, | 5123 num_pos_args - num_hidden_params, |
| (...skipping 6848 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 11972 if (cls.EnsureIsFinalized(isolate) != Error::null()) { | 11972 if (cls.EnsureIsFinalized(isolate) != Error::null()) { |
| 11973 return Instance::null(); | 11973 return Instance::null(); |
| 11974 } | 11974 } |
| 11975 intptr_t instance_size = cls.instance_size(); | 11975 intptr_t instance_size = cls.instance_size(); |
| 11976 ASSERT(instance_size > 0); | 11976 ASSERT(instance_size > 0); |
| 11977 RawObject* raw = Object::Allocate(cls.id(), instance_size, space); | 11977 RawObject* raw = Object::Allocate(cls.id(), instance_size, space); |
| 11978 return reinterpret_cast<RawInstance*>(raw); | 11978 return reinterpret_cast<RawInstance*>(raw); |
| 11979 } | 11979 } |
| 11980 | 11980 |
| 11981 | 11981 |
| 11982 bool Instance::IsValidFieldOffset(int offset) const { | 11982 bool Instance::IsValidFieldOffset(intptr_t offset) const { |
| 11983 const Class& cls = Class::Handle(clazz()); | 11983 const Class& cls = Class::Handle(clazz()); |
| 11984 return (offset >= 0 && offset <= (cls.instance_size() - kWordSize)); | 11984 return (offset >= 0 && offset <= (cls.instance_size() - kWordSize)); |
| 11985 } | 11985 } |
| 11986 | 11986 |
| 11987 | 11987 |
| 11988 const char* Instance::ToCString() const { | 11988 const char* Instance::ToCString() const { |
| 11989 if (IsNull()) { | 11989 if (IsNull()) { |
| 11990 return "null"; | 11990 return "null"; |
| 11991 } else if (raw() == Object::sentinel().raw()) { | 11991 } else if (raw() == Object::sentinel().raw()) { |
| 11992 return "sentinel"; | 11992 return "sentinel"; |
| (...skipping 4218 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 16211 jselement.AddProperty("index", index); | 16211 jselement.AddProperty("index", index); |
| 16212 | 16212 |
| 16213 Instance& instance = Instance::Handle(); | 16213 Instance& instance = Instance::Handle(); |
| 16214 instance ^= At(index); | 16214 instance ^= At(index); |
| 16215 jselement.AddProperty("value", instance); | 16215 jselement.AddProperty("value", instance); |
| 16216 } | 16216 } |
| 16217 } | 16217 } |
| 16218 } | 16218 } |
| 16219 | 16219 |
| 16220 | 16220 |
| 16221 RawArray* Array::Grow(const Array& source, int new_length, Heap::Space space) { | 16221 RawArray* Array::Grow(const Array& source, |
| 16222 intptr_t new_length, |
| 16223 Heap::Space space) { |
| 16222 const Array& result = Array::Handle(Array::New(new_length, space)); | 16224 const Array& result = Array::Handle(Array::New(new_length, space)); |
| 16223 intptr_t len = 0; | 16225 intptr_t len = 0; |
| 16224 if (!source.IsNull()) { | 16226 if (!source.IsNull()) { |
| 16225 len = source.Length(); | 16227 len = source.Length(); |
| 16226 result.SetTypeArguments(TypeArguments::Handle(source.GetTypeArguments())); | 16228 result.SetTypeArguments(TypeArguments::Handle(source.GetTypeArguments())); |
| 16227 } | 16229 } |
| 16228 ASSERT(new_length >= len); // Cannot copy 'source' into new array. | 16230 ASSERT(new_length >= len); // Cannot copy 'source' into new array. |
| 16229 ASSERT(new_length != len); // Unnecessary copying of array. | 16231 ASSERT(new_length != len); // Unnecessary copying of array. |
| 16230 Object& obj = Object::Handle(); | 16232 Object& obj = Object::Handle(); |
| 16231 for (int i = 0; i < len; i++) { | 16233 for (int i = 0; i < len; i++) { |
| (...skipping 1167 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 17399 return "_MirrorReference"; | 17401 return "_MirrorReference"; |
| 17400 } | 17402 } |
| 17401 | 17403 |
| 17402 | 17404 |
| 17403 void MirrorReference::PrintToJSONStream(JSONStream* stream, bool ref) const { | 17405 void MirrorReference::PrintToJSONStream(JSONStream* stream, bool ref) const { |
| 17404 Instance::PrintToJSONStream(stream, ref); | 17406 Instance::PrintToJSONStream(stream, ref); |
| 17405 } | 17407 } |
| 17406 | 17408 |
| 17407 | 17409 |
| 17408 } // namespace dart | 17410 } // namespace dart |
| OLD | NEW |