- 17 May, 2016 2 commits
-
-
mstarzinger authored
R=jarin@chromium.org Review-Url: https://codereview.chromium.org/1984203002 Cr-Commit-Position: refs/heads/master@{#36285}
-
mstarzinger authored
R=jarin@chromium.org Review-Url: https://codereview.chromium.org/1973323002 Cr-Commit-Position: refs/heads/master@{#36274}
-
- 25 Jan, 2016 1 commit
-
-
sigurds authored
This CL reduces the memory overhead of escape analysis by introducing a "copy on demand" strategy for virtual states and virtual objects. BUG=v8:4586 LOG=n Review URL: https://codereview.chromium.org/1606613002 Cr-Commit-Position: refs/heads/master@{#33491}
-
- 20 Jan, 2016 1 commit
-
-
sigurds authored
* Treat Select nodes as escaping * Correctly void virtual field information after a store to a non-const index * Add a shortcut if all allocates escape * Add a shortcut if no allocates are discovered * Only reduce FrameState/StateValues nodes if they have virtual allocates as input (transitively) * Fix bug in FrameState/StateValues duplication * Add check to verifier: First 3 inputs of FrameState must be StateValues R=mstarzinger@chromium.org BUG=v8:4586 LOG=n Review URL: https://codereview.chromium.org/1583213003 Cr-Commit-Position: refs/heads/master@{#33406}
-
- 13 Jan, 2016 1 commit
-
-
sigurds authored
The escape analysis transformation phase visits allocation nodes twice under some circumstances, thus reporting wrong counter values. This CL ensures counter values are correct. R=mstarzinger@chromium.org BUG=v8:4586 LOG=n Review URL: https://codereview.chromium.org/1577273002 Cr-Commit-Position: refs/heads/master@{#33270}
-
- 05 Jan, 2016 2 commits
-
-
sigurds authored
Deopt support is added on two levels. On the IR level, a new ObjectState node is added, which represenents an object to be materialized. ObjectState nodes appear as inputs of FrameState and StateValues nodes. On the instruction select/code-generation level, the FrameStateDescriptor class handles the nesting introduced by ObjectState, and ensures that deopt code with CAPTURED_OBJECT/DUPLICATED_OBJECT entries are generated similarly to what crankshaft's escape analysis does. Two unittests test correctness of the IR level implementation. Correctness for instruction selection / code generation is tested by mjsunit tests. R=jarin@chromium.org,mstarzinger@chromium.org BUG=v8:4586 LOG=n Review URL: https://codereview.chromium.org/1485183002 Cr-Commit-Position: refs/heads/master@{#33115}
-
sigurds authored
R=bmeurer@chromium.org BUG=v8:4586 LOG=n Review URL: https://codereview.chromium.org/1559003002 Cr-Commit-Position: refs/heads/master@{#33107}
-
- 14 Dec, 2015 1 commit
-
-
sigurds authored
Bugfixes and improvements in escape analysis include: * Handling of ObjectIsSmi (non-escaping) * Handling of nested phi replacements * Handling of phis with arity > 2 * Resilience against effectful nodes dangling from start * Allocations escape now, if non-const load/store is performed * Fixed a bug where non-allocated objects where tracked * Allow fixed double arrays to be tracked R=mstarzinger@chromium.org BUG=v8:4586 LOG=n Review URL: https://codereview.chromium.org/1510973006 Cr-Commit-Position: refs/heads/master@{#32833}
-
- 07 Dec, 2015 1 commit
-
-
sigurds authored
This patch improves escape analysis and fixes bugs triggered by clusterfuzz. Impovements include: * Handling of LoadElement/StoreElement if index is a constant * Handling of JSStoreProperty: invalidate all information, as the store could have altered any field. * Treat phis that use an allocation as escaping * Improve resolution of replacements R=mstarzinger@chromium.org BUG=v8:4586 LOG=n Review URL: https://codereview.chromium.org/1499143002 Cr-Commit-Position: refs/heads/master@{#32656}
-
- 02 Dec, 2015 2 commits
-
-
sigurds authored
R=mstarzinger@chromium.org BUG=v8:4586 LOG=n Review URL: https://codereview.chromium.org/1491903002 Cr-Commit-Position: refs/heads/master@{#32523}
-
sigurds authored
This is the first part of escape analysis for turbofan. At the moment, there is no deopt support, and support for loops is partial (only binary Phis are handled). The CL includes 4 unittests. There are also 8 new mjsunit tests, some of which are skiped as they require features not yet implemented. BUG=v8:4586 LOG=n Review URL: https://codereview.chromium.org/1457683003 Cr-Commit-Position: refs/heads/master@{#32498}
-