- 04 Mar, 2019 1 commit
-
-
Ross McIlroy authored
BUG=v8:8801 Change-Id: I9d9d9824c6c9ad0176bbfd3723da1b578b17c256 Reviewed-on: https://chromium-review.googlesource.com/c/1495555 Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Mythri Alle <mythria@chromium.org> Cr-Commit-Position: refs/heads/master@{#60001}
-
- 24 Nov, 2016 1 commit
-
-
bmeurer authored
The deprecated pipeline is used for asm.js only, where we forcibly disable inlining anyways (for performance reasons), so inlining via the AstGraphBuilder is essentially dead code by now, thus there's no point in trying to keep that around in the code base. Also nuke the test-run-inlining.cc file, which would require some heavy surgery (for probably little benefit), and move the useful tests for mjsunit tests instead. BUG=v8:2206,v8:5657 R=yangguo@chromium.org Review-Url: https://codereview.chromium.org/2527053002 Cr-Commit-Position: refs/heads/master@{#41245}
-
- 26 Jul, 2016 1 commit
-
-
bmeurer authored
When we eliminate nodes during truncation analysis that have no value uses, we must make sure that we do not eliminate speculative number operations that would have side effects depending on the inputs, i.e. for example a SpeculativeNumberMultiply(x,y) does ToNumber(x) and ToNumber(y) first, so if either x or y could throw an exception during ToNumber conversion, we must not eliminate the multiplication, even if it has no value uses (some later pass may kill the actual machine multiplication, but the checks on the inputs have to remain still). So we check whether both x and y are PlainPrimitive, i.e. neither Receiver nor Symbol, which could raise exceptions for ToNumber, and only in that case we propagate the "unusedness" of the node to its inputs. This also uncovered a bug with the type of Dead, which must be None, as this represents an impossible value, so we had to fix that too. Also the dead code removal will not work correctly for constants (i.e. pure nodes with no value inputs), as those might be cached and hence we might resurrect them for an unrelated node lowering during SimplifiedLowering and only later kill the actual node (replacing its uses with Dead), which would then also replace the new use with Dead. So that was fixed as well. This shouldn't change anything for the result, as unused constants automagically disappear from the graph later on anyways. R=yangguo@chromium.org BUG=chromium:631318 Review-Url: https://codereview.chromium.org/2182003002 Cr-Commit-Position: refs/heads/master@{#38038}
-
- 28 Jun, 2016 1 commit
-
-
bmeurer authored
The ARM64 instruction selector can generate code like this negs w0, w1 b.vs deopt but then reference the old value of w0 in the frame state, which will obviously lead to wrong results. R=jarin@chromium.org BUG=v8:5158 Review-Url: https://codereview.chromium.org/2103793002 Cr-Commit-Position: refs/heads/master@{#37322}
-
- 09 Jun, 2016 1 commit
-
-
bmeurer authored
When walking up the prototype chain during OrdinaryHasInstance, we first check if the current prototype equals the expected one, and only afterwards check the current prototype against null. That's obviously wrong if we check something like Proxy, whose prototype is null. R=yangguo@chromium.org BUG=v8:5085 Review-Url: https://codereview.chromium.org/2041103007 Cr-Commit-Position: refs/heads/master@{#36840}
-
- 29 Mar, 2016 1 commit
-
-
bmeurer authored
Fix and re-enable the flexible representation for Math.floor (which is used to implement Math.ceil) and Math.round, which allows Math.floor and Math.round to return double results instead of int32, and therefore allows values outside the int32 range, especially -0 is now a valid result, which doesn't deopt. Also port this feature to x64 and ia32 when the CPU supports the SSE4.1 extension. This addresses all the known deoptimization loops related to Math.round in the Kraken benchmark suite, and seems to also address most of the deoptimization loops related to Math.floor in the Oort Online benchmark. Drive-by-fix: Import the regression tests for the broken HMathFloorOfDiv optimization that caused the initial revert of the feature (for arm64 only back then). BUG=chromium:476477,v8:2890,v8:4059 R=jarin@chromium.org LOG=n Review URL: https://codereview.chromium.org/1841513003 Cr-Commit-Position: refs/heads/master@{#35094}
-
- 29 Jan, 2016 1 commit
-
-
bmeurer authored
The for-in slow mode implementation in Crankshaft unconditionally deoptimizes when %ForInFilter returns undefined instead of just skipping the item. Even worse, there's nothing we can learn from that deopt, so we will eventually optimize again and hit exactly the same problem again once we get back to optimized code. R=mvstanton@chromium.org BUG=v8:3650 LOG=n Review URL: https://codereview.chromium.org/1647093002 Cr-Commit-Position: refs/heads/master@{#33609}
-
- 15 Jan, 2016 1 commit
-
-
ishell authored
BUG=chromium:577112 LOG=N Review URL: https://codereview.chromium.org/1584303002 Cr-Commit-Position: refs/heads/master@{#33320}
-
- 24 Jun, 2014 1 commit
-
-
yangguo@chromium.org authored
R=jkummerow@chromium.org, danno@chromium.org BUG=387636 LOG=Y Review URL: https://codereview.chromium.org/331863015 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21959 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 04 Jun, 2014 1 commit
-
-
bmeurer@chromium.org authored
BUG=380512 LOG=y R=jarin@chromium.org Review URL: https://codereview.chromium.org/313073003 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21665 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 03 Apr, 2014 1 commit
-
-
jarin@chromium.org authored
This is to avoid triggering an assertion from Smi::FromInt. The generated code is unreachable, so it is not a real bug. R=ulan@chromium.org BUG= Review URL: https://codereview.chromium.org/221743005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20458 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 31 Mar, 2014 1 commit
-
-
rossberg@chromium.org authored
R=verwaest@chromium.org, bmeurer@chromium.org BUG=chromium:357330 LOG=Y Review URL: https://codereview.chromium.org/219333003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20366 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 28 Feb, 2014 3 commits
-
-
hpayer@chromium.org authored
BUG= R=verwaest@chromium.org Review URL: https://codereview.chromium.org/184393002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19599 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
bmeurer@chromium.org authored
BUG=347904 LOG=y R=hpayer@chromium.org Review URL: https://codereview.chromium.org/184303003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19594 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
svenpanne@chromium.org authored
LOG=y BUG=347542 R=yangguo@chromium.org Review URL: https://codereview.chromium.org/183763007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19592 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 25 Feb, 2014 1 commit
-
-
rossberg@chromium.org authored
R=arv@chromium.org, mstarzinger@chromium.org BUG=346141 LOG=Y Review URL: https://codereview.chromium.org/177883002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19539 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 20 Feb, 2014 1 commit
-
-
verwaest@chromium.org authored
R=ishell@chromium.org Review URL: https://codereview.chromium.org/165743003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19511 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 14 Feb, 2014 1 commit
-
-
yangguo@chromium.org authored
R=dslomov@chromium.org BUG=v8:3159 LOG=N Review URL: https://codereview.chromium.org/163293002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19369 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-