- 02 Dec, 2015 1 commit
-
-
bmeurer authored
We can constant fold %_IsJSReceiver(x) based on whether x is always a receiver or can never be a receiver. This is important as %_IsJSReceiver is inserted by the JSInliner. R=jarin@chromium.org BUG=v8:4544 LOG=n Review URL: https://codereview.chromium.org/1486383003 Cr-Commit-Position: refs/heads/master@{#32519}
-
- 30 Nov, 2015 1 commit
-
-
neis authored
This depends on issue 1476403004. R=bmeurer@chromium.org BUG= Review URL: https://codereview.chromium.org/1479293002 Cr-Commit-Position: refs/heads/master@{#32401}
-
- 12 Nov, 2015 1 commit
-
-
bmeurer authored
Now JSIntrinsicLowering can also lower %_IsSpecObject intrinsics to a diamond. R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/1436943005 Cr-Commit-Position: refs/heads/master@{#31960}
-
- 05 Nov, 2015 1 commit
-
-
bmeurer authored
These intrinsics are completely unused and there doesn't seem to an actual use case for it in the future. R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/1418663011 Cr-Commit-Position: refs/heads/master@{#31828}
-
- 28 Oct, 2015 1 commit
-
-
bmeurer authored
Rename ZoneTypeCache to TypeCache and use a single shared (immutable) instance consistently to cache the most commonly used types. Also serves as a chokepoint for defining those types, so we don't repeat the definition (and possible bugs) in various places. R=jarin@chromium.org Review URL: https://codereview.chromium.org/1409763004 Cr-Commit-Position: refs/heads/master@{#31631}
-
- 19 Oct, 2015 1 commit
-
-
mstarzinger authored
This removes all locally constructed SimplifiedOperatorBuilder instances and uses the one passed along the JSGraph. It ensures that the correct zone is used to allocate operators, no matter where the reducer is used. R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/1410003002 Cr-Commit-Position: refs/heads/master@{#31355}
-
- 16 Oct, 2015 1 commit
-
-
mstarzinger authored
This fixes the lifetime of nodes created by JSGlobalSpecialization that contain a simplified operator. In the case where this reducer runs as part of the inliner, the SimplifiedOperatorBuilder was instantiated with the wrong zone. This led to use-after-free of simplified operators. To avoid such situations in the future, we decided to move this operator builder into the JSGraph and make the situation uniform with all other operator builders. R=bmeurer@chromium.org BUG=chromium:543528 LOG=n Review URL: https://codereview.chromium.org/1409993002 Cr-Commit-Position: refs/heads/master@{#31334}
-
- 29 Sep, 2015 1 commit
-
-
jarin authored
This is necessary because these operators can read heap (equality can actually write heap when flattening strings). BUG=v8:4446 LOG=n Review URL: https://codereview.chromium.org/1374683002 Cr-Commit-Position: refs/heads/master@{#31005}
-
- 04 Sep, 2015 1 commit
-
-
bmeurer authored
Similar to DELETE, the IN builtin is just a thin wrapper for %HasElement and %HasProperty anyway, and cannot be optimized, plus it had a weird special fast case (which also involved at least one LOAD_IC plus some intrinsic magic). R=yangguo@chromium.org,jarin@chromium.org CQ_INCLUDE_TRYBOTS=tryserver.v8:v8_win_nosnap_shared_rel Committed: https://crrev.com/72d60a1e80e81e2e68ca402665e2acbc46c5e471 Cr-Commit-Position: refs/heads/master@{#30154} Review URL: https://codereview.chromium.org/1295433002 Cr-Commit-Position: refs/heads/master@{#30582}
-
- 13 Aug, 2015 2 commits
-
-
bmeurer authored
Revert of [runtime] Remove useless IN builtin. (patchset #2 id:20001 of https://codereview.chromium.org/1295433002/ ) Reason for revert: Breaks win32 nosnap Original issue's description: > [runtime] Remove useless IN builtin. > > Similar to DELETE, the IN builtin is just a thin wrapper for %HasElement > and %HasProperty anyway, and cannot be optimized, plus it had a weird > special fast case (which also involved at least one LOAD_IC plus some > intrinsic magic). > > R=yangguo@chromium.org,jarin@chromium.org > > Committed: https://crrev.com/72d60a1e80e81e2e68ca402665e2acbc46c5e471 > Cr-Commit-Position: refs/heads/master@{#30154} TBR=yangguo@chromium.org,jarin@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1288923002 Cr-Commit-Position: refs/heads/master@{#30155}
-
bmeurer authored
Similar to DELETE, the IN builtin is just a thin wrapper for %HasElement and %HasProperty anyway, and cannot be optimized, plus it had a weird special fast case (which also involved at least one LOAD_IC plus some intrinsic magic). R=yangguo@chromium.org,jarin@chromium.org Review URL: https://codereview.chromium.org/1295433002 Cr-Commit-Position: refs/heads/master@{#30154}
-
- 23 Jun, 2015 1 commit
-
-
bmeurer authored
R=jarin@chromium.org Review URL: https://codereview.chromium.org/1191283003 Cr-Commit-Position: refs/heads/master@{#29211}
-
- 15 Jun, 2015 1 commit
-
-
littledan authored
This patch implements %_IsTypedArray in fullcodegen, Hydrogen and Turbofan in order to implement fast type checks to enable ES6 TypedArray features and semantics efficiently. R=adamk,titzer LOG=Y BUG=v8:4085 Review URL: https://codereview.chromium.org/1183213002 Cr-Commit-Position: refs/heads/master@{#29033}
-
- 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}
-
- 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}
-
- 20 May, 2015 1 commit
-
-
bmeurer authored
R=jarin@chromium.org Review URL: https://codereview.chromium.org/1148033002 Cr-Commit-Position: refs/heads/master@{#28515}
-
- 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/1134663006 Cr-Commit-Position: refs/heads/master@{#28485}
-
- 27 Apr, 2015 1 commit
-
-
mstarzinger authored
This uses explicit operators instead of intrinsic runtime calls to create literals froms boilerplates. It allows for easier access of static parameters and syncs it with other allocating operators. R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/1104453006 Cr-Commit-Position: refs/heads/master@{#28062}
-
- 23 Apr, 2015 1 commit
-
-
bmeurer authored
Now all nodes that care about deoptimization always take frame state inputs no matter whether deoptimization is enabled for a particular function. In case that deoptimization is off, the AstGraphBuilder just inserts the empty frame state. This greatly simplifies the logic in various places and makes testing easier as well, and is probably the first step towards enabling --turbo-deoptimization by default. There seems to be no noticable performance impact on asm.js programs. Also fix the graph replay in order to regenerate the scheduler unittests. Review URL: https://codereview.chromium.org/1106613003 Cr-Commit-Position: refs/heads/master@{#28026}
-
- 21 Apr, 2015 1 commit
-
-
mstarzinger authored
This allows the JSIntrinsicLowering to optimize the cloning of literal boilerplate objects using either the FastCloneShallowArrayStub or the FastCloneShallowObjectStub when applicable. R=mvstanton@chromium.org Review URL: https://codereview.chromium.org/1097963002 Cr-Commit-Position: refs/heads/master@{#27974}
-
- 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}
-
- 02 Apr, 2015 1 commit
-
-
svenpanne authored
Currently, this doesn't really help to generate better code, nevertheless this is the right thing to do. When our type system(s) are fixed, this should avoid falling back to floating point operations in various cases. Review URL: https://codereview.chromium.org/1057813002 Cr-Commit-Position: refs/heads/master@{#27578}
-
- 31 Mar, 2015 1 commit
-
-
svenpanne authored
Currently this only sets branch hints, so we get unlikely code "out of the way", but in the long run the register allocator needs some love to treat the unlikely code as, well, unlikely. :-) Review URL: https://codereview.chromium.org/1048063002 Cr-Commit-Position: refs/heads/master@{#27540}
-
- 20 Mar, 2015 2 commits
-
-
Benedikt Meurer authored
R=dcarney@chromium.org, yangguo@chromium.org BUG=v8:3952 LOG=n Review URL: https://codereview.chromium.org/1021183002 Cr-Commit-Position: refs/heads/master@{#27329}
-
Benedikt Meurer authored
R=dcarney@chromium.org Review URL: https://codereview.chromium.org/1028553002 Cr-Commit-Position: refs/heads/master@{#27328}
-
- 06 Mar, 2015 1 commit
-
-
svenpanne authored
BUG=v8:3947 LOG=n Review URL: https://codereview.chromium.org/978123003 Cr-Commit-Position: refs/heads/master@{#27039}
-
- 05 Mar, 2015 1 commit
-
-
bmeurer authored
This adds support for the double bits intrinsics to TurboFan, and is a first step towards fast Math functions inlined into TurboFan code or even compiled by themselves with TurboFan. Review URL: https://codereview.chromium.org/974313002 Cr-Commit-Position: refs/heads/master@{#27006}
-
- 26 Jan, 2015 1 commit
-
-
bmeurer authored
The lowering of intrinsics is therefore now decoupled from the general inlining logic. TEST=cctest,unittests R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/872363002 Cr-Commit-Position: refs/heads/master@{#26263}
-