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

Issue 11780005: Allow optimized code when debugger is active (Closed)

Created:
7 years, 11 months ago by hausner
Modified:
7 years, 11 months ago
CC:
reviews_dartlang.org
Visibility:
Public.

Description

Allow optimized code when debugger is active The debugger allows the VM to optimize code unless there is a breakpoint inside the function. Whenever a new breakpoint is set (explicitly or implicitly by stepping) all optimized code is discarded. Committed: https://code.google.com/p/dart/source/detail?r=16815

Patch Set 1 #

Total comments: 10

Patch Set 2 : #

Unified diffs Side-by-side diffs Delta from patch set Stats (+86 lines, -40 lines) Patch
M runtime/vm/code_generator.cc View 1 1 chunk +1 line, -1 line 0 comments Download
M runtime/vm/compiler.cc View 1 1 chunk +1 line, -3 lines 0 comments Download
M runtime/vm/debugger.h View 1 3 chunks +5 lines, -2 lines 0 comments Download
M runtime/vm/debugger.cc View 1 6 chunks +56 lines, -29 lines 0 comments Download
M runtime/vm/flow_graph_compiler.cc View 1 2 chunks +7 lines, -3 lines 0 comments Download
M runtime/vm/flow_graph_compiler_arm.h View 1 1 chunk +1 line, -0 lines 0 comments Download
M runtime/vm/flow_graph_compiler_ia32.h View 1 1 chunk +2 lines, -0 lines 0 comments Download
M runtime/vm/flow_graph_compiler_x64.h View 1 1 chunk +1 line, -0 lines 0 comments Download
M runtime/vm/intermediate_language_ia32.cc View 1 1 chunk +1 line, -1 line 0 comments Download
M runtime/vm/intermediate_language_x64.cc View 1 1 chunk +1 line, -1 line 0 comments Download
M runtime/vm/object.h View 1 1 chunk +4 lines, -0 lines 0 comments Download
M runtime/vm/object.cc View 1 2 chunks +6 lines, -0 lines 0 comments Download

Messages

Total messages: 5 (0 generated)
hausner
7 years, 11 months ago (2013-01-07 23:29:48 UTC) #1
srdjan
LGTM https://codereview.chromium.org/11780005/diff/1/runtime/vm/code_generator.cc File runtime/vm/code_generator.cc (right): https://codereview.chromium.org/11780005/diff/1/runtime/vm/code_generator.cc#newcode1347 runtime/vm/code_generator.cc:1347: if (isolate->debugger()->HasBreakpoint(function)) { function.HasBreakpoint() instead. https://codereview.chromium.org/11780005/diff/1/runtime/vm/debugger.cc File runtime/vm/debugger.cc ...
7 years, 11 months ago (2013-01-08 18:03:57 UTC) #2
hausner
Thank you for the review! https://codereview.chromium.org/11780005/diff/1/runtime/vm/code_generator.cc File runtime/vm/code_generator.cc (right): https://codereview.chromium.org/11780005/diff/1/runtime/vm/code_generator.cc#newcode1347 runtime/vm/code_generator.cc:1347: if (isolate->debugger()->HasBreakpoint(function)) { On ...
7 years, 11 months ago (2013-01-08 18:37:57 UTC) #3
Vyacheslav Egorov (Google)
DBC: do we have a good test coverage for this? I don't see any tests ...
7 years, 11 months ago (2013-01-08 20:11:05 UTC) #4
hausner
7 years, 11 months ago (2013-01-08 20:37:16 UTC) #5
Message was sent while issue was closed.
I did a manual check to verify the expected outcome.

The cost of creating an automated test for this and maintaining it, making sure
all the assumptions that go into it still hold in the future, seems prohibitive.
Measuring execution time as the pass/fail criteria also makes tests flaky.

What we could do is run performance tests (at least one) with a stress flag that
simulates the existence of a breakpoint. But I still don't think it's worth it.

Powered by Google App Engine
This is Rietveld 408576698