- 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}
-
- 03 Jun, 2015 1 commit
-
-
bmeurer authored
The IC for modulus is usually way faster than converting the inputs to numbers and doing a Float64Mod on them. R=jarin@chromium.org Review URL: https://codereview.chromium.org/1170433002 Cr-Commit-Position: refs/heads/master@{#28787}
-
- 26 May, 2015 1 commit
-
-
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}
-
- 21 May, 2015 2 commits
-
-
bmeurer authored
Replace the --turbo-deoptimization flag with --turbo-asm-deoptimization and enable deoptimization for non-asm.js TurboFan code unconditionally. R=jarin@chromium.org Review URL: https://codereview.chromium.org/1153483002 Cr-Commit-Position: refs/heads/master@{#28543}
-
titzer authored
BUG= Review URL: https://codereview.chromium.org/1149563004 Cr-Commit-Position: refs/heads/master@{#28540}
-
- 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
-
-
conradw authored
Implements the strong mode proposal's restrictions on implicit conversions for the binary >, >=, <, and <= operators. BUG=v8:3956 LOG=N Review URL: https://codereview.chromium.org/1130283002 Cr-Commit-Position: refs/heads/master@{#28370}
-
- 24 Apr, 2015 1 commit
-
-
conradw authored
Implements the strong mode proposal's restrictions on implicit conversions for binary arithmetic operations, not including the + special case. Adds some infrastructure for future implementation of the restrictions for other operators. BUG=v8:3956 LOG=N Review URL: https://codereview.chromium.org/1092353002 Cr-Commit-Position: refs/heads/master@{#28045}
-
- 19 Mar, 2015 1 commit
-
-
Benedikt Meurer authored
This reduces the overhead of typed lowering, because we lower JSToBoolean/JSUnaryNot directly if possible, instead of first lowering to AnyToBoolean, and then letting the SimplifiedOperatorReducer do the further lowering. Also remove some obsolete tests from the cctest suite that have since been removed by proper unittests. And improve unitttest coverage for the typed lowering cases. R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/999173003 Cr-Commit-Position: refs/heads/master@{#27295}
-
- 09 Mar, 2015 2 commits
-
-
jarin authored
This slightly hacky change provides lazy deopt points for to-number conversions in binops: When we deopt from a to-number conversion, we create a frame state with the already-converted value(s) so that we do not repeat the side effect of the conversion. Embenchen numbers are below. It is not quite clear what happened to fasta - the hot code looks nearly identical. Current: EmbenchenBox2d(RunTime): 12746 ms. d8-master: EmbenchenBox2d(RunTime): 13861 ms. ----------- bullet.js Current: EmbenchenBullet(RunTime): 17680 ms. d8-master: EmbenchenBullet(RunTime): 19170 ms. ----------- copy.js Current: EmbenchenCopy(RunTime): 4939 ms. d8-master: EmbenchenCopy(RunTime): 4943 ms. ----------- corrections.js Current: EmbenchenCorrections(RunTime): 6639 ms. d8-master: EmbenchenCorrections(RunTime): 6728 ms. ----------- fannkuch.js Current: EmbenchenFannkuch(RunTime): 4630 ms. d8-master: EmbenchenFannkuch(RunTime): 4872 ms. ----------- fasta.js Current: EmbenchenFasta(RunTime): 10209 ms. d8-master: EmbenchenFasta(RunTime): 9673 ms. ----------- lua_binarytrees.js Current: EmbenchenLuaBinaryTrees(RunTime): 12936 ms. d8-master: EmbenchenLuaBinaryTrees(RunTime): 15529 ms. ----------- memops.js Current: EmbenchenMemOps(RunTime): 7357 ms. d8-master: EmbenchenMemOps(RunTime): 7340 ms. ----------- primes.js Current: EmbenchenPrimes(RunTime): 7530 ms. d8-master: EmbenchenPrimes(RunTime): 7457 ms. ----------- skinning.js Current: EmbenchenSkinning(RunTime): 15832 ms. d8-master: EmbenchenSkinning(RunTime): 15630 ms. ----------- zlib.js Current: EmbenchenZLib(RunTime): 11176 ms. d8-master: EmbenchenZLib(RunTime): 11324 ms. BUG= Review URL: https://codereview.chromium.org/985713003 Cr-Commit-Position: refs/heads/master@{#27071}
-
Jaroslav Sevcik authored
BUG= R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/983153002 Cr-Commit-Position: refs/heads/master@{#27060}
-
- 20 Feb, 2015 3 commits
-
-
Benedikt Meurer authored
R=svenpanne@chromium.org Committed: https://crrev.com/5bbe693e4817011b6a496c638c9f09026fd3dac9 Cr-Commit-Position: refs/heads/master@{#26760} Review URL: https://codereview.chromium.org/944803002 Cr-Commit-Position: refs/heads/master@{#26767}
-
machenbach authored
Revert of [turbofan] Finally get rid of the generic algorithm. (patchset #2 id:20001 of https://codereview.chromium.org/944803002/) Reason for revert: Breaks dbg builds. Original issue's description: > [turbofan] Finally get rid of the generic algorithm. > > R=svenpanne@chromium.org > > Committed: https://crrev.com/5bbe693e4817011b6a496c638c9f09026fd3dac9 > Cr-Commit-Position: refs/heads/master@{#26760} TBR=svenpanne@chromium.org,bmeurer@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/941963003 Cr-Commit-Position: refs/heads/master@{#26763}
-
Benedikt Meurer authored
R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/944803002 Cr-Commit-Position: refs/heads/master@{#26760}
-
- 12 Feb, 2015 1 commit
-
-
mstarzinger authored
R=titzer@chromium.org TEST=cctest/test-js-typed-lowering Review URL: https://codereview.chromium.org/925583002 Cr-Commit-Position: refs/heads/master@{#26626}
-
- 30 Jan, 2015 3 commits
-
-
bmeurer authored
R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/877753007 Cr-Commit-Position: refs/heads/master@{#26346}
-
Benedikt Meurer authored
This reverts commit 6a4c0a3b and commit 0deaa4b6 for breaking GCC bots. TBR=svenpanne@chromium.org Review URL: https://codereview.chromium.org/893533003 Cr-Commit-Position: refs/heads/master@{#26342}
-
bmeurer authored
R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/888613002 Cr-Commit-Position: refs/heads/master@{#26340}
-
- 29 Jan, 2015 1 commit
-
-
bmeurer authored
R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/883613006 Cr-Commit-Position: refs/heads/master@{#26316}
-
- 28 Jan, 2015 1 commit
-
-
jarin authored
This reverts commit 76193749. BUG= Review URL: https://codereview.chromium.org/877643002 Cr-Commit-Position: refs/heads/master@{#26301}
-
- 23 Jan, 2015 1 commit
-
-
danno authored
Along the way: - Thread isolate parameter explicitly through code that used to rely on getting it from the zone. - Canonicalize the parameter position of isolate and zone for affected code - Change Hydrogen New<> instruction templates to automatically pass isolate R=mstarzinger@chromium.org LOG=N Review URL: https://codereview.chromium.org/868883002 Cr-Commit-Position: refs/heads/master@{#26252}
-
- 22 Jan, 2015 1 commit
-
-
bmeurer authored
Revert of Steps towards unification of number bitset and range types. (patchset #4 id:60001 of https://codereview.chromium.org/837723006/) Reason for revert: Breaks test-types/Maybe, i.e. out/Release/cctest --random-seed=-707413401 test-types/Maybe started failing afterwards Original issue's description: > Steps towards unification of number bitset and range types. > > - New invariant on union types: if the union has a range then the number > bits in the bitset must be cleared. > > - Various tweaks in intersection and union to satisfy the invariant. > > - Exposed and used representation bits in range types (and the Limits > helper class). > > - Implemented Glb for ranges so that the Is predicate handles > ranges correctly. > > - Change typer weakening so that it does not rely on GetRange. > However, the code still seems to be a bit fragile. > > - Removed the Smi types from the type system core, instead introduced > Signed31, Unsigned30 and created constructors for Small(Un)Signed > that point to the right type for the architecture. > > - Punched a hole in the config to be able to get to the isolate so > that it is possible to allocate heap numbers for newly created > ranges. > > Patch by jarin@chromium.prg, original review here: > https://codereview.chromium.org/795713003/ > > TBR=jarin@chromium.org > BUG= > > Committed: https://crrev.com/2764fd8d1a266a9136c987c2483492113b0c8d80 > Cr-Commit-Position: refs/heads/master@{#26197} TBR=jkummerow@chromium.org,rossberg@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= Review URL: https://codereview.chromium.org/868583002 Cr-Commit-Position: refs/heads/master@{#26207}
-
- 21 Jan, 2015 2 commits
-
-
rossberg authored
- New invariant on union types: if the union has a range then the number bits in the bitset must be cleared. - Various tweaks in intersection and union to satisfy the invariant. - Exposed and used representation bits in range types (and the Limits helper class). - Implemented Glb for ranges so that the Is predicate handles ranges correctly. - Change typer weakening so that it does not rely on GetRange. However, the code still seems to be a bit fragile. - Removed the Smi types from the type system core, instead introduced Signed31, Unsigned30 and created constructors for Small(Un)Signed that point to the right type for the architecture. - Punched a hole in the config to be able to get to the isolate so that it is possible to allocate heap numbers for newly created ranges. Patch by jarin@chromium.prg, original review here: https://codereview.chromium.org/795713003/ TBR=jarin@chromium.org BUG= Review URL: https://codereview.chromium.org/837723006 Cr-Commit-Position: refs/heads/master@{#26197}
-
mstarzinger authored
R=titzer@chromium.org TEST=cctest/test-js-typed-lowering/JSToNumberOfNumberOrOtherPrimitive Review URL: https://codereview.chromium.org/862963002 Cr-Commit-Position: refs/heads/master@{#26194}
-
- 15 Jan, 2015 2 commits
-
-
bmeurer authored
Revert of [turbofan] Use PlainPrimitiveToNumber whenever possible. (patchset #1 id:1 of https://codereview.chromium.org/852763002/) Reason for revert: Tanks performance of SQLite and towers.c. Original issue's description: > [turbofan] Use PlainPrimitiveToNumber whenever possible. > > TEST=cctest,unittests > R=jarin@chromium.org > > Committed: https://crrev.com/1a5db24e6bf831e61e3f4aa0c252f77e48c3689c > Cr-Commit-Position: refs/heads/master@{#26071} TBR=jarin@chromium.org,dcarney@chromium.org NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/852153003 Cr-Commit-Position: refs/heads/master@{#26078}
-
bmeurer authored
TEST=cctest,unittests R=jarin@chromium.org Review URL: https://codereview.chromium.org/852763002 Cr-Commit-Position: refs/heads/master@{#26071}
-
- 14 Jan, 2015 1 commit
-
-
jarin authored
R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/841443004 Cr-Commit-Position: refs/heads/master@{#26053}
-
- 05 Jan, 2015 1 commit
-
-
Benedikt Meurer authored
Introduce a new AnyToBoolean simplified operator to handle the later lowering of boolean conversions. Previously we tried to hack that with the generic JSToBoolean, having its context set to zero, but that lead to various problems/bugs and did not handle all cases. TEST=cctest,unittests R=jarin@chromium.org Review URL: https://codereview.chromium.org/800833003 Cr-Commit-Position: refs/heads/master@{#25958}
-
- 16 Dec, 2014 1 commit
-
-
Benedikt Meurer authored
This greatly reduces the number of nodes in the graph (by more than 20x in some extreme cases) for the Emscripten python interpreter main function. BUG=v8:3763 LOG=y TEST=cctest,mjsunit,unittests R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/802353003 Cr-Commit-Position: refs/heads/master@{#25840}
-
- 12 Dec, 2014 1 commit
-
-
Benedikt Meurer authored
- Decouple JSBuiltinReducer from JSTypedLowering. - Unify JSTypedLowering::ReduceJSToXXX() lowering. - Cleanup several includes and forward declarations. - Unify helper methods. TEST=cctest R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/797903003 Cr-Commit-Position: refs/heads/master@{#25790}
-
- 11 Dec, 2014 1 commit
-
-
jarin authored
This reverts commit 8a6cbf0a. R=rossberg@chromium.org BUG= Review URL: https://codereview.chromium.org/788313002 Cr-Commit-Position: refs/heads/master@{#25786}
-
- 10 Dec, 2014 2 commits
-
-
jarin authored
Revert of Avoid number range holes in bitset types. (patchset #5 id:80001 of https://codereview.chromium.org/759013003/) Reason for revert: For breaking the waterfall (run-json-stringify test). Original issue's description: > Avoid number range holes in bitset types. > > BUG= TBR=rossberg@chromium.org NOTREECHECKS=true NOTRY=true BUG= Review URL: https://codereview.chromium.org/794663002 Cr-Commit-Position: refs/heads/master@{#25756}
-
jarin authored
BUG= Review URL: https://codereview.chromium.org/759013003 Cr-Commit-Position: refs/heads/master@{#25754}
-
- 09 Dec, 2014 1 commit
-
-
bmeurer authored
Also fix the pushing of JSToBoolean into Phis and generalize it to also include pushing into Selects. TEST=cctest,unittests Review URL: https://codereview.chromium.org/792463003 Cr-Commit-Position: refs/heads/master@{#25718}
-
- 18 Nov, 2014 1 commit
-
-
mstarzinger authored
R=titzer@chromium.org Review URL: https://codereview.chromium.org/735583003 Cr-Commit-Position: refs/heads/master@{#25401}
-
- 17 Nov, 2014 1 commit
-
-
Jaroslav Sevcik authored
With Int32Add we lose the int/uint distinction, so later, in simplified lowering we can make a wrong decision. E.g., see the attached test case, where we lower NumberAdd -> Int32Add because inputs are Uint32, but during simplified lowering we change the inputs to Int32, so we get a wrong result. Simplified lowering will lower the NumberAdd operations anyway, so we should lose performance. BUG= R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/721723004 Cr-Commit-Position: refs/heads/master@{#25368}
-
- 13 Nov, 2014 1 commit
-
-
Benedikt Meurer authored
There's no need to apply the 0x1f mask to right hand sides of shifts if the input is already in range [0,31]. TEST=cctest,unittests R=jarin@chromium.org Review URL: https://codereview.chromium.org/718193003 Cr-Commit-Position: refs/heads/master@{#25313}
-
- 10 Nov, 2014 1 commit
-
-
titzer@chromium.org authored
Lowering of NumberToUint32 and NumberToInt32 was not correctly accounting for the sign of the input and the sign of the output, emitting the wrong representation changes. Along the way, I've found cases where MachineOperatorBuilder would break if fed a machine type for loads or stores that was not cached, requiring MachineOperatorBuilder to take zone to allocate operators for these cases. R=bmeurer@chromium.org, jarin@chromium.org BUG= Review URL: https://codereview.chromium.org/714613002 Cr-Commit-Position: refs/heads/master@{#25247} git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25247 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 29 Oct, 2014 1 commit
-
-
titzer@chromium.org authored
R=mstarzinger@chromium.org BUG= Review URL: https://codereview.chromium.org/686213002 Cr-Commit-Position: refs/heads/master@{#24995} git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24995 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 28 Oct, 2014 1 commit
-
-
bmeurer@chromium.org authored
- JSToBoolean(x:string) => BooleanNot(NumberEqual(x.length, #0)) - JSToBoolean(phi(x1,...,xn):primitive) => phi(JSToBoolean(x1),...,JSToBoolean(xn)) TEST=cctest,mjsunit/asm/do-while,mjsunit/boolean,unittests R=dcarney@chromium.org Review URL: https://codereview.chromium.org/681223002 Cr-Commit-Position: refs/heads/master@{#24919} git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24919 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-