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

Issue 11783066: Optimize function at its entry instead of at exit. (Closed)

Created:
7 years, 11 months ago by srdjan
Modified:
7 years, 11 months ago
Reviewers:
regis
CC:
reviews_dartlang.org, Ivan Posva
Visibility:
Public.

Description

Optimize function at its entry instead of at exit. The code can be patched if it should not be executed any longer. The code can be now patched at other location than at entry, the requirement is still that patching code does not overwrite an inlined object. Intrinsic methods that do not have a fall through cannot be patched. Committed: https://code.google.com/p/dart/source/detail?r=16897

Patch Set 1 #

Patch Set 2 : #

Patch Set 3 : #

Patch Set 4 : #

Total comments: 2

Patch Set 5 : #

Patch Set 6 : #

Patch Set 7 : #

Patch Set 8 : #

Unified diffs Side-by-side diffs Delta from patch set Stats (+238 lines, -249 lines) Patch
M runtime/vm/code_generator.cc View 1 3 chunks +6 lines, -0 lines 0 comments Download
A runtime/vm/code_patcher.cc View 1 2 1 chunk +85 lines, -0 lines 0 comments Download
M runtime/vm/code_patcher_ia32.cc View 1 2 2 chunks +5 lines, -68 lines 0 comments Download
M runtime/vm/code_patcher_x64.cc View 1 2 1 chunk +0 lines, -63 lines 0 comments Download
M runtime/vm/flow_graph_compiler.cc View 1 2 3 4 5 6 2 chunks +26 lines, -1 line 0 comments Download
M runtime/vm/flow_graph_compiler_ia32.h View 1 2 1 chunk +2 lines, -0 lines 0 comments Download
M runtime/vm/flow_graph_compiler_ia32.cc View 1 2 3 4 5 4 chunks +40 lines, -6 lines 0 comments Download
M runtime/vm/flow_graph_compiler_x64.h View 1 2 1 chunk +2 lines, -0 lines 0 comments Download
M runtime/vm/flow_graph_compiler_x64.cc View 1 2 4 chunks +39 lines, -5 lines 0 comments Download
M runtime/vm/intermediate_language_ia32.cc View 2 chunks +1 line, -44 lines 0 comments Download
M runtime/vm/intermediate_language_x64.cc View 1 2 2 chunks +1 line, -48 lines 0 comments Download
M runtime/vm/object.h View 1 chunk +1 line, -0 lines 0 comments Download
M runtime/vm/object.cc View 2 chunks +2 lines, -1 line 0 comments Download
M runtime/vm/stub_code_ia32.cc View 1 2 1 chunk +13 lines, -6 lines 0 comments Download
M runtime/vm/stub_code_x64.cc View 1 2 3 1 chunk +14 lines, -7 lines 0 comments Download
M runtime/vm/vm_sources.gypi View 1 2 1 chunk +1 line, -0 lines 0 comments Download

Messages

Total messages: 3 (0 generated)
srdjan
7 years, 11 months ago (2013-01-09 21:55:01 UTC) #1
regis
LGTM https://codereview.chromium.org/11783066/diff/7004/runtime/vm/flow_graph_compiler_ia32.cc File runtime/vm/flow_graph_compiler_ia32.cc (right): https://codereview.chromium.org/11783066/diff/7004/runtime/vm/flow_graph_compiler_ia32.cc#newcode892 runtime/vm/flow_graph_compiler_ia32.cc:892: Isolate::kNoDeoptId, indentation
7 years, 11 months ago (2013-01-09 22:08:56 UTC) #2
srdjan
7 years, 11 months ago (2013-01-09 23:22:48 UTC) #3
Also fixed reoptimization: compute it in the InitCompiler, previously it was
done during code generation.

https://codereview.chromium.org/11783066/diff/7004/runtime/vm/flow_graph_comp...
File runtime/vm/flow_graph_compiler_ia32.cc (right):

https://codereview.chromium.org/11783066/diff/7004/runtime/vm/flow_graph_comp...
runtime/vm/flow_graph_compiler_ia32.cc:892: Isolate::kNoDeoptId,
On 2013/01/09 22:08:56, regis wrote:
> indentation

Done.

Powered by Google App Engine
This is Rietveld 408576698