| 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 "include/dart_debugger_api.h" | 5 #include "include/dart_debugger_api.h" |
| 6 #include "include/dart_mirrors_api.h" | 6 #include "include/dart_mirrors_api.h" |
| 7 #include "platform/assert.h" | 7 #include "platform/assert.h" |
| 8 #include "vm/dart_api_impl.h" | 8 #include "vm/dart_api_impl.h" |
| 9 #include "vm/thread.h" | 9 #include "vm/thread.h" |
| 10 #include "vm/unit_test.h" | 10 #include "vm/unit_test.h" |
| (...skipping 435 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 446 // Set up the breakpoint. | 446 // Set up the breakpoint. |
| 447 Dart_SetPausedEventHandler(InspectOptimizedStack_Breakpoint); | 447 Dart_SetPausedEventHandler(InspectOptimizedStack_Breakpoint); |
| 448 SetBreakpointAtEntry("", "breakpointNow"); | 448 SetBreakpointAtEntry("", "breakpointNow"); |
| 449 | 449 |
| 450 // Run the code and inspect the stack. | 450 // Run the code and inspect the stack. |
| 451 stack_buffer[0] = '\0'; | 451 stack_buffer[0] = '\0'; |
| 452 dart_args[0] = Dart_True(); | 452 dart_args[0] = Dart_True(); |
| 453 dart_args[1] = Dart_NewInteger(kLowThreshold); | 453 dart_args[1] = Dart_NewInteger(kLowThreshold); |
| 454 EXPECT_VALID(Dart_Invoke(script_lib, NewString("test"), 2, dart_args)); | 454 EXPECT_VALID(Dart_Invoke(script_lib, NewString("test"), 2, dart_args)); |
| 455 if (optimize) { | 455 if (optimize) { |
| 456 // Note that several variables have the value 'null' in the | |
| 457 // optimized case. This is because these values were determined | |
| 458 // to be dead by the optimizing compiler and their values were not | |
| 459 // preserved by the deopt information. | |
| 460 EXPECT_STREQ("[0] breakpointNow { }\n" | 456 EXPECT_STREQ("[0] breakpointNow { }\n" |
| 461 "[1] helper { a = 5 b = 99 stop = null }\n" | 457 "[1] helper { a = 5 b = 99 stop = <optimized out> }\n" |
| 462 "[2] anotherMiddleMan { one = null two = null stop = null }\n" | 458 "[2] anotherMiddleMan { one = <optimized out> " |
| 459 "two = <optimized out> stop = <optimized out> }\n" |
| 463 "[3] middleMan { x = 5 limit = 100 stop = true value = 24255" | 460 "[3] middleMan { x = 5 limit = 100 stop = true value = 24255" |
| 464 " i = 99 }\n" | 461 " i = 99 }\n" |
| 465 "[4] test { stop = true limit = 100 }\n", | 462 "[4] test { stop = true limit = 100 }\n", |
| 466 stack_buffer); | 463 stack_buffer); |
| 467 } else { | 464 } else { |
| 468 EXPECT_STREQ("[0] breakpointNow { }\n" | 465 EXPECT_STREQ("[0] breakpointNow { }\n" |
| 469 "[1] helper { a = 5 b = 99 stop = true }\n" | 466 "[1] helper { a = 5 b = 99 stop = true }\n" |
| 470 "[2] anotherMiddleMan { one = 5 two = 99 stop = true }\n" | 467 "[2] anotherMiddleMan { one = 5 two = 99 stop = true }\n" |
| 471 "[3] middleMan { x = 5 limit = 100 stop = true value = 24255" | 468 "[3] middleMan { x = 5 limit = 100 stop = true value = 24255" |
| 472 " i = 99 }\n" | 469 " i = 99 }\n" |
| (...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 542 Dart_SetPausedEventHandler(InspectOptimizedStack_Breakpoint); | 539 Dart_SetPausedEventHandler(InspectOptimizedStack_Breakpoint); |
| 543 SetBreakpointAtEntry("", "breakpointNow"); | 540 SetBreakpointAtEntry("", "breakpointNow"); |
| 544 | 541 |
| 545 // Run the code and inspect the stack. | 542 // Run the code and inspect the stack. |
| 546 stack_buffer[0] = '\0'; | 543 stack_buffer[0] = '\0'; |
| 547 dart_args[0] = Dart_True(); | 544 dart_args[0] = Dart_True(); |
| 548 dart_args[1] = Dart_NewInteger(kLowThreshold); | 545 dart_args[1] = Dart_NewInteger(kLowThreshold); |
| 549 EXPECT_VALID(Dart_Invoke(script_lib, NewString("test"), 2, dart_args)); | 546 EXPECT_VALID(Dart_Invoke(script_lib, NewString("test"), 2, dart_args)); |
| 550 if (optimize) { | 547 if (optimize) { |
| 551 EXPECT_STREQ("[0] breakpointNow { }\n" | 548 EXPECT_STREQ("[0] breakpointNow { }\n" |
| 552 "[1] helper { a = 50 b = 99 stop = null }\n" | 549 "[1] helper { a = 50 b = 99 stop = <optimized out> }\n" |
| 553 "[2] <anonymous closure> { x = 5 i = 99 stop = true" | 550 "[2] <anonymous closure> { x = 5 i = 99 stop = true" |
| 554 " value = null }\n" | 551 " value = <optimized out> }\n" |
| 555 "[3] anotherMiddleMan { func = null }\n" | 552 "[3] anotherMiddleMan { func = <optimized out> }\n" |
| 556 "[4] middleMan { x = 5 limit = 100 stop = true" | 553 "[4] middleMan { x = 5 limit = 100 stop = true" |
| 557 " value = 242550 i = 99 }\n" | 554 " value = 242550 i = 99 }\n" |
| 558 "[5] test { stop = true limit = 100 }\n", | 555 "[5] test { stop = true limit = 100 }\n", |
| 559 stack_buffer); | 556 stack_buffer); |
| 560 } else { | 557 } else { |
| 561 EXPECT_STREQ("[0] breakpointNow { }\n" | 558 EXPECT_STREQ("[0] breakpointNow { }\n" |
| 562 "[1] helper { a = 50 b = 99 stop = true }\n" | 559 "[1] helper { a = 50 b = 99 stop = true }\n" |
| 563 "[2] <anonymous closure> { x = 5 i = 99 stop = true" | 560 "[2] <anonymous closure> { x = 5 i = 99 stop = true" |
| 564 " value = 10 }\n" | 561 " value = 10 }\n" |
| 565 "[3] anotherMiddleMan {" | 562 "[3] anotherMiddleMan {" |
| (...skipping 1451 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2017 | 2014 |
| 2018 Dart_Handle list_type = Dart_InstanceGetType(list_access_test_obj); | 2015 Dart_Handle list_type = Dart_InstanceGetType(list_access_test_obj); |
| 2019 Dart_Handle super_type = Dart_GetSupertype(list_type); | 2016 Dart_Handle super_type = Dart_GetSupertype(list_type); |
| 2020 EXPECT(!Dart_IsError(super_type)); | 2017 EXPECT(!Dart_IsError(super_type)); |
| 2021 super_type = Dart_GetSupertype(super_type); | 2018 super_type = Dart_GetSupertype(super_type); |
| 2022 EXPECT(!Dart_IsError(super_type)); | 2019 EXPECT(!Dart_IsError(super_type)); |
| 2023 EXPECT(super_type == Dart_Null()); | 2020 EXPECT(super_type == Dart_Null()); |
| 2024 } | 2021 } |
| 2025 | 2022 |
| 2026 } // namespace dart | 2023 } // namespace dart |
| OLD | NEW |