|
|
Created:
4 years, 1 month ago by Michael Starzinger Modified:
4 years ago CC:
v8-reviews_googlegroups.com, rmcilroy Target Ref:
refs/pending/heads/master Project:
v8 Visibility:
Public. |
Description[turbofan] Move OSR BailoutId translation into graph builder.
This moves the location of the bytecode-offset translation that turns
offsets of back jumps into offsets of loop headers. This translation is
now done by the {BytecodeGraphBuilder} after loop analysis has been
performed. It safes one redudant iteration over the bytecode array. Note
that this changes the semantics of the BailoutId used as an {osr_ast_id}
throughout the compiler pipeline for OSR from Ignition.
R=jarin@chromium.org
Committed: https://crrev.com/8893d4ff58080fdef9d232ad4b2f95af19bfa6e6
Cr-Commit-Position: refs/heads/master@{#41431}
Patch Set 1 #
Total comments: 1
Patch Set 2 : Rebased, fixed and addressed comments. #
Total comments: 4
Patch Set 3 : Addressed comments. #
Messages
Total messages: 31 (21 generated)
The CQ bit was checked by mstarzinger@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
Description was changed from ========== [turbofan] Move OSR BailoutId translation into graph builder. This move the translation of the bytecode-offset translation that turns offsets of backwards jumpt to offsets of loop headers. This translation is now done by the {BytecodeGraphBuilder} after loop analysis has been performed. It safes one redudant iteration over the bytecode array. Note that this changes the semantics of the BailoutId used as an {osr_ast_id} throughout the compiler pipeline for OSR from Ignition. R=jarin@chromium.org ========== to ========== [turbofan] Move OSR BailoutId translation into graph builder. This moves the location of the bytecode-offset translation that turns offsets of back jumps intoto offsets of loop headers. This translation is now done by the {BytecodeGraphBuilder} after loop analysis has been performed. It safes one redudant iteration over the bytecode array. Note that this changes the semantics of the BailoutId used as an {osr_ast_id} throughout the compiler pipeline for OSR from Ignition. R=jarin@chromium.org ==========
mstarzinger@chromium.org changed reviewers: + rmcilroy@chromium.org
Jaro: PTAL. Ross: FYI.
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: v8_linux64_asan_rel_ng on master.tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_linux64_asan_rel_ng/buil...) v8_linux64_asan_rel_ng_triggered on master.tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_linux64_asan_rel_ng_trig...)
lgtm https://codereview.chromium.org/2465913002/diff/1/src/compiler/bytecode-graph... File src/compiler/bytecode-graph-builder.h (right): https://codereview.chromium.org/2465913002/diff/1/src/compiler/bytecode-graph... src/compiler/bytecode-graph-builder.h:209: // [offset], if any. Nit: above we seem to be using "{offset}" to refer to code, perhaps we should do the same here?
"intoto" typo in description. LGTM once the bots are happy.
Description was changed from ========== [turbofan] Move OSR BailoutId translation into graph builder. This moves the location of the bytecode-offset translation that turns offsets of back jumps intoto offsets of loop headers. This translation is now done by the {BytecodeGraphBuilder} after loop analysis has been performed. It safes one redudant iteration over the bytecode array. Note that this changes the semantics of the BailoutId used as an {osr_ast_id} throughout the compiler pipeline for OSR from Ignition. R=jarin@chromium.org ========== to ========== [turbofan] Move OSR BailoutId translation into graph builder. This moves the location of the bytecode-offset translation that turns offsets of back jumps into offsets of loop headers. This translation is now done by the {BytecodeGraphBuilder} after loop analysis has been performed. It safes one redudant iteration over the bytecode array. Note that this changes the semantics of the BailoutId used as an {osr_ast_id} throughout the compiler pipeline for OSR from Ignition. R=jarin@chromium.org ==========
The CQ bit was checked by mstarzinger@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: This issue passed the CQ dry run.
mstarzinger@chromium.org changed reviewers: + leszeks@chromium.org
Jaro & Leszek: PTAL specifically at the bytecode analysis. I had to add a change in order to get wide-operand jumps working correctly. https://codereview.chromium.org/2465913002/diff/20001/src/compiler/bytecode-a... File src/compiler/bytecode-analysis.cc (right): https://codereview.chromium.org/2465913002/diff/20001/src/compiler/bytecode-a... src/compiler/bytecode-analysis.cc:166: int loop_end = current_offset + iterator.current_bytecode_size() - 1; Jaro & Leszek: Please confirm that you are fine with this change to the semantics of keys stored within the {end_to_header_} table.
https://codereview.chromium.org/2465913002/diff/20001/src/compiler/bytecode-a... File src/compiler/bytecode-analysis.cc (right): https://codereview.chromium.org/2465913002/diff/20001/src/compiler/bytecode-a... src/compiler/bytecode-analysis.cc:166: int loop_end = current_offset + iterator.current_bytecode_size() - 1; On 2016/12/01 12:49:56, Michael Starzinger wrote: > Jaro & Leszek: Please confirm that you are fine with this change to the > semantics of keys stored within the {end_to_header_} table. lgtm.
lgtm https://codereview.chromium.org/2465913002/diff/20001/src/compiler/bytecode-a... File src/compiler/bytecode-analysis.cc (right): https://codereview.chromium.org/2465913002/diff/20001/src/compiler/bytecode-a... src/compiler/bytecode-analysis.cc:166: int loop_end = current_offset + iterator.current_bytecode_size() - 1; On 2016/12/01 12:49:56, Michael Starzinger wrote: > Jaro & Leszek: Please confirm that you are fine with this change to the > semantics of keys stored within the {end_to_header_} table. Fine with me. You can remove the -1 if you change GetLoopOffsetFor to look for upper_bound (exclusive end search) instead of lower_bound (inclusive end search).
The CQ bit was checked by mstarzinger@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
Thanks! Addressed comments. Landing. https://codereview.chromium.org/2465913002/diff/20001/src/compiler/bytecode-a... File src/compiler/bytecode-analysis.cc (right): https://codereview.chromium.org/2465913002/diff/20001/src/compiler/bytecode-a... src/compiler/bytecode-analysis.cc:166: int loop_end = current_offset + iterator.current_bytecode_size() - 1; On 2016/12/01 13:50:00, Leszek Swirski wrote: > On 2016/12/01 12:49:56, Michael Starzinger wrote: > > Jaro & Leszek: Please confirm that you are fine with this change to the > > semantics of keys stored within the {end_to_header_} table. > > Fine with me. You can remove the -1 if you change GetLoopOffsetFor to look for > upper_bound (exclusive end search) instead of lower_bound (inclusive end > search). Done.
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: This issue passed the CQ dry run.
The CQ bit was checked by mstarzinger@chromium.org
The patchset sent to the CQ was uploaded after l-g-t-m from rmcilroy@chromium.org, jarin@chromium.org, leszeks@chromium.org Link to the patchset: https://codereview.chromium.org/2465913002/#ps40001 (title: "Addressed comments.")
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
CQ is committing da patch. Bot data: {"patchset_id": 40001, "attempt_start_ts": 1480602124667290, "parent_rev": "19be4ece8eea19573d78496b7ddc34d88211bc7c", "commit_rev": "2d7047c0c6c28f5a02c149c73a62fed77f469c98"}
Message was sent while issue was closed.
Description was changed from ========== [turbofan] Move OSR BailoutId translation into graph builder. This moves the location of the bytecode-offset translation that turns offsets of back jumps into offsets of loop headers. This translation is now done by the {BytecodeGraphBuilder} after loop analysis has been performed. It safes one redudant iteration over the bytecode array. Note that this changes the semantics of the BailoutId used as an {osr_ast_id} throughout the compiler pipeline for OSR from Ignition. R=jarin@chromium.org ========== to ========== [turbofan] Move OSR BailoutId translation into graph builder. This moves the location of the bytecode-offset translation that turns offsets of back jumps into offsets of loop headers. This translation is now done by the {BytecodeGraphBuilder} after loop analysis has been performed. It safes one redudant iteration over the bytecode array. Note that this changes the semantics of the BailoutId used as an {osr_ast_id} throughout the compiler pipeline for OSR from Ignition. R=jarin@chromium.org ==========
Message was sent while issue was closed.
Committed patchset #3 (id:40001)
Message was sent while issue was closed.
Description was changed from ========== [turbofan] Move OSR BailoutId translation into graph builder. This moves the location of the bytecode-offset translation that turns offsets of back jumps into offsets of loop headers. This translation is now done by the {BytecodeGraphBuilder} after loop analysis has been performed. It safes one redudant iteration over the bytecode array. Note that this changes the semantics of the BailoutId used as an {osr_ast_id} throughout the compiler pipeline for OSR from Ignition. R=jarin@chromium.org ========== to ========== [turbofan] Move OSR BailoutId translation into graph builder. This moves the location of the bytecode-offset translation that turns offsets of back jumps into offsets of loop headers. This translation is now done by the {BytecodeGraphBuilder} after loop analysis has been performed. It safes one redudant iteration over the bytecode array. Note that this changes the semantics of the BailoutId used as an {osr_ast_id} throughout the compiler pipeline for OSR from Ignition. R=jarin@chromium.org Committed: https://crrev.com/8893d4ff58080fdef9d232ad4b2f95af19bfa6e6 Cr-Commit-Position: refs/heads/master@{#41431} ==========
Message was sent while issue was closed.
Patchset 3 (id:??) landed as https://crrev.com/8893d4ff58080fdef9d232ad4b2f95af19bfa6e6 Cr-Commit-Position: refs/heads/master@{#41431} |