Index: runtime/vm/code_generator.cc |
=================================================================== |
--- runtime/vm/code_generator.cc (revision 14922) |
+++ runtime/vm/code_generator.cc (working copy) |
@@ -56,8 +56,9 @@ |
DEFINE_RUNTIME_ENTRY(TraceFunctionEntry, 1) { |
- ASSERT(arguments.Count() == kTraceFunctionEntryRuntimeEntry.argument_count()); |
- const Function& function = Function::CheckedHandle(arguments.At(0)); |
+ ASSERT(arguments.ArgCount() == |
+ kTraceFunctionEntryRuntimeEntry.argument_count()); |
+ const Function& function = Function::CheckedHandle(arguments.ArgAt(0)); |
const String& function_name = String::Handle(function.name()); |
const String& class_name = |
String::Handle(Class::Handle(function.Owner()).Name()); |
@@ -67,8 +68,9 @@ |
DEFINE_RUNTIME_ENTRY(TraceFunctionExit, 1) { |
- ASSERT(arguments.Count() == kTraceFunctionExitRuntimeEntry.argument_count()); |
- const Function& function = Function::CheckedHandle(arguments.At(0)); |
+ ASSERT(arguments.ArgCount() == |
+ kTraceFunctionExitRuntimeEntry.argument_count()); |
+ const Function& function = Function::CheckedHandle(arguments.ArgAt(0)); |
const String& function_name = String::Handle(function.name()); |
const String& class_name = |
String::Handle(Class::Handle(function.Owner()).Name()); |
@@ -84,12 +86,12 @@ |
// Arg1: array element type. |
// Return value: newly allocated array of length arg0. |
DEFINE_RUNTIME_ENTRY(AllocateArray, 2) { |
- ASSERT(arguments.Count() == kAllocateArrayRuntimeEntry.argument_count()); |
- const Smi& length = Smi::CheckedHandle(arguments.At(0)); |
+ ASSERT(arguments.ArgCount() == kAllocateArrayRuntimeEntry.argument_count()); |
+ const Smi& length = Smi::CheckedHandle(arguments.ArgAt(0)); |
const Array& array = Array::Handle(Array::New(length.Value())); |
arguments.SetReturn(array); |
AbstractTypeArguments& element_type = |
- AbstractTypeArguments::CheckedHandle(arguments.At(1)); |
+ AbstractTypeArguments::CheckedHandle(arguments.ArgAt(1)); |
// An Array is raw or takes only one type argument. |
ASSERT(element_type.IsNull() || |
((element_type.Length() == 1) && element_type.IsInstantiated())); |
@@ -103,29 +105,29 @@ |
// Arg2: type arguments of the instantiator or kNoInstantiator. |
// Return value: newly allocated object. |
DEFINE_RUNTIME_ENTRY(AllocateObject, 3) { |
- ASSERT(arguments.Count() == kAllocateObjectRuntimeEntry.argument_count()); |
- const Class& cls = Class::CheckedHandle(arguments.At(0)); |
+ ASSERT(arguments.ArgCount() == kAllocateObjectRuntimeEntry.argument_count()); |
+ const Class& cls = Class::CheckedHandle(arguments.ArgAt(0)); |
const Instance& instance = Instance::Handle(Instance::New(cls)); |
arguments.SetReturn(instance); |
if (!cls.HasTypeArguments()) { |
// No type arguments required for a non-parameterized type. |
- ASSERT(Instance::CheckedHandle(arguments.At(1)).IsNull()); |
+ ASSERT(Instance::CheckedHandle(arguments.ArgAt(1)).IsNull()); |
return; |
} |
AbstractTypeArguments& type_arguments = |
- AbstractTypeArguments::CheckedHandle(arguments.At(1)); |
+ AbstractTypeArguments::CheckedHandle(arguments.ArgAt(1)); |
ASSERT(type_arguments.IsNull() || |
(type_arguments.Length() == cls.NumTypeArguments())); |
// If no instantiator is provided, set the type arguments and return. |
- if (Object::Handle(arguments.At(2)).IsSmi()) { |
- ASSERT(Smi::CheckedHandle(arguments.At(2)).Value() == |
+ if (Object::Handle(arguments.ArgAt(2)).IsSmi()) { |
+ ASSERT(Smi::CheckedHandle(arguments.ArgAt(2)).Value() == |
StubCode::kNoInstantiator); |
instance.SetTypeArguments(type_arguments); // May be null. |
return; |
} |
ASSERT(!type_arguments.IsInstantiated()); |
const AbstractTypeArguments& instantiator = |
- AbstractTypeArguments::CheckedHandle(arguments.At(2)); |
+ AbstractTypeArguments::CheckedHandle(arguments.ArgAt(2)); |
ASSERT(instantiator.IsNull() || instantiator.IsInstantiated()); |
if (instantiator.IsNull()) { |
type_arguments = |
@@ -178,24 +180,24 @@ |
// Return value: newly allocated object. |
DEFINE_RUNTIME_ENTRY(AllocateObjectWithBoundsCheck, 3) { |
ASSERT(FLAG_enable_type_checks); |
- ASSERT(arguments.Count() == |
+ ASSERT(arguments.ArgCount() == |
kAllocateObjectWithBoundsCheckRuntimeEntry.argument_count()); |
- const Class& cls = Class::CheckedHandle(arguments.At(0)); |
+ const Class& cls = Class::CheckedHandle(arguments.ArgAt(0)); |
const Instance& instance = Instance::Handle(Instance::New(cls)); |
arguments.SetReturn(instance); |
ASSERT(cls.HasTypeArguments()); |
AbstractTypeArguments& type_arguments = |
- AbstractTypeArguments::CheckedHandle(arguments.At(1)); |
+ AbstractTypeArguments::CheckedHandle(arguments.ArgAt(1)); |
ASSERT(type_arguments.IsNull() || |
(type_arguments.Length() == cls.NumTypeArguments())); |
AbstractTypeArguments& bounds_instantiator = AbstractTypeArguments::Handle(); |
- if (Object::Handle(arguments.At(2)).IsSmi()) { |
- ASSERT(Smi::CheckedHandle(arguments.At(2)).Value() == |
+ if (Object::Handle(arguments.ArgAt(2)).IsSmi()) { |
+ ASSERT(Smi::CheckedHandle(arguments.ArgAt(2)).Value() == |
StubCode::kNoInstantiator); |
} else { |
ASSERT(!type_arguments.IsInstantiated()); |
const AbstractTypeArguments& instantiator = |
- AbstractTypeArguments::CheckedHandle(arguments.At(2)); |
+ AbstractTypeArguments::CheckedHandle(arguments.ArgAt(2)); |
ASSERT(instantiator.IsNull() || instantiator.IsInstantiated()); |
if (instantiator.IsNull()) { |
type_arguments = |
@@ -246,12 +248,12 @@ |
// Arg1: instantiator type arguments. |
// Return value: instantiated type arguments. |
DEFINE_RUNTIME_ENTRY(InstantiateTypeArguments, 2) { |
- ASSERT(arguments.Count() == |
+ ASSERT(arguments.ArgCount() == |
kInstantiateTypeArgumentsRuntimeEntry.argument_count()); |
AbstractTypeArguments& type_arguments = |
- AbstractTypeArguments::CheckedHandle(arguments.At(0)); |
+ AbstractTypeArguments::CheckedHandle(arguments.ArgAt(0)); |
const AbstractTypeArguments& instantiator = |
- AbstractTypeArguments::CheckedHandle(arguments.At(1)); |
+ AbstractTypeArguments::CheckedHandle(arguments.ArgAt(1)); |
ASSERT(!type_arguments.IsNull() && !type_arguments.IsInstantiated()); |
ASSERT(instantiator.IsNull() || instantiator.IsInstantiated()); |
// Code inlined in the caller should have optimized the case where the |
@@ -275,11 +277,11 @@ |
// Arg1: type arguments of the closure (i.e. instantiator). |
// Return value: newly allocated closure. |
DEFINE_RUNTIME_ENTRY(AllocateClosure, 2) { |
- ASSERT(arguments.Count() == kAllocateClosureRuntimeEntry.argument_count()); |
- const Function& function = Function::CheckedHandle(arguments.At(0)); |
+ ASSERT(arguments.ArgCount() == kAllocateClosureRuntimeEntry.argument_count()); |
+ const Function& function = Function::CheckedHandle(arguments.ArgAt(0)); |
ASSERT(function.IsClosureFunction() && !function.IsImplicitClosureFunction()); |
const AbstractTypeArguments& type_arguments = |
- AbstractTypeArguments::CheckedHandle(arguments.At(1)); |
+ AbstractTypeArguments::CheckedHandle(arguments.ArgAt(1)); |
ASSERT(type_arguments.IsNull() || type_arguments.IsInstantiated()); |
// The current context was saved in the Isolate structure when entering the |
// runtime. |
@@ -295,11 +297,11 @@ |
// Arg0: local function. |
// Return value: newly allocated closure. |
DEFINE_RUNTIME_ENTRY(AllocateImplicitStaticClosure, 1) { |
- ASSERT(arguments.Count() == |
+ ASSERT(arguments.ArgCount() == |
kAllocateImplicitStaticClosureRuntimeEntry.argument_count()); |
ObjectStore* object_store = isolate->object_store(); |
ASSERT(object_store != NULL); |
- const Function& function = Function::CheckedHandle(arguments.At(0)); |
+ const Function& function = Function::CheckedHandle(arguments.ArgAt(0)); |
ASSERT(!function.IsNull()); |
ASSERT(function.IsImplicitStaticClosureFunction()); |
const Context& context = Context::Handle(object_store->empty_context()); |
@@ -313,13 +315,13 @@ |
// Arg2: type arguments of the closure. |
// Return value: newly allocated closure. |
DEFINE_RUNTIME_ENTRY(AllocateImplicitInstanceClosure, 3) { |
- ASSERT(arguments.Count() == |
+ ASSERT(arguments.ArgCount() == |
kAllocateImplicitInstanceClosureRuntimeEntry.argument_count()); |
- const Function& function = Function::CheckedHandle(arguments.At(0)); |
+ const Function& function = Function::CheckedHandle(arguments.ArgAt(0)); |
ASSERT(function.IsImplicitInstanceClosureFunction()); |
- const Instance& receiver = Instance::CheckedHandle(arguments.At(1)); |
+ const Instance& receiver = Instance::CheckedHandle(arguments.ArgAt(1)); |
const AbstractTypeArguments& type_arguments = |
- AbstractTypeArguments::CheckedHandle(arguments.At(2)); |
+ AbstractTypeArguments::CheckedHandle(arguments.ArgAt(2)); |
ASSERT(type_arguments.IsNull() || type_arguments.IsInstantiated()); |
Context& context = Context::Handle(); |
context = Context::New(1); |
@@ -334,8 +336,8 @@ |
// Arg0: number of variables. |
// Return value: newly allocated context. |
DEFINE_RUNTIME_ENTRY(AllocateContext, 1) { |
- ASSERT(arguments.Count() == kAllocateContextRuntimeEntry.argument_count()); |
- const Smi& num_variables = Smi::CheckedHandle(arguments.At(0)); |
+ ASSERT(arguments.ArgCount() == kAllocateContextRuntimeEntry.argument_count()); |
+ const Smi& num_variables = Smi::CheckedHandle(arguments.ArgAt(0)); |
arguments.SetReturn(Context::Handle(Context::New(num_variables.Value()))); |
} |
@@ -345,8 +347,8 @@ |
// Arg0: the context to be cloned. |
// Return value: newly allocated context. |
DEFINE_RUNTIME_ENTRY(CloneContext, 1) { |
- ASSERT(arguments.Count() == kCloneContextRuntimeEntry.argument_count()); |
- const Context& ctx = Context::CheckedHandle(arguments.At(0)); |
+ ASSERT(arguments.ArgCount() == kCloneContextRuntimeEntry.argument_count()); |
+ const Context& ctx = Context::CheckedHandle(arguments.ArgAt(0)); |
Context& cloned_ctx = Context::Handle(Context::New(ctx.num_variables())); |
cloned_ctx.set_parent(Context::Handle(ctx.parent())); |
for (int i = 0; i < ctx.num_variables(); i++) { |
@@ -579,14 +581,14 @@ |
// Arg4: SubtypeTestCache. |
// Return value: true or false, or may throw a type error in checked mode. |
DEFINE_RUNTIME_ENTRY(Instanceof, 5) { |
- ASSERT(arguments.Count() == kInstanceofRuntimeEntry.argument_count()); |
- const Instance& instance = Instance::CheckedHandle(arguments.At(0)); |
- const AbstractType& type = AbstractType::CheckedHandle(arguments.At(1)); |
- const Instance& instantiator = Instance::CheckedHandle(arguments.At(2)); |
+ ASSERT(arguments.ArgCount() == kInstanceofRuntimeEntry.argument_count()); |
+ const Instance& instance = Instance::CheckedHandle(arguments.ArgAt(0)); |
+ const AbstractType& type = AbstractType::CheckedHandle(arguments.ArgAt(1)); |
+ const Instance& instantiator = Instance::CheckedHandle(arguments.ArgAt(2)); |
const AbstractTypeArguments& instantiator_type_arguments = |
- AbstractTypeArguments::CheckedHandle(arguments.At(3)); |
+ AbstractTypeArguments::CheckedHandle(arguments.ArgAt(3)); |
const SubtypeTestCache& cache = |
- SubtypeTestCache::CheckedHandle(arguments.At(4)); |
+ SubtypeTestCache::CheckedHandle(arguments.ArgAt(4)); |
ASSERT(type.IsFinalized()); |
Error& malformed_error = Error::Handle(); |
const Bool& result = Bool::Handle( |
@@ -624,15 +626,17 @@ |
// Arg5: SubtypeTestCache. |
// Return value: instance if a subtype, otherwise throw a TypeError. |
DEFINE_RUNTIME_ENTRY(TypeCheck, 6) { |
- ASSERT(arguments.Count() == kTypeCheckRuntimeEntry.argument_count()); |
- const Instance& src_instance = Instance::CheckedHandle(arguments.At(0)); |
- const AbstractType& dst_type = AbstractType::CheckedHandle(arguments.At(1)); |
- const Instance& dst_instantiator = Instance::CheckedHandle(arguments.At(2)); |
+ ASSERT(arguments.ArgCount() == kTypeCheckRuntimeEntry.argument_count()); |
+ const Instance& src_instance = Instance::CheckedHandle(arguments.ArgAt(0)); |
+ const AbstractType& dst_type = |
+ AbstractType::CheckedHandle(arguments.ArgAt(1)); |
+ const Instance& dst_instantiator = |
+ Instance::CheckedHandle(arguments.ArgAt(2)); |
const AbstractTypeArguments& instantiator_type_arguments = |
- AbstractTypeArguments::CheckedHandle(arguments.At(3)); |
- const String& dst_name = String::CheckedHandle(arguments.At(4)); |
+ AbstractTypeArguments::CheckedHandle(arguments.ArgAt(3)); |
+ const String& dst_name = String::CheckedHandle(arguments.ArgAt(4)); |
const SubtypeTestCache& cache = |
- SubtypeTestCache::CheckedHandle(arguments.At(5)); |
+ SubtypeTestCache::CheckedHandle(arguments.ArgAt(5)); |
ASSERT(!dst_type.IsDynamicType()); // No need to check assignment. |
ASSERT(!dst_type.IsMalformed()); // Already checked in code generator. |
ASSERT(!src_instance.IsNull()); // Already checked in inlined code. |
@@ -682,12 +686,12 @@ |
// Arg2: arguments descriptor array. |
// Return value: true or false. |
DEFINE_RUNTIME_ENTRY(ArgumentDefinitionTest, 3) { |
- ASSERT(arguments.Count() == |
+ ASSERT(arguments.ArgCount() == |
kArgumentDefinitionTestRuntimeEntry.argument_count()); |
- const Smi& param_index = Smi::CheckedHandle(arguments.At(0)); |
- const String& param_name = String::CheckedHandle(arguments.At(1)); |
+ const Smi& param_index = Smi::CheckedHandle(arguments.ArgAt(0)); |
+ const String& param_name = String::CheckedHandle(arguments.ArgAt(1)); |
ASSERT(param_name.IsSymbol()); |
- const Array& arg_desc = Array::CheckedHandle(arguments.At(2)); |
+ const Array& arg_desc = Array::CheckedHandle(arguments.ArgAt(2)); |
const intptr_t num_pos_args = Smi::CheckedHandle(arg_desc.At(1)).Value(); |
// Check if the formal parameter is defined by a positional argument. |
bool is_defined = num_pos_args > param_index.Value(); |
@@ -712,10 +716,10 @@ |
// Arg0: bad object. |
// Return value: none, throws a TypeError. |
DEFINE_RUNTIME_ENTRY(ConditionTypeError, 1) { |
- ASSERT(arguments.Count() == |
+ ASSERT(arguments.ArgCount() == |
kConditionTypeErrorRuntimeEntry.argument_count()); |
const intptr_t location = GetCallerLocation(); |
- const Instance& src_instance = Instance::CheckedHandle(arguments.At(0)); |
+ const Instance& src_instance = Instance::CheckedHandle(arguments.ArgAt(0)); |
ASSERT(src_instance.IsNull() || !src_instance.IsBool()); |
const Type& bool_interface = Type::Handle(Type::BoolType()); |
const AbstractType& src_type = AbstractType::Handle(src_instance.GetType()); |
@@ -736,12 +740,12 @@ |
// Arg2: malformed type error message. |
// Return value: none, throws an exception. |
DEFINE_RUNTIME_ENTRY(MalformedTypeError, 3) { |
- ASSERT(arguments.Count() == |
+ ASSERT(arguments.ArgCount() == |
kMalformedTypeErrorRuntimeEntry.argument_count()); |
const intptr_t location = GetCallerLocation(); |
- const Instance& src_value = Instance::CheckedHandle(arguments.At(0)); |
- const String& dst_name = String::CheckedHandle(arguments.At(1)); |
- const String& malformed_error = String::CheckedHandle(arguments.At(2)); |
+ const Instance& src_value = Instance::CheckedHandle(arguments.ArgAt(0)); |
+ const String& dst_name = String::CheckedHandle(arguments.ArgAt(1)); |
+ const String& malformed_error = String::CheckedHandle(arguments.ArgAt(2)); |
const String& dst_type_name = String::Handle(Symbols::New("malformed")); |
const AbstractType& src_type = AbstractType::Handle(src_value.GetType()); |
const String& src_type_name = String::Handle(src_type.UserVisibleName()); |
@@ -752,16 +756,16 @@ |
DEFINE_RUNTIME_ENTRY(Throw, 1) { |
- ASSERT(arguments.Count() == kThrowRuntimeEntry.argument_count()); |
- const Instance& exception = Instance::CheckedHandle(arguments.At(0)); |
+ ASSERT(arguments.ArgCount() == kThrowRuntimeEntry.argument_count()); |
+ const Instance& exception = Instance::CheckedHandle(arguments.ArgAt(0)); |
Exceptions::Throw(exception); |
} |
DEFINE_RUNTIME_ENTRY(ReThrow, 2) { |
- ASSERT(arguments.Count() == kReThrowRuntimeEntry.argument_count()); |
- const Instance& exception = Instance::CheckedHandle(arguments.At(0)); |
- const Instance& stacktrace = Instance::CheckedHandle(arguments.At(1)); |
+ ASSERT(arguments.ArgCount() == kReThrowRuntimeEntry.argument_count()); |
+ const Instance& exception = Instance::CheckedHandle(arguments.ArgAt(0)); |
+ const Instance& stacktrace = Instance::CheckedHandle(arguments.ArgAt(1)); |
Exceptions::ReThrow(exception, stacktrace); |
} |
@@ -809,7 +813,7 @@ |
DEFINE_RUNTIME_ENTRY(PatchStaticCall, 0) { |
// This function is called after successful resolving and compilation of |
// the target method. |
- ASSERT(arguments.Count() == kPatchStaticCallRuntimeEntry.argument_count()); |
+ ASSERT(arguments.ArgCount() == kPatchStaticCallRuntimeEntry.argument_count()); |
DartFrameIterator iterator; |
StackFrame* caller_frame = iterator.NextFrame(); |
ASSERT(caller_frame != NULL); |
@@ -890,9 +894,9 @@ |
// patched. |
// Used by megamorphic lookup/no-such-method-handling. |
DEFINE_RUNTIME_ENTRY(ResolveCompileInstanceFunction, 1) { |
- ASSERT(arguments.Count() == |
+ ASSERT(arguments.ArgCount() == |
kResolveCompileInstanceFunctionRuntimeEntry.argument_count()); |
- const Instance& receiver = Instance::CheckedHandle(arguments.At(0)); |
+ const Instance& receiver = Instance::CheckedHandle(arguments.ArgAt(0)); |
const Code& code = Code::Handle( |
ResolveCompileInstanceCallTarget(isolate, receiver)); |
arguments.SetReturn(code); |
@@ -902,14 +906,14 @@ |
// Gets called from debug stub when code reaches a breakpoint. |
// Arg0: function object of the static function that was about to be called. |
DEFINE_RUNTIME_ENTRY(BreakpointStaticHandler, 1) { |
- ASSERT(arguments.Count() == |
+ ASSERT(arguments.ArgCount() == |
kBreakpointStaticHandlerRuntimeEntry.argument_count()); |
ASSERT(isolate->debugger() != NULL); |
isolate->debugger()->SignalBpReached(); |
// Make sure the static function that is about to be called is |
// compiled. The stub will jump to the entry point without any |
// further tests. |
- const Function& function = Function::CheckedHandle(arguments.At(0)); |
+ const Function& function = Function::CheckedHandle(arguments.ArgAt(0)); |
if (!function.HasCode()) { |
const Error& error = Error::Handle(Compiler::CompileFunction(function)); |
if (!error.IsNull()) { |
@@ -922,7 +926,7 @@ |
// Gets called from debug stub when code reaches a breakpoint at a return |
// in Dart code. |
DEFINE_RUNTIME_ENTRY(BreakpointReturnHandler, 0) { |
- ASSERT(arguments.Count() == |
+ ASSERT(arguments.ArgCount() == |
kBreakpointReturnHandlerRuntimeEntry.argument_count()); |
ASSERT(isolate->debugger() != NULL); |
isolate->debugger()->SignalBpReached(); |
@@ -931,7 +935,7 @@ |
// Gets called from debug stub when code reaches a breakpoint. |
DEFINE_RUNTIME_ENTRY(BreakpointDynamicHandler, 0) { |
- ASSERT(arguments.Count() == |
+ ASSERT(arguments.ArgCount() == |
kBreakpointDynamicHandlerRuntimeEntry.argument_count()); |
ASSERT(isolate->debugger() != NULL); |
isolate->debugger()->SignalBpReached(); |
@@ -998,9 +1002,9 @@ |
// Returns: target function with compiled code or null. |
// Modifies the instance call to hold the updated IC data array. |
DEFINE_RUNTIME_ENTRY(InlineCacheMissHandlerOneArg, 1) { |
- ASSERT(arguments.Count() == |
+ ASSERT(arguments.ArgCount() == |
kInlineCacheMissHandlerOneArgRuntimeEntry.argument_count()); |
- const Instance& receiver = Instance::CheckedHandle(arguments.At(0)); |
+ const Instance& receiver = Instance::CheckedHandle(arguments.ArgAt(0)); |
GrowableArray<const Instance*> args(1); |
args.Add(&receiver); |
const Function& result = |
@@ -1016,10 +1020,10 @@ |
// Returns: target function with compiled code or null. |
// Modifies the instance call to hold the updated IC data array. |
DEFINE_RUNTIME_ENTRY(InlineCacheMissHandlerTwoArgs, 2) { |
- ASSERT(arguments.Count() == |
+ ASSERT(arguments.ArgCount() == |
kInlineCacheMissHandlerTwoArgsRuntimeEntry.argument_count()); |
- const Instance& receiver = Instance::CheckedHandle(arguments.At(0)); |
- const Instance& other = Instance::CheckedHandle(arguments.At(1)); |
+ const Instance& receiver = Instance::CheckedHandle(arguments.ArgAt(0)); |
+ const Instance& other = Instance::CheckedHandle(arguments.ArgAt(1)); |
GrowableArray<const Instance*> args(2); |
args.Add(&receiver); |
args.Add(&other); |
@@ -1037,11 +1041,11 @@ |
// Returns: target function with compiled code or null. |
// Modifies the instance call to hold the updated IC data array. |
DEFINE_RUNTIME_ENTRY(InlineCacheMissHandlerThreeArgs, 3) { |
- ASSERT(arguments.Count() == |
+ ASSERT(arguments.ArgCount() == |
kInlineCacheMissHandlerThreeArgsRuntimeEntry.argument_count()); |
- const Instance& receiver = Instance::CheckedHandle(arguments.At(0)); |
- const Instance& arg1 = Instance::CheckedHandle(arguments.At(1)); |
- const Instance& arg2 = Instance::CheckedHandle(arguments.At(2)); |
+ const Instance& receiver = Instance::CheckedHandle(arguments.ArgAt(0)); |
+ const Instance& arg1 = Instance::CheckedHandle(arguments.ArgAt(1)); |
+ const Instance& arg2 = Instance::CheckedHandle(arguments.ArgAt(2)); |
GrowableArray<const Instance*> args(3); |
args.Add(&receiver); |
args.Add(&arg1); |
@@ -1059,12 +1063,12 @@ |
// Arg2: Target's name. |
// Arg3: ICData. |
DEFINE_RUNTIME_ENTRY(UpdateICDataTwoArgs, 4) { |
- ASSERT(arguments.Count() == |
+ ASSERT(arguments.ArgCount() == |
kUpdateICDataTwoArgsRuntimeEntry.argument_count()); |
- const Instance& receiver = Instance::CheckedHandle(arguments.At(0)); |
- const Instance& arg1 = Instance::CheckedHandle(arguments.At(1)); |
- const String& target_name = String::CheckedHandle(arguments.At(2)); |
- const ICData& ic_data = ICData::CheckedHandle(arguments.At(3)); |
+ const Instance& receiver = Instance::CheckedHandle(arguments.ArgAt(0)); |
+ const Instance& arg1 = Instance::CheckedHandle(arguments.ArgAt(1)); |
+ const String& target_name = String::CheckedHandle(arguments.ArgAt(2)); |
+ const ICData& ic_data = ICData::CheckedHandle(arguments.ArgAt(3)); |
GrowableArray<const Instance*> args(2); |
args.Add(&receiver); |
args.Add(&arg1); |
@@ -1116,10 +1120,10 @@ |
// This is called by the megamorphic stub when it is unable to resolve an |
// instance method. This is done just before the call to noSuchMethod. |
DEFINE_RUNTIME_ENTRY(ResolveImplicitClosureFunction, 2) { |
- ASSERT(arguments.Count() == |
+ ASSERT(arguments.ArgCount() == |
kResolveImplicitClosureFunctionRuntimeEntry.argument_count()); |
- const Instance& receiver = Instance::CheckedHandle(arguments.At(0)); |
- const ICData& ic_data = ICData::CheckedHandle(arguments.At(1)); |
+ const Instance& receiver = Instance::CheckedHandle(arguments.ArgAt(0)); |
+ const ICData& ic_data = ICData::CheckedHandle(arguments.ArgAt(1)); |
const String& original_function_name = String::Handle(ic_data.target_name()); |
Instance& closure = Instance::Handle(); |
if (!Field::IsGetterName(original_function_name)) { |
@@ -1164,10 +1168,10 @@ |
// This is called by the megamorphic stub when it is unable to resolve an |
// instance method. This is done just before the call to noSuchMethod. |
DEFINE_RUNTIME_ENTRY(ResolveImplicitClosureThroughGetter, 2) { |
- ASSERT(arguments.Count() == |
+ ASSERT(arguments.ArgCount() == |
kResolveImplicitClosureThroughGetterRuntimeEntry.argument_count()); |
- const Instance& receiver = Instance::CheckedHandle(arguments.At(0)); |
- const ICData& ic_data = ICData::CheckedHandle(arguments.At(1)); |
+ const Instance& receiver = Instance::CheckedHandle(arguments.ArgAt(0)); |
+ const ICData& ic_data = ICData::CheckedHandle(arguments.ArgAt(1)); |
const String& original_function_name = String::Handle(ic_data.target_name()); |
const int kNumArguments = 1; |
const int kNumNamedArguments = 0; |
@@ -1256,11 +1260,11 @@ |
// Arg1: arguments descriptor (originally passed as dart instance invocation). |
// Arg2: arguments array (originally passed to dart instance invocation). |
DEFINE_RUNTIME_ENTRY(InvokeImplicitClosureFunction, 3) { |
- ASSERT(arguments.Count() == |
+ ASSERT(arguments.ArgCount() == |
kInvokeImplicitClosureFunctionRuntimeEntry.argument_count()); |
- const Instance& closure = Instance::CheckedHandle(arguments.At(0)); |
- const Array& arg_descriptor = Array::CheckedHandle(arguments.At(1)); |
- const Array& func_arguments = Array::CheckedHandle(arguments.At(2)); |
+ const Instance& closure = Instance::CheckedHandle(arguments.ArgAt(0)); |
+ const Array& arg_descriptor = Array::CheckedHandle(arguments.ArgAt(1)); |
+ const Array& func_arguments = Array::CheckedHandle(arguments.ArgAt(2)); |
const Function& function = Function::Handle(Closure::function(closure)); |
ASSERT(!function.IsNull()); |
if (!function.HasCode()) { |
@@ -1306,13 +1310,13 @@ |
// Arg2: original arguments descriptor array. |
// Arg3: original arguments array. |
DEFINE_RUNTIME_ENTRY(InvokeNoSuchMethodFunction, 4) { |
- ASSERT(arguments.Count() == |
+ ASSERT(arguments.ArgCount() == |
kInvokeNoSuchMethodFunctionRuntimeEntry.argument_count()); |
- const Instance& receiver = Instance::CheckedHandle(arguments.At(0)); |
- const ICData& ic_data = ICData::CheckedHandle(arguments.At(1)); |
+ const Instance& receiver = Instance::CheckedHandle(arguments.ArgAt(0)); |
+ const ICData& ic_data = ICData::CheckedHandle(arguments.ArgAt(1)); |
const String& original_function_name = String::Handle(ic_data.target_name()); |
- ASSERT(!Array::CheckedHandle(arguments.At(2)).IsNull()); |
- const Array& orig_arguments = Array::CheckedHandle(arguments.At(3)); |
+ ASSERT(!Array::CheckedHandle(arguments.ArgAt(2)).IsNull()); |
+ const Array& orig_arguments = Array::CheckedHandle(arguments.ArgAt(3)); |
// Allocate an InvocationMirror object. |
// TODO(regis): Fill in the InvocationMirror object correctly at |
// this point we do not deal with named arguments and treat them |
@@ -1366,10 +1370,10 @@ |
// Arg1: arguments array. |
// TODO(regis): Rename this entry? |
DEFINE_RUNTIME_ENTRY(ReportObjectNotClosure, 2) { |
- ASSERT(arguments.Count() == |
+ ASSERT(arguments.ArgCount() == |
kReportObjectNotClosureRuntimeEntry.argument_count()); |
- const Instance& instance = Instance::CheckedHandle(arguments.At(0)); |
- const Array& function_args = Array::CheckedHandle(arguments.At(1)); |
+ const Instance& instance = Instance::CheckedHandle(arguments.ArgAt(0)); |
+ const Array& function_args = Array::CheckedHandle(arguments.ArgAt(1)); |
const String& function_name = String::Handle(Symbols::Call()); |
GrowableArray<const Object*> dart_arguments(5); |
if (instance.IsNull()) { |
@@ -1413,7 +1417,7 @@ |
// A closure object was invoked with incompatible arguments. |
// TODO(regis): Deprecated. This case should be handled by a noSuchMethod call. |
DEFINE_RUNTIME_ENTRY(ClosureArgumentMismatch, 0) { |
- ASSERT(arguments.Count() == |
+ ASSERT(arguments.ArgCount() == |
kClosureArgumentMismatchRuntimeEntry.argument_count()); |
const Instance& instance = Instance::Handle(); // Incorrect. OK for now. |
const Array& function_args = Array::Handle(); // Incorrect. OK for now. |
@@ -1431,7 +1435,7 @@ |
DEFINE_RUNTIME_ENTRY(StackOverflow, 0) { |
- ASSERT(arguments.Count() == |
+ ASSERT(arguments.ArgCount() == |
kStackOverflowRuntimeEntry.argument_count()); |
uword stack_pos = reinterpret_cast<uword>(&arguments); |
@@ -1494,10 +1498,10 @@ |
DEFINE_RUNTIME_ENTRY(TraceICCall, 2) { |
- ASSERT(arguments.Count() == |
+ ASSERT(arguments.ArgCount() == |
kTraceICCallRuntimeEntry.argument_count()); |
- const ICData& ic_data = ICData::CheckedHandle(arguments.At(0)); |
- const Function& function = Function::CheckedHandle(arguments.At(1)); |
+ const ICData& ic_data = ICData::CheckedHandle(arguments.ArgAt(0)); |
+ const Function& function = Function::CheckedHandle(arguments.ArgAt(1)); |
DartFrameIterator iterator; |
StackFrame* frame = iterator.NextFrame(); |
ASSERT(frame != NULL); |
@@ -1514,10 +1518,10 @@ |
// This is called from function that needs to be optimized. |
// The requesting function can be already optimized (reoptimization). |
DEFINE_RUNTIME_ENTRY(OptimizeInvokedFunction, 1) { |
- ASSERT(arguments.Count() == |
+ ASSERT(arguments.ArgCount() == |
kOptimizeInvokedFunctionRuntimeEntry.argument_count()); |
const intptr_t kLowInvocationCount = -100000000; |
- const Function& function = Function::CheckedHandle(arguments.At(0)); |
+ const Function& function = Function::CheckedHandle(arguments.ArgAt(0)); |
if (isolate->debugger()->IsActive()) { |
// We cannot set breakpoints in optimized code, so do not optimize |
// the function. |
@@ -1563,8 +1567,9 @@ |
// The caller must be a static call in a Dart frame, or an entry frame. |
// Patch static call to point to 'new_entry_point'. |
DEFINE_RUNTIME_ENTRY(FixCallersTarget, 1) { |
- ASSERT(arguments.Count() == kFixCallersTargetRuntimeEntry.argument_count()); |
- const Function& function = Function::CheckedHandle(arguments.At(0)); |
+ ASSERT(arguments.ArgCount() == |
+ kFixCallersTargetRuntimeEntry.argument_count()); |
+ const Function& function = Function::CheckedHandle(arguments.ArgAt(0)); |
ASSERT(!function.IsNull()); |
ASSERT(function.HasCode()); |