- 15 Apr, 2016 1 commit
-
-
zhengxing.li authored
port 974721c6 (r35283) original commit message: Introduce a ResumeGeneratorTrampoline, which does the actual stack state reconstruction (currently always restores a fullcodegen frame), and introduce appropriate TurboFan builtins for %GeneratorPrototype%.next, %GeneratorPrototype%.return and %GeneratorPrototype%.throw based on this native builtin. Also unify the flooding in case of step-in to always work based on JSFunction and remove the special casing for JSGeneratorObject. BUG= Review URL: https://codereview.chromium.org/1889083002 Cr-Commit-Position: refs/heads/master@{#35510}
-
- 14 Apr, 2016 3 commits
-
-
verwaest authored
BUG= Committed: https://crrev.com/4c2b04542f263b2679194f9fb75672ebbe72b924 Cr-Commit-Position: refs/heads/master@{#35330} Review URL: https://codereview.chromium.org/1838283003 Cr-Commit-Position: refs/heads/master@{#35494}
-
yangguo authored
Revert of Correctly annotate eval origin. (patchset #5 id:80001 of https://codereview.chromium.org/1854713002/ ) Reason for revert: performance impact Original issue's description: > Correctly annotate eval origin. > > There were a couple of issues with it: > - interpreter is not supported > - the source position was just accidentally correct for full-codegen > - the eval origin could have been cached > > Also fixes a few other places to use AbstractCode. > > R=mstarzinger@chromium.org > > Committed: https://crrev.com/2f3a171adc9e620c2235bf0562145b9d4eaba66d > Cr-Commit-Position: refs/heads/master@{#35257} > > Committed: https://crrev.com/ad4e8a27963b704bb70ec8bac0991c57296b1d16 > Cr-Commit-Position: refs/heads/master@{#35481} TBR=mstarzinger@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/1888013002 Cr-Commit-Position: refs/heads/master@{#35491}
-
yangguo authored
There were a couple of issues with it: - interpreter is not supported - the source position was just accidentally correct for full-codegen - the eval origin could have been cached Also fixes a few other places to use AbstractCode. R=mstarzinger@chromium.org Committed: https://crrev.com/2f3a171adc9e620c2235bf0562145b9d4eaba66d Cr-Commit-Position: refs/heads/master@{#35257} Review URL: https://codereview.chromium.org/1854713002 Cr-Commit-Position: refs/heads/master@{#35481}
-
- 12 Apr, 2016 2 commits
-
-
jyan authored
port 2e329666 Original Commit Message: ... instead of doing stack magic. This is a cleanup in preparation for the new generators implementation. R=bmeurer@chromium.org, neis@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com, mbrandy@us.ibm.com, bjaideep@ca.ibm.com BUG= Review URL: https://codereview.chromium.org/1882553003 Cr-Commit-Position: refs/heads/master@{#35417}
-
mbrandy authored
Port 2e329666 Original commit message: ... instead of doing stack magic. This is a cleanup in preparation for the new generators implementation. R=neis@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, bjaideep@ca.ibm.com BUG= Review URL: https://codereview.chromium.org/1874323002 Cr-Commit-Position: refs/heads/master@{#35416}
-
- 11 Apr, 2016 1 commit
-
-
neis authored
... instead of doing stack magic. This is a cleanup in preparation for the new generators implementation. R=bmeurer@chromium.org BUG= Review URL: https://codereview.chromium.org/1867263002 Cr-Commit-Position: refs/heads/master@{#35370}
-
- 08 Apr, 2016 1 commit
-
-
hablich authored
Revert of Migrate FastCloneShallowObjectStub to TurboFan (patchset #7 id:140001 of https://codereview.chromium.org/1838283003/ ) Reason for revert: Makes some WebGL tests flaky: https://codereview.chromium.org/1866373002/ Bisection on tryserver shows this as the culprit. Local repro unfortunately does not work. Original issue's description: > Migrate FastCloneShallowObjectStub to TurboFan > > BUG= > > Committed: https://crrev.com/4c2b04542f263b2679194f9fb75672ebbe72b924 > Cr-Commit-Position: refs/heads/master@{#35330} TBR=bmeurer@chromium.org,verwaest@chromium.org # Not skipping CQ checks because original CL landed more than 1 days ago. BUG= Review URL: https://codereview.chromium.org/1875683002 Cr-Commit-Position: refs/heads/master@{#35353}
-
- 07 Apr, 2016 1 commit
-
-
verwaest authored
BUG= Review URL: https://codereview.chromium.org/1838283003 Cr-Commit-Position: refs/heads/master@{#35330}
-
- 06 Apr, 2016 3 commits
-
-
jyan authored
Port 974721c6 Original commit message: Introduce a ResumeGeneratorTrampoline, which does the actual stack state reconstruction (currently always restores a fullcodegen frame), and introduce appropriate TurboFan builtins for %GeneratorPrototype%.next, %GeneratorPrototype%.return and %GeneratorPrototype%.throw based on this native builtin. Also unify the flooding in case of step-in to always work based on JSFunction and remove the special casing for JSGeneratorObject. R=bmeurer@chromium.org, joransiu@ca.ibm.com, mbrandy@us.ibm.com, michael_dawson@ca.ibm.com, bjaideep@ca.ibm.com BUG=chromium:513471 LOG=n Review URL: https://codereview.chromium.org/1870483002 Cr-Commit-Position: refs/heads/master@{#35316}
-
mbrandy authored
Port 974721c6 Original commit message: Introduce a ResumeGeneratorTrampoline, which does the actual stack state reconstruction (currently always restores a fullcodegen frame), and introduce appropriate TurboFan builtins for %GeneratorPrototype%.next, %GeneratorPrototype%.return and %GeneratorPrototype%.throw based on this native builtin. Also unify the flooding in case of step-in to always work based on JSFunction and remove the special casing for JSGeneratorObject. R=bmeurer@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, bjaideep@ca.ibm.com BUG=chromium:513471 LOG=n Review URL: https://codereview.chromium.org/1868683002 Cr-Commit-Position: refs/heads/master@{#35314}
-
bmeurer authored
Introduce a ResumeGeneratorTrampoline, which does the actual stack state reconstruction (currently always restores a fullcodegen frame), and introduce appropriate TurboFan builtins for %GeneratorPrototype%.next, %GeneratorPrototype%.return and %GeneratorPrototype%.throw based on this native builtin. Also unify the flooding in case of step-in to always work based on JSFunction and remove the special casing for JSGeneratorObject. R=mstarzinger@chromium.org, neis@chromium.org TBR=rossberg@chromium.org BUG=chromium:513471 LOG=n Review URL: https://codereview.chromium.org/1865833002 Cr-Commit-Position: refs/heads/master@{#35283}
-
- 05 Apr, 2016 2 commits
-
-
machenbach authored
Revert of Correctly annotate eval origin. (patchset #4 id:60001 of https://codereview.chromium.org/1854713002/ ) Reason for revert: [Sheriff] Crashes a layout test: https://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2064/builds/5855 Original issue's description: > Correctly annotate eval origin. > > There were a couple of issues with it: > - interpreter is not supported > - the source position was just accidentally correct for full-codegen > - the eval origin could have been cached > > Also fixes a few other places to use AbstractCode. > > R=mstarzinger@chromium.org > > Committed: https://crrev.com/2f3a171adc9e620c2235bf0562145b9d4eaba66d > Cr-Commit-Position: refs/heads/master@{#35257} TBR=mstarzinger@chromium.org,yangguo@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/1858773004 Cr-Commit-Position: refs/heads/master@{#35260}
-
yangguo authored
There were a couple of issues with it: - interpreter is not supported - the source position was just accidentally correct for full-codegen - the eval origin could have been cached Also fixes a few other places to use AbstractCode. R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/1854713002 Cr-Commit-Position: refs/heads/master@{#35257}
-
- 04 Apr, 2016 2 commits
-
-
yangguo authored
R=ishell@chromium.org BUG=v8:4698 LOG=N Review URL: https://codereview.chromium.org/1847373002 Cr-Commit-Position: refs/heads/master@{#35230}
-
neis authored
The parser uses a try-catch in order to record when the client of an iterator throws. The exception then used to get rethrown via 'throw', which unfortunately resulted in the original exception message object getting overwritten. This CL solves this as follows: - add a clear_pending_message flag to TryCatchStatement (set to true in normal cases), - set clear_pending_message to false for the TryCatchStatement used in iterator finalization - change full-codegen, turbofan, and the interpreter to emit the ClearPendingMessage call only when the flag is set, - replace 'throw' with '%ReThrow' in the iterator finalization code, thus reusing the (not-cleared) pending message R=littledan@chromium.org, mstarzinger@chromium.org, yangguo@chromium.org BUG=v8:4875 LOG=n Review URL: https://codereview.chromium.org/1842953003 Cr-Commit-Position: refs/heads/master@{#35226}
-
- 01 Apr, 2016 2 commits
-
-
cbruni authored
This should help speeding up Promise and RegExp instantiations substantially. BUG= Review URL: https://codereview.chromium.org/1850643002 Cr-Commit-Position: refs/heads/master@{#35200}
-
bmeurer authored
This adds a new TurboFan-based ToIntegerStub, similar to the ToLengthStub, and uses it whereever we had custom code for %_ToInteger previously. R=yangguo@chromium.org BUG=v8:4587 LOG=n Review URL: https://codereview.chromium.org/1846683006 Cr-Commit-Position: refs/heads/master@{#35190}
-
- 31 Mar, 2016 1 commit
-
-
bmeurer authored
Previously all code stubs (i.e. both platform and Crankshaft code stubs) preserved the context register for full-codegen (neither Ignition, nor TurboFan nor Crankshaft require this or would benefit from this), but the newly introduced TurboFanCodeStubs no longer do this and there's no need to, so we have to make sure in full-codegen that we restore the context register after intrinsic calls, which potentially call TurboFanCodeStubs. Drive-by-fix: VisitThisFunction can be made platform independent. R=verwaest@chromium.org Review URL: https://codereview.chromium.org/1848553002 Cr-Commit-Position: refs/heads/master@{#35154}
-
- 30 Mar, 2016 1 commit
-
-
Miran.Karic authored
Port of changes that replace JR and JALR instructions with JIC and JIALC for mips64r6. Macroassembler Jump and Call functions now use JIC and JIALC if branch delay slot is not used. Code patching is adjusted to work with new changes. Jr and Jalr macroassembler functions are removed. Other changes where mips32r6 uses jr/jalr are not done because mips64r6 uses j/jal instructions. BUG= Review URL: https://codereview.chromium.org/1830133002 Cr-Commit-Position: refs/heads/master@{#35141}
-
- 25 Mar, 2016 1 commit
-
-
Miran.Karic authored
This is another set of changes that replace JR and JALR instructions with JIC and JIALC for mips32r6. Macroassembler Jump and Call functions now use JIC and JIALC if branch delay slot is not used. Code patching is adjusted to work with new changes and few minor fixes are added. BUG= Review URL: https://codereview.chromium.org/1807263003 Cr-Commit-Position: refs/heads/master@{#35071}
-
- 22 Mar, 2016 2 commits
-
-
adamk authored
Now that ES2015 const has shipped, in Chrome 49, legacy const declarations are no more. This lets us remove a bunch of code from many parts of the codebase. In this patch, I remove parser support for generating legacy const variables from const declarations. This also removes the special "illegal declaration" bit from Scope, which has ripples into all compiler backends. Also gone are any tests which relied on legacy const declarations. Note that we do still generate a Variable in mode CONST_LEGACY in one case: function name bindings in sloppy mode. The likely fix there is to add a new Variable::Kind for this case and handle it appropriately for stores in each backend, but I leave that for a later patch to make this one completely subtractive. Review URL: https://codereview.chromium.org/1819123002 Cr-Commit-Position: refs/heads/master@{#35002}
-
zhengxing.li authored
port 22523f25 (r34925) original commit message: This is in preparation for a CL that does the equivalent of http://crrev.com/1780193003 for ia32. BUG= Review URL: https://codereview.chromium.org/1823943002 Cr-Commit-Position: refs/heads/master@{#34974}
-
- 21 Mar, 2016 1 commit
-
-
epertoso authored
This is in preparation for a CL that does the equivalent of http://crrev.com/1780193003 for ia32. BUG= Review URL: https://codereview.chromium.org/1815213002 Cr-Commit-Position: refs/heads/master@{#34925}
-
- 18 Mar, 2016 3 commits
-
-
mstarzinger authored
This removes the Isolate argument from the IsLiteralCompareUndefined predicate as it is no longer required to determine the answer. R=jkummerow@chromium.org Review URL: https://codereview.chromium.org/1814823005 Cr-Commit-Position: refs/heads/master@{#34902}
-
mstarzinger authored
This moves the call-sites that ensure we have a feedback vector present before kicking off a compiler into the actual compilation pipeline. The backends no longer need to worry about the feedback vector. R=mvstanton@chromium.org Review URL: https://codereview.chromium.org/1811973006 Cr-Commit-Position: refs/heads/master@{#34900}
-
zhengxing.li authored
port 992ae64d (r34866) original commit message: This new intrinsic is used by the desugared ES6 instanceof implementation for the cases when the F[@@hasInstance] property is null or undefined. BUG= Review URL: https://codereview.chromium.org/1815623002 Cr-Commit-Position: refs/heads/master@{#34879}
-
- 17 Mar, 2016 4 commits
-
-
jyan authored
Port 992ae64d Original commit message: This new intrinsic is used by the desugared ES6 instanceof implementation for the cases when the F[@@hasInstance] property is null or undefined. R=mvstanton@chromium.org, joransiu@ca.ibm.com, mbrandy@us.ibm.com, michael_dawson@ca.ibm.com BUG= Review URL: https://codereview.chromium.org/1813873003 Cr-Commit-Position: refs/heads/master@{#34873}
-
mbrandy authored
Port 992ae64d Original commit message: This new intrinsic is used by the desugared ES6 instanceof implementation for the cases when the F[@@hasInstance] property is null or undefined. R=mvstanton@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= Review URL: https://codereview.chromium.org/1812933002 Cr-Commit-Position: refs/heads/master@{#34871}
-
mvstanton authored
This new intrinsic is used by the desugared ES6 instanceof implementation for the cases when the F[@@hasInstance] property is null or undefined. R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/1809993002 Cr-Commit-Position: refs/heads/master@{#34866}
-
neis authored
R=mstarzinger@chromium.org TBR=rossberg BUG= Review URL: https://codereview.chromium.org/1806293002 Cr-Commit-Position: refs/heads/master@{#34864}
-
- 16 Mar, 2016 2 commits
-
-
mstarzinger authored
This makes the aforementioned visitation function independent of the target architecture by leveraging existing abstractions. R=ishell@chromium.org Review URL: https://codereview.chromium.org/1807943002 Cr-Commit-Position: refs/heads/master@{#34833}
-
ishell authored
Review URL: https://codereview.chromium.org/1811563002 Cr-Commit-Position: refs/heads/master@{#34825}
-
- 15 Mar, 2016 2 commits
-
-
jyan authored
R=danno@chromium.org,jkummerow@chromium.org,jochen@chromium.org,joransiu@ca.ibm.com,michael_dawson@ca.ibm.com,mbrandy@us.ibm.com BUG= Review URL: https://codereview.chromium.org/1802343002 Cr-Commit-Position: refs/heads/master@{#34789}
-
jyan authored
Upstream S390 platform specific code to latest lkgr from the past 2 weeks. R=danno@chromium.org,jkummerow@chromium.org,jochen@chromium.org,joransiu@ca.ibm.com,michael_dawson@ca.ibm.com,mbrandy@us.ibm.com BUG= Review URL: https://codereview.chromium.org/1799893002 Cr-Commit-Position: refs/heads/master@{#34787}
-
- 11 Mar, 2016 2 commits
-
-
balazs.kilvady authored
Port 21b331e3 BUG= Review URL: https://codereview.chromium.org/1784353003 Cr-Commit-Position: refs/heads/master@{#34731}
-
vogelheim authored
FullCodegen generates 2 statement positions for the loop init block, like so: for(var i = 0; i.... ^ ^ This change removes the first of those, updates unit tests, and removes text expectations for Ignition. --- An alternative would be to emulate the existing behaviour in Ignition, but: - The new behaviour seems more logical, - Ignition generates no bytecodes for the 'var', meaning there is no code position to attach the break position to. BUG=v8:4690 LOG=Y Review URL: https://codereview.chromium.org/1784883002 Cr-Commit-Position: refs/heads/master@{#34717}
-
- 10 Mar, 2016 1 commit
-
-
rossberg authored
R=mstarzinger@chromium.org,bmeurer@chromium.org,adamk@chromium.org BUG=v8:3956 LOG=Y Review URL: https://codereview.chromium.org/1773653002 Cr-Commit-Position: refs/heads/master@{#34669}
-
- 09 Mar, 2016 1 commit
-
-
mbrandy authored
Port 9dcd0857 Original commit message: Before this CL, various code stubs used different techniques for marking their frames to enable stack-crawling and other access to data in the frame. All of them were based on a abuse of the "standard" frame representation, e.g. storing the a context pointer immediately below the frame's fp, and a function pointer after that. Although functional, this approach tends to make stubs and builtins do an awkward, unnecessary dance to appear like standard frames, even if they have nothing to do with JavaScript execution. This CL attempts to improve this by: * Ensuring that there are only two fundamentally different types of frames, a "standard" frame and a "typed" frame. Standard frames, as before, contain both a context and function pointer. Typed frames contain only a minimum of a smi marker in the position immediately below the fp where the context is in standard frames. * Only interpreted, full codegen, and optimized Crankshaft and TurboFan JavaScript frames use the "standard" format. All other frames use the type frame format with an explicit marker. * Typed frames can contain one or more values below the type marker. There is new magic macro machinery in frames.h that simplifies defining the offsets of these fields in typed frames. * A new flag in the CallDescriptor enables specifying whether a frame is a standard frame or a typed frame. Secondary register location spilling is now only enabled for standard frames. * A zillion places in the code have been updated to deal with the fact that most code stubs and internal frames use the typed frame format. This includes changes in the deoptimizer, debugger, and liveedit. * StandardFrameConstants::kMarkerOffset is deprecated, (CommonFrameConstants::kContextOrFrameTypeOffset and StandardFrameConstants::kFrameOffset are now used in its stead). R=danno@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= Review URL: https://codereview.chromium.org/1778713002 Cr-Commit-Position: refs/heads/master@{#34643}
-
- 08 Mar, 2016 1 commit
-
-
verwaest authored
This mechanism was used to ensure that functions ended up as constants on the map of prototypes defined using object literals, e.g.,: function.prototype = { method: function() { ... } } Nowadays we treat prototypes specially, and make all their functions constants when an object turns prototype. Hence this special custom code isn't necessary anymore. This also affects boilerplates that do not become prototypes. Their functions will not be constants but fields instead. Calling their methods will slow down. However, multiple instances of the same boilerplate will stay monomorphic. We'll have to see what the impact is for such objects, but preliminary benchmarks do not show this as an important regression. BUG=chromium:593008 LOG=n Review URL: https://codereview.chromium.org/1772423002 Cr-Commit-Position: refs/heads/master@{#34602}
-