- 10 Jun, 2015 1 commit
-
-
mstarzinger authored
This deprecates the aforementioned mutator in favor of a simpler NodeProperties::ReplaceUses that doesn't perform any relaxation. Preparation for enabling support for try-catch statements. R=bmeurer@chromium.org TEST=unittests/NodePropertiesTest Review URL: https://codereview.chromium.org/1172773003 Cr-Commit-Position: refs/heads/master@{#28897}
-
- 09 Jun, 2015 1 commit
-
-
mvstanton authored
This improves code generation. Before, it was a constant loaded in a register every time. R=mstarzinger@chromium.org BUG= Review URL: https://codereview.chromium.org/1175503002 Cr-Commit-Position: refs/heads/master@{#28874}
-
- 08 Jun, 2015 1 commit
-
-
mstarzinger authored
This adds handling of JSLoadDynamicContext nodes to JSTypedLowering to perform extension checks and an inline fast path. The fast path is a context slot load targeting a specific context. R=bmeurer@chromium.org BUG=v8:4131 LOG=N Review URL: https://codereview.chromium.org/1155543003 Cr-Commit-Position: refs/heads/master@{#28823}
-
- 05 Jun, 2015 3 commits
-
-
mstarzinger authored
This in turn allows usage of AdvancedReducer::ReplaceWithValue which has access to the underlying graph reducer. R=titzer@chromium.org Review URL: https://codereview.chromium.org/1158723005 Cr-Commit-Position: refs/heads/master@{#28817}
-
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/1158273011 Cr-Commit-Position: refs/heads/master@{#28813}
-
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}
-
- 04 Jun, 2015 1 commit
-
-
paul.lind authored
BUG= Review URL: https://codereview.chromium.org/1167613004 Cr-Commit-Position: refs/heads/master@{#28798}
-
- 03 Jun, 2015 1 commit
-
-
bmeurer authored
In typed lowering we can use the ReferenceEqual simplified operator instead of ObjectIsSmi to check for context extensions. This generates the desired code. R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/1163963003 Cr-Commit-Position: refs/heads/master@{#28776}
-
- 02 Jun, 2015 3 commits
-
-
martyn.capewell authored
Select ubfiz for (x & mask) << imm where mask is contiguous and imm is non-zero. BUG= Review URL: https://codereview.chromium.org/1161643003 Cr-Commit-Position: refs/heads/master@{#28755}
-
mstarzinger authored
This adds handling of JSLoadDynamicGlobal nodes to JSTypedLowering to perform extension checks and an inline fast path. The fast path is a global variable load from the global object. R=bmeurer@chromium.org BUG=v8:4131 LOG=N Review URL: https://codereview.chromium.org/1150723005 Cr-Commit-Position: refs/heads/master@{#28750}
-
bmeurer authored
Unfortunately StringAdd is not pure in V8 because we might throw an exception if the resulting string length is outside the valid bounds, so there's no point in having a simplified StringAdd operator. R=jarin@chromium.org Review URL: https://codereview.chromium.org/1164743002 Cr-Commit-Position: refs/heads/master@{#28747}
-
- 28 May, 2015 3 commits
-
-
mstarzinger authored
This introduces a conservative prediction for each exception handler whether it will locally catch an exception or re-throw it to outside the code bondaries. It will allow for a more intuitive prediction of whether an exception is considered "caught" or "uncaught". R=bmeurer@chromium.org,yangguo@chromium.org BUG=chromium:492522 LOG=N Review URL: https://codereview.chromium.org/1158563008 Cr-Commit-Position: refs/heads/master@{#28681}
-
bmeurer authored
The control flow optimization should work independent of the JSGraph. We used the JSGraph there because it was convinient, not because it was necessary. R=jarin@chromium.org Review URL: https://codereview.chromium.org/1160863003 Cr-Commit-Position: refs/heads/master@{#28674}
-
bmeurer authored
The SimplifiedOperatorReducer is (mostly) unused, except for the very rough store elimination, and just eats compilation time. R=jarin@chromium.org Review URL: https://codereview.chromium.org/1162563002 Cr-Commit-Position: refs/heads/master@{#28673}
-
- 27 May, 2015 1 commit
-
-
bmeurer authored
If both inputs to JSStrictEqual/JSStrictNotEqual are unique values (i.e. values with a canonical representation), we can lower the comparison to ReferenceEqual instead of StringEqual or CompareIC. Review URL: https://codereview.chromium.org/1154303002 Cr-Commit-Position: refs/heads/master@{#28646}
-
- 26 May, 2015 2 commits
-
-
bmeurer authored
This way we don't need to connect (potentially) non-terminating loops later during control reduction, which saves one forward pass over the control graph. Long term we will move the trimming functionality of the control reducer to the GraphReducer, and get rid of the Finish method again. As a bonus, this change also properly rewires Terminate, Throw and Deoptimize during inlining. R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/1155683004 Cr-Commit-Position: refs/heads/master@{#28625}
-
bmeurer authored
This simplifies the handling of the End node. Based on this CL we will finally fix terminating every loop from the beginning (via Terminate nodes) and fix inlining of Throw, Deoptimize and Terminate. R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/1157023002 Cr-Commit-Position: refs/heads/master@{#28620}
-
- 22 May, 2015 1 commit
-
-
titzer authored
This reduces the storage per-Node storage from 7 words to 6 and per-edge storage from 6 words to 4. On average this is about 10%-15% space savings over the whole graph. Remove the use of std::deque as the out-of-line storage for inputs. Reduce size of Use links and use pointer arithmetic to find Node from Use. R=mstarzinger@chromium.org,jarin@chromium.org BUG= Review URL: https://codereview.chromium.org/1150923003 Cr-Commit-Position: refs/heads/master@{#28583}
-
- 21 May, 2015 1 commit
-
-
titzer authored
BUG= Review URL: https://codereview.chromium.org/1149563004 Cr-Commit-Position: refs/heads/master@{#28540}
-
- 20 May, 2015 3 commits
-
-
bmeurer authored
R=jarin@chromium.org Review URL: https://codereview.chromium.org/1145143002 Cr-Commit-Position: refs/heads/master@{#28524}
-
bmeurer authored
R=jarin@chromium.org Review URL: https://codereview.chromium.org/1148033002 Cr-Commit-Position: refs/heads/master@{#28515}
-
ulan authored
BUG= Review URL: https://codereview.chromium.org/1145103002 Cr-Commit-Position: refs/heads/master@{#28508}
-
- 19 May, 2015 3 commits
-
-
ulan authored
This also adjusts transitioning between modes so that crbug.com/460090 remains fixed. BUG=chromium:489323, chromium:460090 LOG=NO Review URL: https://codereview.chromium.org/1141393002 Cr-Commit-Position: refs/heads/master@{#28490}
-
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/1134663006 Cr-Commit-Position: refs/heads/master@{#28485}
-
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}
-
- 18 May, 2015 2 commits
-
-
titzer authored
R=mstarzinger@chromium.org BUG= Review URL: https://codereview.chromium.org/1132353004 Cr-Commit-Position: refs/heads/master@{#28452}
-
titzer authored
R=bmeurer@chromium.org BUG= Review URL: https://codereview.chromium.org/1136413002 Cr-Commit-Position: refs/heads/master@{#28441}
-
- 15 May, 2015 4 commits
-
-
hpayer authored
BUG= Review URL: https://codereview.chromium.org/1138643003 Cr-Commit-Position: refs/heads/master@{#28428}
-
bmeurer authored
First step towards support for inlining based on SharedFunctionInfo instead of JSFunction. R=jarin@chromium.org Review URL: https://codereview.chromium.org/1134713004 Cr-Commit-Position: refs/heads/master@{#28419}
-
hpayer authored
When context disposal rate is high and we cannot perform a full GC, we do nothing until the context disposal rate becomes lower. BUG=chromium:473351 LOG=n Review URL: https://codereview.chromium.org/1118303004 Cr-Commit-Position: refs/heads/master@{#28416}
-
martyn.capewell authored
Enable clang's shorten-64-to-32 warning flag on ARM64, and fix the warnings that arise. BUG= Review URL: https://codereview.chromium.org/1131573006 Cr-Commit-Position: refs/heads/master@{#28412}
-
- 13 May, 2015 2 commits
-
-
titzer authored
R=jarin@chromium.org BUG= Review URL: https://codereview.chromium.org/1133303006 Cr-Commit-Position: refs/heads/master@{#28392}
-
bmeurer authored
Use these check points to optimize comparisons where we already know that one side cannot be a String (or turn into a string via ToPrimitive). Also remove bunch of useless DoNotCrash tests for the scheduler that are painful to maintain and add almost no value. R=jarin@chromium.org Review URL: https://codereview.chromium.org/1140583004 Cr-Commit-Position: refs/heads/master@{#28383}
-
- 12 May, 2015 2 commits
-
-
ulan authored
BUG=chromium:486005 LOG=NO Review URL: https://codereview.chromium.org/1131943004 Cr-Commit-Position: refs/heads/master@{#28378}
-
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}
-
- 11 May, 2015 1 commit
-
-
wingo authored
R=svenpanne@chromium.org LOG=N BUG= Review URL: https://codereview.chromium.org/1128043002 Cr-Commit-Position: refs/heads/master@{#28337}
-
- 08 May, 2015 2 commits
-
-
martyn.capewell authored
Select sbfx for ((x << k) >> k) in ARM64 instruction selector, and similarly for ubfx. This is a more generic version of the previous sxtb/h selector. BUG= Review URL: https://codereview.chromium.org/1135543002 Cr-Commit-Position: refs/heads/master@{#28318}
-
bmeurer authored
The Float32Abs and Float64Abs operators are supported by all TurboFan backends, so we no longer need the flags for them. R=jarin@chromium.org Review URL: https://codereview.chromium.org/1132033002 Cr-Commit-Position: refs/heads/master@{#28310}
-
- 07 May, 2015 2 commits
-
-
ulan authored
While the mutator is active, the idle time handler optimizes for latency by doing only incremental steps and scavenges. When the mutator becomes inactive, the idle time handler forces few incremental GCs to reclaim memory and then stops until mutator is active again. BUG=460090 LOG=N Review URL: https://codereview.chromium.org/1105293004 Cr-Commit-Position: refs/heads/master@{#28300}
-
ulan authored
This introduces V8.MemoryHeapCommitted and V8.MemoryHeapUsed histograms. In contrast to the existing memory histograms, the new histograms are uniform in time, i.e. their samples happen at regular time intervals. The --histogram-interval specifies the length of the interval. We implement this by linearly interpolating memory stats between GC and idle notification events. BUG=chromium:485472 LOG=NO Review URL: https://codereview.chromium.org/1125683004 Cr-Commit-Position: refs/heads/master@{#28292}
-