- 11 May, 2016 10 commits
-
-
mstarzinger authored
By now the runtime entry function in question is a duplicate of the existing Runtime_ToFastProperties function. This just gets rid of the duplication. R=bmeurer@chromium.org Review-Url: https://codereview.chromium.org/1963973003 Cr-Commit-Position: refs/heads/master@{#36161}
-
yangguo authored
R=jgruber@chromium.org BUG=chromium:609046 LOG=N Review-Url: https://codereview.chromium.org/1957303002 Cr-Commit-Position: refs/heads/master@{#36160}
-
zhengxing.li authored
X87: [turbofan] Take the immediate size in account when narrowing ia32/x64 word comparison operators. port 2da70f85 (r36136) original commit message: Trying to re-land http://crrev.com/1948453002 after fixing assembler-x64.cc in http://crrev.com/1962563003. Before this patch, we would emit a cmp or test with a memory operand only if both of the operands in the IR were loads. Now if either of them is a load and the other one is an immediate, we can use a memory operand if the load representation machine size is wide enough to represent the latter. BUG= Review-Url: https://codereview.chromium.org/1967913003 Cr-Commit-Position: refs/heads/master@{#36159}
-
zhengxing.li authored
port 61f5fbbb (r36133) original commit message: The new allocation folding implementation avoids fragmentation between folded allocation. As a consequence, our heap will always be iterable i.e. we do not have to perform a garbage collection before iterating the heap. BUG= Review-Url: https://codereview.chromium.org/1969553003 Cr-Commit-Position: refs/heads/master@{#36158}
-
bmeurer authored
Up until now we had two places where we did the function prototype folding, once in the Typer and once in JSTypedLowering. Put this logic into JSNativeContextSpecialization instead. R=jarin@chromium.org Review-Url: https://codereview.chromium.org/1965293002 Cr-Commit-Position: refs/heads/master@{#36157}
-
mstarzinger authored
This removes the explicit disabling of optimization for eval code. Such code can by now be optimized by TurboFan. Note that the usual heuristics in the AstNumberingVisitor still apply and will be used to choose the effective optimization backend. R=bmeurer@chromium.org Review-Url: https://codereview.chromium.org/1962103003 Cr-Commit-Position: refs/heads/master@{#36156}
-
jgruber authored
Clear the list of shared function infos attached to a script before compiling for live edit in order to avoid duplicates. This was lost in 058deb27. R=yangguo@chromium.org BUG= Review-Url: https://codereview.chromium.org/1958153004 Cr-Commit-Position: refs/heads/master@{#36155}
-
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}
-
v8-autoroll authored
Rolling v8/build to 1b63b7ad545e5946c43fbc4498d790de54578025 TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org Review-Url: https://codereview.chromium.org/1969673003 Cr-Commit-Position: refs/heads/master@{#36153}
-
littledan authored
The data from UseCounters are in--V8's custom Promise methods are not in wide use on the web (<.002%). Therefore, this patch removes them. That includes: - Promise.prototype.chain - Promise.defer -- the most widely used of the bunch - Promise.accept For now, those methods are still available by checking the "disable latest stable JavaScript features" flag, or --promise-extra at the command line, but I expect them to be fully removable. R=adamk CC=rossberg BUG=v8:3238,v8:4633 Review-Url: https://codereview.chromium.org/1965183002 Cr-Commit-Position: refs/heads/master@{#36152}
-
- 10 May, 2016 30 commits
-
-
adamk authored
Globals used to be hole-initialized in the case of toplevel legacy const declarations. But now that the only use of legacy const is for sloppy function expression names, we can unconditionally initialize globals to undefined instead of the_hole. Review-Url: https://codereview.chromium.org/1964993002 Cr-Commit-Position: refs/heads/master@{#36151}
-
adamk authored
When the rewriter moves a temporary variable between scopes, it must be sure to maintain the order, so that the rewritten order is the same as it would have been without rewriting. To expose the difference in behavior, this patch removes the superfluous visitation of ForOfStatement::each() from AstExpressionVisitor, which happened to be the only thing keeping all the temporaries in order in mjsunit/harmony/regress/regress-crbug-578038.js. Without the proper order, this test would fail under --stress-opt, because the ".for" variable (behind the "each" proxy) would get two different positions in the scope, one on first parse (with rewriting) and the other on second parse (lazy parsing for optimization). A follow-up patch will remove each() and iterable() from ForOfStatement altogether, but I wanted to keep this patch small to highlight exactly the bit of code needed to make the test pass when not visiting each(). BUG=v8:4791 LOG=n Review-Url: https://codereview.chromium.org/1784893003 Cr-Commit-Position: refs/heads/master@{#36150}
-
adamk authored
Old code failed to walk over deleted elements, instead treating deleted elements as "undefined" in the output array. This is the Map equivalent of commit 2d9bfe9a. Also micro-optimized the loops to avoid an extra call to KeyAt() and used a direct hole comparison instead of calling IsTheHole(). R=cbruni@chromium.org BUG=v8:4946 LOG=y Review-Url: https://codereview.chromium.org/1965593002 Cr-Commit-Position: refs/heads/master@{#36149}
-
titzer authored
[wasm] Introduce special bytecodes for asm.js division/remainder instead of relying on module state. R=ahaas@chromium.org, bradnelson@chromium.org BUG= Review-Url: https://codereview.chromium.org/1968493002 Cr-Commit-Position: refs/heads/master@{#36148}
-
adamk authored
As discussed at https://groups.google.com/d/msg/v8-dev/4EWhm5hltUs/daJgVxHHBQAJ, this check is not useful, and mostly serves to be a speed bump that simply forces developers to add "LOG=N" to their commits. The ChangeLog is already sparse enough (see detail stats at https://groups.google.com/d/msg/v8-dev/4EWhm5hltUs/Z276qyh8CQAJ) that it's very unlikely to be a useful signal compared to reading the commit log directly. LOG=y NOTRY=true Review-Url: https://codereview.chromium.org/1956993002 Cr-Commit-Position: refs/heads/master@{#36147}
-
bbudge authored
Renames IsDouble* predicates to IsFP*. Adds specific IsFloat*, IsDouble*, and IsSimd128* predicates. Adds specific GetFloatRegister, GetDoubleRegister, and GetSimd128Register methods. This is mostly a mechanical renaming of IsDouble* to IsFP* methods. This shouldn't change code generation at all. All fp registers are still treated as double registers. LOG=N BUG=v8:4124 Review-Url: https://codereview.chromium.org/1959763002 Cr-Commit-Position: refs/heads/master@{#36146}
-
rmcilroy authored
Adds a tool which enables annotation of the disassembly of bytecode handlers based on perf output. BUG=4899 LOG=N Review-Url: https://codereview.chromium.org/1945673002 Cr-Commit-Position: refs/heads/master@{#36145}
-
cbruni authored
BUG=chromium:610210 LOG=N Review-Url: https://codereview.chromium.org/1963633002 Cr-Commit-Position: refs/heads/master@{#36144}
-
mlippautz authored
Revert of [heap] Fine-grained JSArrayBuffer tracking (patchset #7 id:200001 of https://codereview.chromium.org/1936233002/ ) Reason for revert: Breaks readonly test https://uberchromegw.corp.google.com/i/client.v8/builders/V8%20Linux/builds/10121 Original issue's description: > [heap] Fine-grained JSArrayBuffer tracking > > Track based on JSArrayBuffer addresses instead of the attached backing store. > This way we can later on iterate buffers on a single page. > > BUG=chromium:581412 > LOG=N > R=jochen@chromium.org, hpayer@chromium.org > > Committed: https://crrev.com/4cdf71e2d07c038d7af84e41c6e6d0093af0f0de > Cr-Commit-Position: refs/heads/master@{#36140} TBR=hpayer@chromium.org,jochen@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:581412 Review-Url: https://codereview.chromium.org/1961403002 Cr-Commit-Position: refs/heads/master@{#36143}
-
ulan authored
BUG= Review-Url: https://codereview.chromium.org/1963853004 Cr-Commit-Position: refs/heads/master@{#36142}
-
bjaideep authored
On AIX64 pthread_t is of type unsigned int (4bytes), using intptr_t instead when casting a pointer. R=lpy@chromium.org, jochen@chromium.org, mbrandy@us.ibm.com BUG= LOG=N Review-Url: https://codereview.chromium.org/1938833002 Cr-Commit-Position: refs/heads/master@{#36141}
-
mlippautz authored
Track based on JSArrayBuffer addresses instead of the attached backing store. This way we can later on iterate buffers on a single page. BUG=chromium:581412 LOG=N R=jochen@chromium.org, hpayer@chromium.org Review-Url: https://codereview.chromium.org/1936233002 Cr-Commit-Position: refs/heads/master@{#36140}
-
caitpotter88 authored
Adds `strict_function_without_prototype_map` to DCHECK whitelist BUG= LOG=N R=littledan@chromium.org, jochen@chromium.org, jkummerow@chromium.org Review-Url: https://codereview.chromium.org/1964593004 Cr-Commit-Position: refs/heads/master@{#36139}
-
jochen authored
BUG=chromium:609107 R=machenbach@chromium.org LOG=n Review-Url: https://codereview.chromium.org/1962253002 Cr-Commit-Position: refs/heads/master@{#36138}
-
rmcilroy authored
Rather than pushing zero for the initial bytecode offset, we should push the offset of the first bytecode handler, Smi tagged. This fixes the line number for the top stack frame on overflow errors. BUG=v8:4981 LOG=N Review-Url: https://codereview.chromium.org/1950913004 Cr-Commit-Position: refs/heads/master@{#36137}
-
epertoso authored
Trying to re-land http://crrev.com/1948453002 after fixing assembler-x64.cc in http://crrev.com/1962563003. Before this patch, we would emit a cmp or test with a memory operand only if both of the operands in the IR were loads. Now if either of them is a load and the other one is an immediate, we can use a memory operand if the load representation machine size is wide enough to represent the latter. Review-Url: https://codereview.chromium.org/1968453002 Cr-Commit-Position: refs/heads/master@{#36136}
-
machenbach authored
Revert of [build] Use -O2 on linux by default (patchset #1 id:1 of https://codereview.chromium.org/1963693004/ ) Reason for revert: Causes regressions. Original issue's description: > [build] Use -O2 on linux by default > > This switches O2 -> O3 to match chromium's configuration. > > This makes the difference between gn and gyp a bit smaller > before switching. > > BUG=chromium:474921 > LOG=n > > Committed: https://crrev.com/a37ab71e343b8cc24df05868b941a49e0c271376 > Cr-Commit-Position: refs/heads/master@{#36124} TBR=jochen@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:474921 Review-Url: https://codereview.chromium.org/1958253004 Cr-Commit-Position: refs/heads/master@{#36135}
-
neis authored
In the bytecode graphbuilder, translate the two generator-specific bytecodes as a couple of runtime calls for now. BUG=v8:4907 LOG=n Review-Url: https://codereview.chromium.org/1957393004 Cr-Commit-Position: refs/heads/master@{#36134}
-
hpayer authored
The new allocation folding implementation avoids fragmentation between folded allocation. As a consequence, our heap will always be iterable i.e. we do not have to perform a garbage collection before iterating the heap. BUG=chromium:580959 LOG=n Review-Url: https://codereview.chromium.org/1899813003 Cr-Commit-Position: refs/heads/master@{#36133}
-
franzih authored
Review-Url: https://codereview.chromium.org/1962133003 Cr-Commit-Position: refs/heads/master@{#36132}
-
ishell authored
BUG=v8:4915 LOG=N Review-Url: https://codereview.chromium.org/1964643002 Cr-Commit-Position: refs/heads/master@{#36131}
-
hlopko authored
LOG=no BUG=468240 Review-Url: https://codereview.chromium.org/1961083005 Cr-Commit-Position: refs/heads/master@{#36130}
-
ishell authored
BUG=v8:4915 LOG=N Review-Url: https://codereview.chromium.org/1962853002 Cr-Commit-Position: refs/heads/master@{#36129}
-
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}
-
mstarzinger authored
R=bmeurer@chromium.org Review-Url: https://codereview.chromium.org/1961843002 Cr-Commit-Position: refs/heads/master@{#36127}
-
ishell authored
BUG=v8:4999, v8:4915 LOG=N Review-Url: https://codereview.chromium.org/1964603002 Cr-Commit-Position: refs/heads/master@{#36126}
-
mstarzinger authored
This implements declaration of lookup slots for variables and functions within optimized code. Such a declaration only appears with top-level eval code, which we only recently started handling in TurboFan. R=jarin@chromium.org Review-Url: https://codereview.chromium.org/1962723002 Cr-Commit-Position: refs/heads/master@{#36125}
-
machenbach authored
This switches O2 -> O3 to match chromium's configuration. This makes the difference between gn and gyp a bit smaller before switching. BUG=chromium:474921 LOG=n Review-Url: https://codereview.chromium.org/1963693004 Cr-Commit-Position: refs/heads/master@{#36124}
-
bmeurer authored
Treat --trace-turbo and --trace-turbo-graph similar to --trace-hydrogen and --trace-hydrogen-stubs, in that we disable concurrent recompilation in that case (otherwise we cannot print heap objects and stuff). R=ishell@chromium.org BUG=v8:4969 LOG=n Review-Url: https://codereview.chromium.org/1965653003 Cr-Commit-Position: refs/heads/master@{#36123}
-
mlippautz authored
BUG=chromium:610603 LOG=N R=hpayer@chromium.org Review-Url: https://codereview.chromium.org/1958403003 Cr-Commit-Position: refs/heads/master@{#36122}
-