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/benchmark_test.h" | 5 #include "vm/benchmark_test.h" |
6 | 6 |
7 #include "bin/builtin.h" | 7 #include "bin/builtin.h" |
8 #include "bin/file.h" | 8 #include "bin/file.h" |
9 | 9 |
10 #include "platform/assert.h" | 10 #include "platform/assert.h" |
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
127 result = Dart_IntegerToInt64(param1, &value1); | 127 result = Dart_IntegerToInt64(param1, &value1); |
128 EXPECT_VALID(result); | 128 EXPECT_VALID(result); |
129 EXPECT_LE(0, value1); | 129 EXPECT_LE(0, value1); |
130 EXPECT_LE(value1, 1000000); | 130 EXPECT_LE(value1, 1000000); |
131 | 131 |
132 // Return param + receiver.field. | 132 // Return param + receiver.field. |
133 Dart_SetReturnValue(args, Dart_NewInteger(value1 * receiver_value)); | 133 Dart_SetReturnValue(args, Dart_NewInteger(value1 * receiver_value)); |
134 } | 134 } |
135 | 135 |
136 | 136 |
137 static Dart_NativeFunction bm_uda_lookup(Dart_Handle name, int argument_count) { | 137 static Dart_NativeFunction bm_uda_lookup(Dart_Handle name, |
| 138 int argument_count, |
| 139 bool* auto_setup_scope) { |
| 140 ASSERT(auto_setup_scope != NULL); |
| 141 *auto_setup_scope = false; |
138 const char* cstr = NULL; | 142 const char* cstr = NULL; |
139 Dart_Handle result = Dart_StringToCString(name, &cstr); | 143 Dart_Handle result = Dart_StringToCString(name, &cstr); |
140 EXPECT_VALID(result); | 144 EXPECT_VALID(result); |
141 if (strcmp(cstr, "init") == 0) { | 145 if (strcmp(cstr, "init") == 0) { |
142 return InitNativeFields; | 146 return InitNativeFields; |
143 } else { | 147 } else { |
144 return UseDartApi; | 148 return UseDartApi; |
145 } | 149 } |
146 } | 150 } |
147 | 151 |
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
258 } | 262 } |
259 return dart2js_path; | 263 return dart2js_path; |
260 } | 264 } |
261 | 265 |
262 | 266 |
263 static void func(Dart_NativeArguments args) { | 267 static void func(Dart_NativeArguments args) { |
264 } | 268 } |
265 | 269 |
266 | 270 |
267 static Dart_NativeFunction NativeResolver(Dart_Handle name, | 271 static Dart_NativeFunction NativeResolver(Dart_Handle name, |
268 int arg_count) { | 272 int arg_count, |
| 273 bool* auto_setup_scope) { |
| 274 ASSERT(auto_setup_scope != NULL); |
| 275 *auto_setup_scope = false; |
269 return &func; | 276 return &func; |
270 } | 277 } |
271 | 278 |
272 | 279 |
273 BENCHMARK(Dart2JSCompileAll) { | 280 BENCHMARK(Dart2JSCompileAll) { |
274 bin::Builtin::SetNativeResolver(bin::Builtin::kBuiltinLibrary); | 281 bin::Builtin::SetNativeResolver(bin::Builtin::kBuiltinLibrary); |
275 bin::Builtin::SetNativeResolver(bin::Builtin::kIOLibrary); | 282 bin::Builtin::SetNativeResolver(bin::Builtin::kIOLibrary); |
276 char* dart_root = ComputeDart2JSPath(Benchmark::Executable()); | 283 char* dart_root = ComputeDart2JSPath(Benchmark::Executable()); |
277 char* script = NULL; | 284 char* script = NULL; |
278 if (dart_root != NULL) { | 285 if (dart_root != NULL) { |
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
328 frame = frames.NextFrame(); | 335 frame = frames.NextFrame(); |
329 } | 336 } |
330 } | 337 } |
331 timer.Stop(); | 338 timer.Stop(); |
332 int64_t elapsed_time = timer.TotalElapsedTime(); | 339 int64_t elapsed_time = timer.TotalElapsedTime(); |
333 Dart_SetReturnValue(args, Dart_NewInteger(elapsed_time)); | 340 Dart_SetReturnValue(args, Dart_NewInteger(elapsed_time)); |
334 } | 341 } |
335 | 342 |
336 | 343 |
337 static Dart_NativeFunction StackFrameNativeResolver(Dart_Handle name, | 344 static Dart_NativeFunction StackFrameNativeResolver(Dart_Handle name, |
338 int arg_count) { | 345 int arg_count, |
| 346 bool* auto_setup_scope) { |
| 347 ASSERT(auto_setup_scope != NULL); |
| 348 *auto_setup_scope = false; |
339 return &StackFrame_accessFrame; | 349 return &StackFrame_accessFrame; |
340 } | 350 } |
341 | 351 |
342 | 352 |
343 // Unit test case to verify stack frame iteration. | 353 // Unit test case to verify stack frame iteration. |
344 BENCHMARK(FrameLookup) { | 354 BENCHMARK(FrameLookup) { |
345 const char* kScriptChars = | 355 const char* kScriptChars = |
346 "class StackFrame {" | 356 "class StackFrame {" |
347 " static int accessFrame() native \"StackFrame_accessFrame\";" | 357 " static int accessFrame() native \"StackFrame_accessFrame\";" |
348 "} " | 358 "} " |
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
466 | 476 |
467 Timer timer(true, "currentMirrorSystem() benchmark"); | 477 Timer timer(true, "currentMirrorSystem() benchmark"); |
468 timer.Start(); | 478 timer.Start(); |
469 Dart_Invoke(lib, NewString("benchmark"), 0, NULL); | 479 Dart_Invoke(lib, NewString("benchmark"), 0, NULL); |
470 timer.Stop(); | 480 timer.Stop(); |
471 int64_t elapsed_time = timer.TotalElapsedTime(); | 481 int64_t elapsed_time = timer.TotalElapsedTime(); |
472 benchmark->set_score(elapsed_time); | 482 benchmark->set_score(elapsed_time); |
473 } | 483 } |
474 | 484 |
475 } // namespace dart | 485 } // namespace dart |
OLD | NEW |