- 17 Jul, 2019 1 commit
-
-
Tobias Tebbi authored
This adds a simple counter to Turbofan that's incremented throughout the compilation, hopefully frequently enough so we can use it to detect divergence and performance bugs. In addition, we assert that this counter never gets too high. That's the equivalent of a simple timeout, just more deterministic. The limitations on Turbofan input size should guarantee that we never exceed this limit. Since we probably do exceed it rarely, this check is only a DCHECK and intended to detect performance and divergence issues, but not supposed to be performed in release builds. In addition, this CL adds UMA stats to observe the real world distribution of the tick measurement. Bug: v8:9444 Change-Id: I182dac6ecac64715e3f5885ff5c7c17549351cd0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1695475 Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Reviewed-by: Michael Stanton <mvstanton@chromium.org> Cr-Commit-Position: refs/heads/master@{#62754}
-
- 24 May, 2019 1 commit
-
-
Yang Guo authored
TBR=mvstanton@chromium.org,neis@chromium.org,ahaas@chromium.org Bug: v8:9247 Change-Id: I5433c863a54f3412d73df0d38aba3fdbcfac7ebe Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1627973 Commit-Queue: Yang Guo <yangguo@chromium.org> Auto-Submit: Yang Guo <yangguo@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#61830}
-
- 29 Mar, 2019 1 commit
-
-
Clemens Hammacher authored
Even though both are allowed in the style guide, it recommends to use 'using', as its syntax is more consistent with the rest of C++. This CL turns all typedefs in compiler code to 'using' declarations. R=mstarzinger@chromium.org Bug: v8:8834 Change-Id: I3baf3ecbfe2c853cb17bb479ebbf140382193b5c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1545896 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#60527}
-
- 17 Sep, 2018 2 commits
-
-
Florian Sattler authored
Fixing clang-tidy warning. Bug: v8:8015 Change-Id: I7d885f0e2ba3cdf97de190166dc4cdd24dc0c11e Reviewed-on: https://chromium-review.googlesource.com/1224091 Commit-Queue: Florian Sattler <sattlerf@google.com> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#55956}
-
Florian Sattler authored
Fixing clang-tidy warning. Bug: v8:8015 Change-Id: I5164899da0994a855182ed203572c5984ab87449 Reviewed-on: https://chromium-review.googlesource.com/1227070Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Florian Sattler <sattlerf@google.com> Cr-Commit-Position: refs/heads/master@{#55938}
-
- 20 Feb, 2018 1 commit
-
-
Adam Klein authored
Also delete a bit of dead code depending on dead types. Change-Id: I6cfc7e2f6c8fd006bd0de054bfc3e9f725996741 Reviewed-on: https://chromium-review.googlesource.com/923083Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/master@{#51403}
-
- 11 Jul, 2017 1 commit
-
-
Alexandre Talon authored
Each reducer now has a virtual reducer_name function, returning its name (the name of the class containing this reducer). This gets displayed when using the --trace_turbo_reduction flag. Also when using this flags more messages are displayed. Actually when a node is replaced in-place (which is called an update of the node), other reducers can still update it right after the in-place replacement. When a node is really replaced (not in-place), then we stop trying to apply reducers to it before we propagate the reduction through the relevant nodes. Before a message got printed only for the last reduction it went through. So in case a node was reduced in-place several times in a row, only the last update was printed, or none at all if after being reduced in-place it got reduced by being replaced by another node: only the non-in-place replacement was showed. Now each time an in-place reduction is applied to a node, a message gets printed. Bug: Change-Id: Id0f816fecd44c01d0253966c6decc4861be0c2fa Reviewed-on: https://chromium-review.googlesource.com/563365Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Alexandre Talon <alexandret@google.com> Cr-Commit-Position: refs/heads/master@{#46552}
-
- 07 Jul, 2017 1 commit
-
-
Mythri authored
When there are some changes in the graph, we mark the uses of the reduced node for revisiting. These are pushed onto a stack and hence follow a depth first traversal. This sometimes leads to propogating the changes down the graph and again revisiting the entire graph because of the nodes that were marked for revisit earlier. Bug: chromium:725664 Change-Id: I036fd7096c422565a2851b109aba2b4c438403c0 Reviewed-on: https://chromium-review.googlesource.com/563301Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Mythri Alle <mythria@google.com> Cr-Commit-Position: refs/heads/master@{#46480}
-
- 17 Oct, 2016 1 commit
-
-
jochen authored
R=machenbach@chromium.org,titzer@chromium.org,bmeurer@chromium.org,jgruber@chromium.org BUG= CQ_INCLUDE_TRYBOTS=master.tryserver.v8:v8_win_dbg,v8_mac_dbg;master.tryserver.chromium.android:android_arm64_dbg_recipe Review-Url: https://codereview.chromium.org/2416243002 Cr-Commit-Position: refs/heads/master@{#40350}
-
- 20 Sep, 2016 1 commit
-
-
heimbuef authored
This is some initial cleanup to keep /src clean. The AccountingAllocator is actually exclusively used by zones and this common subfolder makes that more clear. BUG=v8:5409 Review-Url: https://codereview.chromium.org/2344143003 Cr-Commit-Position: refs/heads/master@{#39558}
-
- 20 May, 2016 1 commit
-
-
neis authored
Introduce three new JS operators in Turbofan: - JSGeneratorStore is used in implementing Ignition's SuspendGenerator bytecode. - JSGeneratorRestoreContinuation and JSGeneratorRestoreRegister are used in implementing Ignition's ResumeGenerator bytecode. Remove the runtime functions that were used to implement these bytecodes before. BUG=v8:4907 Review-Url: https://codereview.chromium.org/1991203002 Cr-Commit-Position: refs/heads/master@{#36395}
-
- 11 Jan, 2016 1 commit
-
-
titzer authored
R=bmeurer@chromium.org BUG= Review URL: https://codereview.chromium.org/1578723002 Cr-Commit-Position: refs/heads/master@{#33202}
-
- 09 Nov, 2015 1 commit
-
-
bmeurer authored
Introduce Reducer::Finalize, which get's called by the GraphReducer once all reductions are done, and use this to implement full inlining as part of the regular reducer fixpoint. R=jarin@chromium.org BUG=v8:4493 LOG=n Review URL: https://codereview.chromium.org/1419373012 Cr-Commit-Position: refs/heads/master@{#31875}
-
- 23 Jun, 2015 3 commits
-
-
Benedikt Meurer authored
This will immediately remove dead code from the graph once any of the advanced reducers inserts it. Also changes the GraphReducer to use the canonical Dead node for ReplaceWithValue. R=jarin@chromium.org Committed: https://crrev.com/88a40c5fb381924b1c0b2403dc582bceb2abe5da Cr-Commit-Position: refs/heads/master@{#29217} Review URL: https://codereview.chromium.org/1206533002. Cr-Commit-Position: refs/heads/master@{#29225}
-
bmeurer authored
Revert of [turbofan] Run DeadCodeElimination together with the advanced reducers. (patchset #1 id:1 of https://codereview.chromium.org/1206533002/) Reason for revert: Looks like this breaks Tests262. Original issue's description: > [turbofan] Run DeadCodeElimination together with the advanced reducers. > > This will immediately remove dead code from the graph once any of > the advanced reducers inserts it. Also changes the GraphReducer to > use the canonical Dead node for ReplaceWithValue. > > R=jarin@chromium.org > > Committed: https://crrev.com/88a40c5fb381924b1c0b2403dc582bceb2abe5da > Cr-Commit-Position: refs/heads/master@{#29217} TBR=jarin@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1200983004 Cr-Commit-Position: refs/heads/master@{#29220}
-
bmeurer authored
This will immediately remove dead code from the graph once any of the advanced reducers inserts it. Also changes the GraphReducer to use the canonical Dead node for ReplaceWithValue. R=jarin@chromium.org Review URL: https://codereview.chromium.org/1206533002 Cr-Commit-Position: refs/heads/master@{#29217}
-
- 17 Jun, 2015 1 commit
-
-
bmeurer authored
Up until now that was still mixed with control reduction in the ControlReducer. This separation allows us to remove the horrible Reducer::Finish hack and also do graph trimming at more appropriate places in the pipeline (i.e. trim dead nodes after generic lowering, which can also make nodes dead). R=jarin@chromium.org,mstarzinger@chromium.org Review URL: https://codereview.chromium.org/1188433010 Cr-Commit-Position: refs/heads/master@{#29077}
-
- 12 Jun, 2015 1 commit
-
-
bmeurer authored
Up until now we used int32_t for NodeId, but that was not ideal because negative values are invalid for NodeId and we use it as an array index for example in the NodeMarker class, where C++ compilers on x64 have to generate code that does proper sign extension for the indices, which is completely unnecessary. R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/1178403004 Cr-Commit-Position: refs/heads/master@{#28997}
-
- 05 Jun, 2015 1 commit
-
-
mstarzinger authored
This allows any AdvancedReducer to remove exception projections from graphs. This is the common case when JS-operators are being replaced with pure values. The old NodeProperties::ReplaceWithValue is being deprecated in favor of AdvancedReducer::ReplaceWithValue. R=titzer@chromium.org TEST=unittests/AdvancedReducerTest Review URL: https://codereview.chromium.org/1168693002 Cr-Commit-Position: refs/heads/master@{#28810}
-
- 19 May, 2015 1 commit
-
-
mstarzinger authored
This in turn allows usage of AdvancedReducer::ReplaceWithValue which has access to the underlying graph reducer. It will allow us to deal with exception continuations correctly. R=titzer@chromium.org Review URL: https://codereview.chromium.org/1134303003 Cr-Commit-Position: refs/heads/master@{#28468}
-
- 12 May, 2015 1 commit
-
-
titzer authored
[turbofan] Add AdvancedReducer::ReplaceWithValue() method and convert JSInlining to an AdvancedReducer. Note that this is just a duplication for now. We'll want to get rid of the NodeProperties::ReplaceWithValue() method in the long run. R=bmeurer@chromium.org BUG= Review URL: https://codereview.chromium.org/1135483004 Cr-Commit-Position: refs/heads/master@{#28363}
-
- 06 May, 2015 1 commit
-
-
bmeurer authored
An AdvancedReducer is basically a regular Reducer with an editor that can perform graph editing operations beyond changing or replacing the node that is currently being reduced. The GraphReducer is the default implementation of the AdvancedReducer::Editor interface. The ControlReducerImpl is now just an AdvancedReducer, which temporarily requires a Finish method in the reducer to implement the dead node trimming until we move that to the GraphReducer (which in turn requires that all loops are connected to End). Review URL: https://codereview.chromium.org/1122423003 Cr-Commit-Position: refs/heads/master@{#28251}
-
- 20 Apr, 2015 1 commit
-
-
Ross McIlroy authored
R=jochen@chromium.org Review URL: https://codereview.chromium.org/1088993003 Cr-Commit-Position: refs/heads/master@{#27937}
-
- 07 Jan, 2015 1 commit
-
-
bmeurer authored
- Move NodeMarker to its own file, and introduce a non templatized base class. - Cleanup the include hell. - Sanitize the Node construction methods now that we got rid of that GenericNode/GenericGraph stuff. - Protect against NodeId overflow in Graph. - Various minor cleanups. TEST=cctest,mjsunit,unittests Review URL: https://codereview.chromium.org/838783002 Cr-Commit-Position: refs/heads/master@{#25977}
-
- 28 Nov, 2014 1 commit
-
-
Ben L. Titzer authored
R=mstarzinger@chromium.org BUG= Review URL: https://codereview.chromium.org/768763002 Cr-Commit-Position: refs/heads/master@{#25567}
-
- 27 Nov, 2014 1 commit
-
-
titzer authored
R=mstarzinger@chromium.org BUG= Review URL: https://codereview.chromium.org/753073009 Cr-Commit-Position: refs/heads/master@{#25551}
-
- 17 Nov, 2014 1 commit
-
-
Benedikt Meurer authored
Don't use the generic algorithm, but instead start going into the direction of ControlReducer, using a stack plus a revisit queue to not miss any more possibilities for reductions anymore. TEST=cctest,unittests R=dcarney@chromium.org Committed: https://chromium.googlesource.com/v8/v8/+/f047507370634155113d78685372630a230613cf Committed: https://chromium.googlesource.com/v8/v8/+/6e148989a4227a5290a7f8ca72c71f5740870afe Review URL: https://codereview.chromium.org/726513002 Cr-Commit-Position: refs/heads/master@{#25377}
-
- 14 Nov, 2014 2 commits
-
-
Benedikt Meurer authored
This reverts commit 6e148989 for breaking Massive/Embenchen. TBR=machenbach@chromium.org Review URL: https://codereview.chromium.org/727743002 Cr-Commit-Position: refs/heads/master@{#25356}
-
Benedikt Meurer authored
Don't use the generic algorithm, but instead start going into the direction of ControlReducer, using a stack plus a revisit queue to not miss any more possibilities for reductions anymore. TEST=cctest,unittests R=dcarney@chromium.org Committed: https://chromium.googlesource.com/v8/v8/+/f047507370634155113d78685372630a230613cf Review URL: https://codereview.chromium.org/726513002 Cr-Commit-Position: refs/heads/master@{#25345}
-
- 13 Nov, 2014 2 commits
-
-
Michael Starzinger authored
This reverts commit f0475073 due to mjsunit/numops-fuzz-part2 hitting an assertion in the ARM assembler. TBR=bmeurer@chromium.org TEST=mjsunit/numops-fuzz-part2 Review URL: https://codereview.chromium.org/724053002 Cr-Commit-Position: refs/heads/master@{#25327}
-
Benedikt Meurer authored
Don't use the generic algorithm, but instead start going into the direction of ControlReducer, using a stack plus a revisit queue to not miss any more possibilities for reductions anymore. TEST=cctest,unittests R=dcarney@chromium.org Review URL: https://codereview.chromium.org/726513002 Cr-Commit-Position: refs/heads/master@{#25326}
-
- 02 Sep, 2014 1 commit
-
-
bmeurer@chromium.org authored
Less useless creativity is best creativity! R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/526223002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23579 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 26 Aug, 2014 1 commit
-
-
titzer@chromium.org authored
to use with Zone. For example, subclasses add constructors that wrap a Zone in a zone_allocator to save clients this verbosity. R=bmeurer@chromium.org, mstarzinger@chromium.org BUG= Review URL: https://codereview.chromium.org/505133003 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23402 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 22 Aug, 2014 1 commit
-
-
bmeurer@chromium.org authored
TEST=compiler-unittests R=jarin@chromium.org Review URL: https://codereview.chromium.org/479793004 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23289 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 30 Jul, 2014 1 commit
-
-
danno@chromium.org authored
R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/426233002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22709 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-