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

Issue 16693006: Initial implementation of on-stack replacement (OSR). (Closed)

Created:
7 years, 6 months ago by Kevin Millikin (Google)
Modified:
7 years, 6 months ago
CC:
reviews_dartlang.org
Visibility:
Public.

Description

Initial implementation of on-stack replacement (OSR). Add profiling support to select OSR candidates and launch the compiler for OSR, followed by entry to the function at the OSR entry point. Implemented only on IA32 and X64. The initial implementation can be improved in various ways --- specifically: tuning of profiling parameters and incorporation of feedback about the actual values seen at OSR entry. R=fschneider@google.com Committed: https://code.google.com/p/dart/source/detail?r=24024

Patch Set 1 #

Patch Set 2 : Clean up for review. #

Total comments: 16
Unified diffs Side-by-side diffs Delta from patch set Stats (+458 lines, -214 lines) Patch
M runtime/vm/assembler_ia32.h View 1 chunk +5 lines, -0 lines 2 comments Download
M runtime/vm/assembler_ia32.cc View 3 chunks +29 lines, -4 lines 0 comments Download
M runtime/vm/assembler_x64.h View 1 chunk +5 lines, -0 lines 2 comments Download
M runtime/vm/assembler_x64.cc View 3 chunks +29 lines, -4 lines 0 comments Download
M runtime/vm/code_generator.cc View 1 3 chunks +41 lines, -3 lines 2 comments Download
M runtime/vm/compiler.h View 1 chunk +3 lines, -1 line 0 comments Download
M runtime/vm/compiler.cc View 12 chunks +29 lines, -23 lines 0 comments Download
M runtime/vm/flow_graph.h View 1 chunk +2 lines, -0 lines 0 comments Download
M runtime/vm/flow_graph.cc View 2 chunks +16 lines, -11 lines 0 comments Download
M runtime/vm/flow_graph_allocator.cc View 5 chunks +13 lines, -19 lines 2 comments Download
M runtime/vm/flow_graph_builder.h View 4 chunks +12 lines, -2 lines 4 comments Download
M runtime/vm/flow_graph_builder.cc View 1 12 chunks +50 lines, -38 lines 2 comments Download
M runtime/vm/flow_graph_compiler.cc View 4 chunks +18 lines, -12 lines 0 comments Download
M runtime/vm/flow_graph_compiler_ia32.cc View 4 chunks +29 lines, -18 lines 0 comments Download
M runtime/vm/flow_graph_compiler_x64.cc View 4 chunks +31 lines, -20 lines 0 comments Download
M runtime/vm/flow_graph_inliner.cc View 1 chunk +4 lines, -1 line 0 comments Download
M runtime/vm/flow_graph_type_propagator.cc View 1 chunk +8 lines, -2 lines 0 comments Download
M runtime/vm/il_printer.cc View 1 chunk +5 lines, -0 lines 0 comments Download
M runtime/vm/intermediate_language.h View 1 9 chunks +21 lines, -4 lines 2 comments Download
M runtime/vm/intermediate_language.cc View 1 2 chunks +50 lines, -1 line 0 comments Download
M runtime/vm/intermediate_language_ia32.cc View 3 chunks +16 lines, -0 lines 0 comments Download
M runtime/vm/intermediate_language_x64.cc View 3 chunks +16 lines, -0 lines 0 comments Download
M runtime/vm/object.h View 3 chunks +4 lines, -0 lines 0 comments Download
M runtime/vm/object.cc View 1 4 chunks +21 lines, -0 lines 0 comments Download
M runtime/vm/stack_frame.h View 2 chunks +0 lines, -2 lines 0 comments Download
M runtime/vm/stub_code_ia32.cc View 2 chunks +0 lines, -25 lines 0 comments Download
M runtime/vm/stub_code_x64.cc View 2 chunks +1 line, -24 lines 0 comments Download

Messages

Total messages: 5 (0 generated)
Kevin Millikin (Google)
7 years, 6 months ago (2013-06-11 09:48:34 UTC) #1
srdjan
Initial comments. Do you think we need additional tests for OSR, or you feel confident ...
7 years, 6 months ago (2013-06-11 17:12:02 UTC) #2
Florian Schneider
LGTM. https://codereview.chromium.org/16693006/diff/2001/runtime/vm/flow_graph_builder.cc File runtime/vm/flow_graph_builder.cc (right): https://codereview.chromium.org/16693006/diff/2001/runtime/vm/flow_graph_builder.cc#newcode3480 runtime/vm/flow_graph_builder.cc:3480: Bailout("try/catch when compiling for OSR"); Add a TODO ...
7 years, 6 months ago (2013-06-12 08:25:24 UTC) #3
Kevin Millikin (Google)
https://codereview.chromium.org/16693006/diff/2001/runtime/vm/assembler_ia32.h File runtime/vm/assembler_ia32.h (right): https://codereview.chromium.org/16693006/diff/2001/runtime/vm/assembler_ia32.h#newcode718 runtime/vm/assembler_ia32.h:718: // The frame layout is a normal dart frame, ...
7 years, 6 months ago (2013-06-14 10:10:42 UTC) #4
Kevin Millikin (Google)
7 years, 6 months ago (2013-06-14 10:11:17 UTC) #5
Message was sent while issue was closed.
Committed patchset #2 manually as r24024 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698