Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(77)

Side by Side Diff: runtime/vm/code_generator_test.cc

Issue 1307943008: Make default_parameter_values a ZoneGrowableArray instead of an array in new space (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Cleanup Created 5 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 "platform/globals.h" 5 #include "platform/globals.h"
6 6
7 #include "platform/assert.h" 7 #include "platform/assert.h"
8 #include "vm/globals.h" 8 #include "vm/globals.h"
9 #include "vm/ast.h" 9 #include "vm/ast.h"
10 #include "vm/assembler.h" 10 #include "vm/assembler.h"
(...skipping 191 matching lines...) Expand 10 before | Expand all | Expand 10 after
202 // Since this function has an optional parameter, its prologue will copy 202 // Since this function has an optional parameter, its prologue will copy
203 // incoming parameters to locals. 203 // incoming parameters to locals.
204 SequenceNode* node_seq = test->node_sequence(); 204 SequenceNode* node_seq = test->node_sequence();
205 const int num_fixed_params = 1; 205 const int num_fixed_params = 1;
206 const int num_opt_params = 1; 206 const int num_opt_params = 1;
207 const int num_params = num_fixed_params + num_opt_params; 207 const int num_params = num_fixed_params + num_opt_params;
208 LocalScope* local_scope = node_seq->scope(); 208 LocalScope* local_scope = node_seq->scope();
209 local_scope->InsertParameterAt(0, NewTestLocalVariable("a")); 209 local_scope->InsertParameterAt(0, NewTestLocalVariable("a"));
210 local_scope->InsertParameterAt(1, NewTestLocalVariable("b")); 210 local_scope->InsertParameterAt(1, NewTestLocalVariable("b"));
211 ASSERT(local_scope->num_variables() == num_params); 211 ASSERT(local_scope->num_variables() == num_params);
212 const Array& default_values = Array::ZoneHandle(Array::New(num_opt_params)); 212 ZoneGrowableArray<const Instance*>* default_values =
213 default_values.SetAt(0, Smi::ZoneHandle(Smi::New(1))); // b = 1. 213 new ZoneGrowableArray<const Instance*>(num_opt_params);
214 default_values->Add(&Smi::ZoneHandle(Smi::New(1))); // b = 1.
214 test->set_default_parameter_values(default_values); 215 test->set_default_parameter_values(default_values);
215 const Function& function = test->function(); 216 const Function& function = test->function();
216 function.set_is_native(true); 217 function.set_is_native(true);
217 function.set_num_fixed_parameters(num_fixed_params); 218 function.set_num_fixed_parameters(num_fixed_params);
218 function.SetNumOptionalParameters(num_opt_params, true); 219 function.SetNumOptionalParameters(num_opt_params, true);
219 const String& native_name = 220 const String& native_name =
220 String::ZoneHandle(Symbols::New("TestSmiSub")); 221 String::ZoneHandle(Symbols::New("TestSmiSub"));
221 NativeFunction native_function = 222 NativeFunction native_function =
222 reinterpret_cast<NativeFunction>(TestSmiSub); 223 reinterpret_cast<NativeFunction>(TestSmiSub);
223 node_seq->Add( 224 node_seq->Add(
(...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after
376 const int num_fixed_params = 2; 377 const int num_fixed_params = 2;
377 const int num_opt_params = 3; 378 const int num_opt_params = 3;
378 const int num_params = num_fixed_params + num_opt_params; 379 const int num_params = num_fixed_params + num_opt_params;
379 LocalScope* local_scope = node_seq->scope(); 380 LocalScope* local_scope = node_seq->scope();
380 local_scope->InsertParameterAt(0, NewTestLocalVariable("a")); 381 local_scope->InsertParameterAt(0, NewTestLocalVariable("a"));
381 local_scope->InsertParameterAt(1, NewTestLocalVariable("b")); 382 local_scope->InsertParameterAt(1, NewTestLocalVariable("b"));
382 local_scope->InsertParameterAt(2, NewTestLocalVariable("c")); 383 local_scope->InsertParameterAt(2, NewTestLocalVariable("c"));
383 local_scope->InsertParameterAt(3, NewTestLocalVariable("d")); 384 local_scope->InsertParameterAt(3, NewTestLocalVariable("d"));
384 local_scope->InsertParameterAt(4, NewTestLocalVariable("e")); 385 local_scope->InsertParameterAt(4, NewTestLocalVariable("e"));
385 ASSERT(local_scope->num_variables() == num_params); 386 ASSERT(local_scope->num_variables() == num_params);
386 const Array& default_values = Array::ZoneHandle(Array::New(num_opt_params)); 387 ZoneGrowableArray<const Instance*>* default_values =
387 default_values.SetAt(0, Smi::ZoneHandle(Smi::New(10))); 388 new ZoneGrowableArray<const Instance*>(num_opt_params);
388 default_values.SetAt(1, Smi::ZoneHandle(Smi::New(21))); 389 default_values->Add(&Smi::ZoneHandle(Smi::New(10)));
389 default_values.SetAt(2, Smi::ZoneHandle(Smi::New(-32))); 390 default_values->Add(&Smi::ZoneHandle(Smi::New(21)));
391 default_values->Add(&Smi::ZoneHandle(Smi::New(-32)));
390 test->set_default_parameter_values(default_values); 392 test->set_default_parameter_values(default_values);
391 const Function& function = test->function(); 393 const Function& function = test->function();
392 function.set_is_native(true); 394 function.set_is_native(true);
393 function.set_num_fixed_parameters(num_fixed_params); 395 function.set_num_fixed_parameters(num_fixed_params);
394 function.SetNumOptionalParameters(num_opt_params, true); 396 function.SetNumOptionalParameters(num_opt_params, true);
395 function.set_parameter_types(Array::Handle(Array::New(num_params))); 397 function.set_parameter_types(Array::Handle(Array::New(num_params)));
396 function.set_parameter_names(Array::Handle(Array::New(num_params))); 398 function.set_parameter_names(Array::Handle(Array::New(num_params)));
397 const Type& param_type = Type::Handle(Type::DynamicType()); 399 const Type& param_type = Type::Handle(Type::DynamicType());
398 for (int i = 0; i < num_params; i++) { 400 for (int i = 0; i < num_params; i++) {
399 function.SetParameterTypeAt(i, param_type); 401 function.SetParameterTypeAt(i, param_type);
(...skipping 161 matching lines...) Expand 10 before | Expand all | Expand 10 after
561 intptr_t num_libs = libs.Length(); 563 intptr_t num_libs = libs.Length();
562 Library& app_lib = Library::Handle(); 564 Library& app_lib = Library::Handle();
563 app_lib ^= libs.At(num_libs - 1); 565 app_lib ^= libs.At(num_libs - 1);
564 ASSERT(!app_lib.IsNull()); 566 ASSERT(!app_lib.IsNull());
565 const Class& cls = Class::Handle( 567 const Class& cls = Class::Handle(
566 app_lib.LookupClass(String::Handle(Symbols::New("A")))); 568 app_lib.LookupClass(String::Handle(Symbols::New("A"))));
567 EXPECT_EQ(cls.raw(), result.clazz()); 569 EXPECT_EQ(cls.raw(), result.clazz());
568 } 570 }
569 571
570 } // namespace dart 572 } // namespace dart
OLDNEW
« no previous file with comments | « runtime/vm/code_descriptors_test.cc ('k') | runtime/vm/compiler.cc » ('j') | runtime/vm/parser.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698