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/file.h" | 7 #include "bin/file.h" |
8 | 8 |
9 #include "platform/assert.h" | 9 #include "platform/assert.h" |
10 | 10 |
(...skipping 215 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
226 benchmark->set_score(elapsed_time); | 226 benchmark->set_score(elapsed_time); |
227 } | 227 } |
228 | 228 |
229 | 229 |
230 // | 230 // |
231 // Measure compile of all dart2js(compiler) functions. | 231 // Measure compile of all dart2js(compiler) functions. |
232 // | 232 // |
233 static char* ComputeDart2JSPath(const char* arg) { | 233 static char* ComputeDart2JSPath(const char* arg) { |
234 char buffer[2048]; | 234 char buffer[2048]; |
235 char* dart2js_path = strdup(File::GetCanonicalPath(arg)); | 235 char* dart2js_path = strdup(File::GetCanonicalPath(arg)); |
236 const char* compiler_path = "%s%slib%scompiler%scompiler.dart"; | 236 const char* compiler_path = |
| 237 "%s%ssdk%slib%siinternal%scompiler%scompiler.dart"; |
237 const char* path_separator = File::PathSeparator(); | 238 const char* path_separator = File::PathSeparator(); |
238 ASSERT(path_separator != NULL && strlen(path_separator) == 1); | 239 ASSERT(path_separator != NULL && strlen(path_separator) == 1); |
239 char* ptr = strrchr(dart2js_path, *path_separator); | 240 char* ptr = strrchr(dart2js_path, *path_separator); |
240 while (ptr != NULL) { | 241 while (ptr != NULL) { |
241 *ptr = '\0'; | 242 *ptr = '\0'; |
242 OS::SNPrint(buffer, 2048, compiler_path, | 243 OS::SNPrint(buffer, 2048, compiler_path, |
243 dart2js_path, | 244 dart2js_path, |
244 path_separator, | 245 path_separator, |
245 path_separator, | 246 path_separator, |
246 path_separator); | 247 path_separator); |
(...skipping 17 matching lines...) Expand all Loading... |
264 static Dart_NativeFunction NativeResolver(Dart_Handle name, | 265 static Dart_NativeFunction NativeResolver(Dart_Handle name, |
265 int arg_count) { | 266 int arg_count) { |
266 return &func; | 267 return &func; |
267 } | 268 } |
268 | 269 |
269 | 270 |
270 BENCHMARK(Dart2JSCompileAll) { | 271 BENCHMARK(Dart2JSCompileAll) { |
271 char* dart_root = ComputeDart2JSPath(Benchmark::Executable()); | 272 char* dart_root = ComputeDart2JSPath(Benchmark::Executable()); |
272 char* script = NULL; | 273 char* script = NULL; |
273 if (dart_root != NULL) { | 274 if (dart_root != NULL) { |
274 const char* kFormatStr ="#import('%s/lib/compiler/compiler.dart');"; | 275 const char* kFormatStr = |
| 276 "#import('%s/sdk/lib/_internal/compiler/compiler.dart');"; |
275 intptr_t len = OS::SNPrint(NULL, 0, kFormatStr, dart_root) + 1; | 277 intptr_t len = OS::SNPrint(NULL, 0, kFormatStr, dart_root) + 1; |
276 script = reinterpret_cast<char*>(malloc(len)); | 278 script = reinterpret_cast<char*>(malloc(len)); |
277 EXPECT(script != NULL); | 279 EXPECT(script != NULL); |
278 OS::SNPrint(script, len, kFormatStr, dart_root); | 280 OS::SNPrint(script, len, kFormatStr, dart_root); |
279 Dart_Handle lib = TestCase::LoadTestScript( | 281 Dart_Handle lib = TestCase::LoadTestScript( |
280 script, | 282 script, |
281 reinterpret_cast<Dart_NativeEntryResolver>(NativeResolver)); | 283 reinterpret_cast<Dart_NativeEntryResolver>(NativeResolver)); |
282 EXPECT_VALID(lib); | 284 EXPECT_VALID(lib); |
283 } else { | 285 } else { |
284 Dart_Handle lib = TestCase::LoadTestScript( | 286 Dart_Handle lib = TestCase::LoadTestScript( |
285 "#import('lib/compiler/compiler.dart');", | 287 "#import('sdk/lib/_internal/compiler/compiler.dart');", |
286 reinterpret_cast<Dart_NativeEntryResolver>(NativeResolver)); | 288 reinterpret_cast<Dart_NativeEntryResolver>(NativeResolver)); |
287 EXPECT_VALID(lib); | 289 EXPECT_VALID(lib); |
288 } | 290 } |
289 Timer timer(true, "Compile all of dart2js benchmark"); | 291 Timer timer(true, "Compile all of dart2js benchmark"); |
290 timer.Start(); | 292 timer.Start(); |
291 Dart_Handle result = Dart_CompileAll(); | 293 Dart_Handle result = Dart_CompileAll(); |
292 EXPECT_VALID(result); | 294 EXPECT_VALID(result); |
293 timer.Stop(); | 295 timer.Stop(); |
294 int64_t elapsed_time = timer.TotalElapsedTime(); | 296 int64_t elapsed_time = timer.TotalElapsedTime(); |
295 benchmark->set_score(elapsed_time); | 297 benchmark->set_score(elapsed_time); |
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
380 Dart_Handle cls = Dart_GetClass(lib, NewString("StackFrameTest")); | 382 Dart_Handle cls = Dart_GetClass(lib, NewString("StackFrameTest")); |
381 Dart_Handle result = Dart_Invoke(cls, NewString("testMain"), 0, NULL); | 383 Dart_Handle result = Dart_Invoke(cls, NewString("testMain"), 0, NULL); |
382 EXPECT_VALID(result); | 384 EXPECT_VALID(result); |
383 int64_t elapsed_time = 0; | 385 int64_t elapsed_time = 0; |
384 result = Dart_IntegerToInt64(result, &elapsed_time); | 386 result = Dart_IntegerToInt64(result, &elapsed_time); |
385 EXPECT_VALID(result); | 387 EXPECT_VALID(result); |
386 benchmark->set_score(elapsed_time); | 388 benchmark->set_score(elapsed_time); |
387 } | 389 } |
388 | 390 |
389 } // namespace dart | 391 } // namespace dart |
OLD | NEW |