- 10 May, 2016 31 commits
-
-
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}
-
littledan authored
- Inline reads to the species protector - Put V8_LIKELY/V8_UNLIKELY to guide Array.prototype.{slice,splice,concat} to the fast paths - Put the Array species good path checks directly in Array.prototype.concat to avoid a couple reads of the array constructor from the native context These changes together bring a ~4-6% win on kraken-orig/stanford-crypto-pbkdf2-orig which more than makes up from the performance degradation from a recent other species-related change. BUG=chromium:609739 R=cbruni@chromium.org LOG=Y Review-Url: https://codereview.chromium.org/1958713003 Cr-Commit-Position: refs/heads/master@{#36121}
-
v8-autoroll authored
Rolling v8/build to 143dcc2b1b07c16858f16f25fefe04311f663279 Rolling v8/tools/clang to 18b63c680a59a7125514b1e05ca42cdfb89a19c7 TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org Review-Url: https://codereview.chromium.org/1959293002 Cr-Commit-Position: refs/heads/master@{#36120}
-
- 09 May, 2016 9 commits
-
-
machenbach authored
Revert of [test] Skip failing test after clang roll. (patchset #1 id:1 of https://codereview.chromium.org/1955013002/ ) Reason for revert: Clang roll with fix is in. Original issue's description: > [test] Skip failing test after clang roll. > > BUG=v8:4995 > LOG=n > NOTRY=true > TBR=thakis@chromium.org, titzer@chromium.org > > Committed: https://crrev.com/6e6a7ea3a425bee65d856814bd361ddbf14811f5 > Cr-Commit-Position: refs/heads/master@{#36064} TBR=thakis@chromium.org,titzer@chromium.org # Not skipping CQ checks because original CL landed more than 1 days ago. BUG=v8:4995 NOTRY=true LOG=n Review-Url: https://codereview.chromium.org/1960053002 Cr-Commit-Position: refs/heads/master@{#36119}
-
bjaideep authored
Added macro functions to handle large offsets(>16bits) in StoreDoubleU/ LoadDoubleU/StoreSingle/StoreSingleU/LoadSingle/LoadSingleU. R=joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, mbrandy@us.ibm.com BUG= LOG=N Review-Url: https://codereview.chromium.org/1962773002 Cr-Commit-Position: refs/heads/master@{#36118}
-
bbudge authored
Changes some platform specific class names and uses typedefs to define FloatRegister, DoubleRegister, etc. This will be needed to do register allocation on ARM/MIPS where registers combine to form larger registers. LOG=N BUG=v8:4124 Review-Url: https://codereview.chromium.org/1954953002 Cr-Commit-Position: refs/heads/master@{#36117}
-
gsathya authored
This patch installs %TypedArray% and its prototype on the native context, and wires them up to each TypedArray subclass. This is later used to check the holder of length, byteLength and byteOffset is %Typedarray% and apply the appropriate optimizations. BUG=chromium:593634 LOG=Y Review-Url: https://codereview.chromium.org/1949863002 Cr-Commit-Position: refs/heads/master@{#36116}
-
bbudge authored
Fixes 4 compile errors on Mac due to specifiers not matching type casts. LOG=N BUG= Review-Url: https://codereview.chromium.org/1960113002 Cr-Commit-Position: refs/heads/master@{#36115}
-
lpy authored
atomic-utils.h only uses functionality from base/, and also by moving it into base/, code outside of v8_base can benefit from it. BUG=v8:4991 LOG=n Review-Url: https://codereview.chromium.org/1954603002 Cr-Commit-Position: refs/heads/master@{#36114}
-
kozyatinskiy authored
There is TypeOf static method on object inside V8. In this CL I've extracted it via API. LOG=Y R=yangguo@chromium.org BUG=chromium:595206 Review-Url: https://codereview.chromium.org/1829833002 Cr-Commit-Position: refs/heads/master@{#36113}
-
titzer authored
R=ahaas@chromium.org,rossberg@chromium.org BUG= Review-Url: https://codereview.chromium.org/1960143002 Cr-Commit-Position: refs/heads/master@{#36112}
-
mstarzinger authored
This makes the aforementioned visitation function independent of the target architecture by leveraging existing abstractions. R=mvstanton@chromium.org Review-Url: https://codereview.chromium.org/1962663002 Cr-Commit-Position: refs/heads/master@{#36111}
-