- 11 May, 2016 1 commit
-
-
bmeurer authored
Make JSCreateArguments eliminatable, and remove the need for frame states on JSCreateArguments nodes being lowered to (optimized) stub calls. Only the runtime fallback needs a frame state, because in that case we need to ask the deoptimizer for arguments to inlined functions. R=jarin@chromium.org Review-Url: https://codereview.chromium.org/1965013005 Cr-Commit-Position: refs/heads/master@{#36154}
-
- 10 May, 2016 1 commit
-
-
bmeurer authored
This adds a new pass MemoryOptimizer that walks over the effect chain from Start and lowers all Allocate, LoadField, StoreField, LoadElement, and StoreElement nodes, trying to fold allocations into allocation groups and eliminate write barriers on StoreField and StoreElement if possible (i.e. if the object belongs to the current allocation group and that group allocates in new space). R=hpayer@chromium.org, jarin@chromium.org BUG=v8:4931, chromium:580959 LOG=n Review-Url: https://codereview.chromium.org/1963583004 Cr-Commit-Position: refs/heads/master@{#36128}
-
- 03 May, 2016 1 commit
-
-
jkummerow authored
Omitting the initializer will give zero-initialization which is equivalent to kNoWriteBarrier. Review-Url: https://codereview.chromium.org/1942293002 Cr-Commit-Position: refs/heads/master@{#35989}
-
- 14 Apr, 2016 1 commit
-
-
mstarzinger authored
This changes closure creation to lower to inline allocations when possible instead of going through the FastNewClosureStub. It allows us to leverage all advantages of inline allocations on closures. Note that it is only safe to embed the raw entry point of the compile lazy stub into the code, because that stub is immortal and immovable. R=mvstanton@chromium.org Review URL: https://codereview.chromium.org/1573153002 Cr-Commit-Position: refs/heads/master@{#35499}
-
- 19 Feb, 2016 2 commits
-
-
bmeurer authored
No need to limit JSCreate inlining to JS_OBJECT_TYPE, since we can handle everything that the FastNewObjectStub can deal with. Also we don't need to restrict the number of inobject properties, as that is already taken care of by the runtime anyways (limited by the initial slack for the constructor). And last but not least, we can of course inline allocations for subclasses as long as the new.target is a JSFunction and it's initial map's constructor points back to the target (same condition as for the FastNewObjectStub fast case). R=jarin@chromium.org BUG=v8:4493 LOG=n Review URL: https://codereview.chromium.org/1711883003 Cr-Commit-Position: refs/heads/master@{#34138}
-
bmeurer authored
Move the already existing fast case for %NewObject into a dedicated FastNewObjectStub that we can utilize in places where we would otherwise fallback to %NewObject immediately, which is rather expensive. Also use FastNewObjectStub as the generic implementation of JSCreate, which should make constructor inlining based on SharedFunctionInfo (w/o specializing to a concrete closure) viable soon. R=jarin@chromium.org Review URL: https://codereview.chromium.org/1708313002 Cr-Commit-Position: refs/heads/master@{#34136}
-
- 15 Feb, 2016 4 commits
-
-
bmeurer authored
Turn the fast case of ArgumentsAccessStub into a new stub FastNewSloppyArgumentsStub, which is similar to the existing FastNewStrictArgumentsStub, although not polished yet, and the slow case always went to the runtime anyway, so we can just directly emit a runtime call there. R=mstarzinger@chromium.org Committed: https://crrev.com/55b0b4f6d572531eec00ab6ebd8f6feb7c584e04 Cr-Commit-Position: refs/heads/master@{#33973} Review URL: https://codereview.chromium.org/1695633003 Cr-Commit-Position: refs/heads/master@{#33986}
-
machenbach authored
Revert of [runtime] Turn ArgumentAccessStub into FastNewSloppyArgumentsStub. (patchset #2 id:20001 of https://codereview.chromium.org/1695633003/ ) Reason for revert: [Sheriff] Breaks ASAN with mipsel compile: https://build.chromium.org/p/client.v8/builders/V8%20Linux%20ASAN%20mipsel%20-%20debug%20builder/builds/4558/ Original issue's description: > [runtime] Turn ArgumentAccessStub into FastNewSloppyArgumentsStub. > > Turn the fast case of ArgumentsAccessStub into a new stub > FastNewSloppyArgumentsStub, which is similar to the existing > FastNewStrictArgumentsStub, although not polished yet, and the slow > case always went to the runtime anyway, so we can just directly emit > a runtime call there. > > R=mstarzinger@chromium.org > > Committed: https://crrev.com/55b0b4f6d572531eec00ab6ebd8f6feb7c584e04 > Cr-Commit-Position: refs/heads/master@{#33973} TBR=mstarzinger@chromium.org,jarin@chromium.org,bmeurer@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1701653002 Cr-Commit-Position: refs/heads/master@{#33976}
-
bmeurer authored
Turn the fast case of ArgumentsAccessStub into a new stub FastNewSloppyArgumentsStub, which is similar to the existing FastNewStrictArgumentsStub, although not polished yet, and the slow case always went to the runtime anyway, so we can just directly emit a runtime call there. R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/1695633003 Cr-Commit-Position: refs/heads/master@{#33973}
-
bmeurer authored
This adds initial support for inline allocation of object and array literals to the JSCreateLowering pass. It's basically identical to what Crankshaft does. This also unstages the TurboFan escape analysis, as the lowering seems to trigger a bunch of bugs in it; those bugs will be fixed separately, and we will re-enable escape analysis afterwards. R=jarin@chromium.org Review URL: https://codereview.chromium.org/1698783002 Cr-Commit-Position: refs/heads/master@{#33972}
-
- 12 Feb, 2016 1 commit
-
-
bmeurer authored
The FastNewStrictArgumentsStub is very similar to the recently added FastNewRestParameterStub, it's actually almost a copy of it, except that it doesn't have the fast case we have for the empty rest parameter. This patch improves strict arguments in TurboFan and fullcodegen by up to 10x compared to the previous version. Also introduce proper JSSloppyArgumentsObject and JSStrictArgumentsObject for the in-object properties instead of having them as constants in the Heap class. Drive-by-fix: Use this stub and the FastNewRestParameterStub in the interpreter to avoid the runtime call overhead for strict arguments and rest parameter creation. R=jarin@chromium.org TBR=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/1693513002 Cr-Commit-Position: refs/heads/master@{#33925}
-
- 08 Feb, 2016 1 commit
-
-
bmeurer authored
This moves the JSCreate related functionality from JSTypedLowering into a dedicated JSCreateLowering reducer. This is in preparation of landing the support for optimized literals in TurboFan, which would blow up JSTypedLowering quite seriously otherwise. R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/1678833002 Cr-Commit-Position: refs/heads/master@{#33813}
-