- 01 Jun, 2016 19 commits
-
-
machenbach authored
Revert of [crankshaft] Only exclude explicit 'arguments' (and 'this') from liveness analysis. (patchset #2 id:20001 of https://codereview.chromium.org/2026173003/ ) Reason for revert: Triggers crashes on the deopt fuzzer: https://build.chromium.org/p/client.v8/builders/V8%20Deopt%20Fuzzer/builds/10608 Repro: out/Release/d8 --test --random-seed=849179141 --deopt-every-n-times 149 --nohard-abort --nodead-code-elimination --nofold-constants --noconcurrent-recompilation test/webkit/resources/standalone-pre.js test/webkit/dfg-arguments-mixed-alias.js test/webkit/resources/standalone-post.js Original issue's description: > [crankshaft] Only exclude explicit 'arguments' (and 'this') from liveness analysis. > > Currently, we do not emit EnvironmentMarkers if the hydrogen value > in the environment is arguments object. As the hydrogen value can change > for local variables, we emit only some environment markers. That can > cause environment liveness analysis to mark part of live range as live > and part as dead. The zapping phase then only inserts zaps in > live->dead transitions, potentially zapping a live value. > > With this CL, we only emit EnvironmentMarkers for 'this' and > 'arguments' local variables, disregarding the hydrogen value. > > BUG=chromium:612146 > LOG=n > > Committed: https://crrev.com/1428fbe224dc2df0cb6f59e4959430f7aa614064 > Cr-Commit-Position: refs/heads/master@{#36641} TBR=jkummerow@chromium.org,jarin@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:612146 Review-Url: https://codereview.chromium.org/2029563002 Cr-Commit-Position: refs/heads/master@{#36644}
-
hlopko authored
It happens that a scavenger runs during incremental marking. Currently scavenger does not care about MarkCompact's mark bits. When an object is alive and marked, and at least one scavenge happens during incremental marking, the object will be copied once to the other semispace in the new_space, and then once to the old_space. For surviving objects this is useless extra work. In our current attempts (https://codereview.chromium.org/1988623002) to ensure marked objects are scavenged, all marked objects will survive therefore there will be many objects which will be uselessly copied. This cl modifies our promotion logic so when incremental marking is in progress, and the object is marked, we promote it unconditionally. BUG= LOG=no Review-Url: https://codereview.chromium.org/2005173003 Cr-Commit-Position: refs/heads/master@{#36643}
-
machenbach authored
BUG=chromium:474921 NOTRY=true Committed: https://crrev.com/67e549ec5b34ad02506abb2720c6a0851ae31f5e Cr-Commit-Position: refs/heads/master@{#36510} Committed: https://crrev.com/143b3d167d7014525d049d3ab53c73cf2592243c Cr-Commit-Position: refs/heads/master@{#36582} Committed: https://crrev.com/378a26c03efc74bda401daa5accda223cb266177 Cr-Commit-Position: refs/heads/master@{#36606} Review-Url: https://codereview.chromium.org/2011853002 Cr-Commit-Position: refs/heads/master@{#36642}
-
jarin authored
Currently, we do not emit EnvironmentMarkers if the hydrogen value in the environment is arguments object. As the hydrogen value can change for local variables, we emit only some environment markers. That can cause environment liveness analysis to mark part of live range as live and part as dead. The zapping phase then only inserts zaps in live->dead transitions, potentially zapping a live value. With this CL, we only emit EnvironmentMarkers for 'this' and 'arguments' local variables, disregarding the hydrogen value. BUG=chromium:612146 LOG=n Review-Url: https://codereview.chromium.org/2026173003 Cr-Commit-Position: refs/heads/master@{#36641}
-
epertoso authored
Revert of Provide a tagged allocation top pointer. (patchset #4 id:60001 of https://codereview.chromium.org/2028633002/ ) Reason for revert: Seems to be causing flakiness in some wasm tests: https://build.chromium.org/p/client.v8/builders/V8%20Linux/builds/10598 https://build.chromium.org/p/client.v8/builders/V8%20Win32%20-%20debug/builds/2528 Original issue's description: > Provide a tagged allocation top pointer. > > Taking over http://crrev.com/1924223002. > > BUG=chromium:606711 > LOG=N > > Committed: https://crrev.com/f42c9e93c80fdf57e8f92bb87f6ed927d0ae4028 > Cr-Commit-Position: refs/heads/master@{#36633} TBR=bmeurer@chromium.org,hpayer@chromium.org,machenbach@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:606711 Review-Url: https://codereview.chromium.org/2031493002 Cr-Commit-Position: refs/heads/master@{#36640}
-
littledan authored
Reland of [ESNext] Activate async/await for ClusterFuzz (patchset #2 id:40001 of https://codereview.chromium.org/2003503002/ ) Reason for revert: All known async/await issues are fixed; turn back on Clusterfuzz Original issue's description: > Revert of [ESNext] Activate async/await for ClusterFuzz (patchset #1 id:1 of https://codereview.chromium.org/1992173002/ ) > > Reason for revert: > First CF feedback is in, reverting for now until the know bugs are fixed. > > Original issue's description: > > [ESNext] Activate async/await for ClusterFuzz > > > > BUG=v8:4483 > > R=neis@chromium.org,littledan@chromium.org,caitpotter88@gmail.com > > LOG=N > > > > Committed: https://crrev.com/c57cadfa09fa493141bf43c1c7b898187a71da19 > > Cr-Commit-Position: refs/heads/master@{#36362} > > TBR=littledan@chromium.org,caitpotter88@gmail.com,neis@chromium.org > # Skipping CQ checks because original CL landed less than 1 days ago. > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > BUG=v8:4483 > > Committed: https://crrev.com/eb059498b2b2d05731b0dce648bdab801d3873fd > Cr-Commit-Position: refs/heads/master@{#36397} TBR=caitpotter88@gmail.com,neis@chromium.org,mstarzinger@chromium.org,hablich@chromium.org # Not skipping CQ checks because original CL landed more than 1 days ago. BUG=v8:4483 Review-Url: https://codereview.chromium.org/2023003002 Cr-Commit-Position: refs/heads/master@{#36639}
-
mstarzinger authored
This is a first step towards explicit checkpoints in the graph. For now we still use the explicit eager bailout points in the AstGraphBuilder that are marked by the FrameStateBeforeAndAfter helper. Eventually these will be implicitly emitted by expression visits having a side-effect. R=bmeurer@chromium.org BUG=v8:5021 Review-Url: https://codereview.chromium.org/2018403002 Cr-Commit-Position: refs/heads/master@{#36638}
-
mstarzinger authored
R=bmeurer@chromium.org BUG=v8:5021 Review-Url: https://codereview.chromium.org/2022033004 Cr-Commit-Position: refs/heads/master@{#36637}
-
jacob.bramley authored
This mostly affects ARMv6, but also fixes some failures on ARMv7 when hardware integer division is not available. - Fix a case where a CodePatcher accumulates literal pool entries, but does not actually emit them. - Don't treat division as safe if we can't use the hardware instruction. Our fallback implementation returns the wrong result if the divisor is zero. - Support deoptimization tables bigger than 8 bits. (kMaxNumberOfEntries requires a 16-bit table index.) - Correct a TurboFan instruction encoding to encode the Operand2 mode. BUG= Review-Url: https://codereview.chromium.org/2021343002 Cr-Commit-Position: refs/heads/master@{#36636}
-
bmeurer authored
R=jarin@chromium.org, mstarzinger@chromium.org Review-Url: https://codereview.chromium.org/2025273002 Cr-Commit-Position: refs/heads/master@{#36635}
-
mstarzinger authored
This adds a very simplistic reduction of {CheckPoint} nodes via the new {CheckpointElimination}, eliminating redundant check points that appear in an effect chain of operations that are all {kNoWrite}. Such a chain allows an arbitrary check point to be chosen. The current approach will end up choosing the first one for all deopts in the chain. R=bmeurer@chromium.org TEST=unittests/CheckpointEliminationTest.CheckPointChain BUG=v8:5021 Review-Url: https://codereview.chromium.org/2022913003 Cr-Commit-Position: refs/heads/master@{#36634}
-
epertoso authored
Taking over http://crrev.com/1924223002. BUG=chromium:606711 LOG=N Review-Url: https://codereview.chromium.org/2028633002 Cr-Commit-Position: refs/heads/master@{#36633}
-
pierre.langlois authored
This patch enables the following transformations in the instruction selector: | Before | After | |------------------+------------------------| | and x3, x1, #0x1 | tb{,n}z w1, #0, #+0x78 | | cmp x3, #0x0 | | | b.{eq,ne} #+0x80 | | |------------------+------------------------| | cmp x0, #0x0 | cb{,n}z x0, #+0x48 | | b.{eq,ne} #+0x4c | | I have not seen these patterns beeing generated by turbofan, however the stubs hit these cases frequently. A particular reason is that we are turning operations that check for a Smi into a single `tbz`. As a concequence, the interpreter is affected thanks to inlining turbofan stubs into it's bytecode handlers. I have noticed the size of the interpreter was reduced by 200 instructions. BUG= Review-Url: https://codereview.chromium.org/2022073002 Cr-Commit-Position: refs/heads/master@{#36632}
-
bmeurer authored
R=epertoso@chromium.org Review-Url: https://codereview.chromium.org/2026633004 Cr-Commit-Position: refs/heads/master@{#36631}
-
bmeurer authored
We may set a proper HType on HCall or HCallWithDescriptor nodes, for example for the InstanceOfStub, where we know that the result is a boolean. So HCall and HCallWithDescriptor shall not ignore the type, but pass through whatever we set (defaulting to Tagged). R=jarin@chromium.org Review-Url: https://codereview.chromium.org/2024033005 Cr-Commit-Position: refs/heads/master@{#36630}
-
franzih authored
These functions call into C++ anyways, so there's no need to have the JavaScript wrapper around them. This commit removes uri.js completely. R=yangguo@chromium.org, bmeurer@chromium.org BUG=v8:4912 Review-Url: https://codereview.chromium.org/2027003002 Cr-Commit-Position: refs/heads/master@{#36629}
-
bjaideep authored
This error is specific to PPC on native(sim builds fine), seems AddHexEncodedToBuffer is inlined (with -fno-inline it passes) and the compiler emits error that the array may be used uninitialized in this function. I'm not entirely sure why this occurs only on PPC (native). R=franzih@chromium.org, bmeurer@chromium.org, 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/2019113002 Cr-Commit-Position: refs/heads/master@{#36628}
-
bmeurer authored
R=jarin@chromium.org Review-Url: https://codereview.chromium.org/2024853002 Cr-Commit-Position: refs/heads/master@{#36627}
-
v8-autoroll authored
Rolling v8/build to 060e1e80a111f7a2f4757758381445c9ec254878 Rolling v8/buildtools to 1a6b6666528b3428abf1cbee7a3b82a30c0355ee Rolling v8/third_party/icu to 466129d661caa849d4087b624840b4b2c4ee7d85 TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org Review-Url: https://codereview.chromium.org/2027083002 Cr-Commit-Position: refs/heads/master@{#36626}
-
- 31 May, 2016 21 commits
-
-
kozyatinskiy authored
If scripts is paused in class constructor before super() call then any attempt to evaluate something like this.* on top frame will produce crash. BUG=chromium:614019 R=yangguo@chromium.org Review-Url: https://codereview.chromium.org/2013223003 Cr-Commit-Position: refs/heads/master@{#36625}
-
jyan authored
Port 63ea3a50 Original commit message: Previously, we used the lowest bit for something else. R=mvstanton@chromium.org, joransiu@ca.ibm.com, bjaideep@ca.ibm.com, michael_dawson@ca.ibm.com, mbrandy@us.ibm.com BUG= Review-Url: https://codereview.chromium.org/2024973003 Cr-Commit-Position: refs/heads/master@{#36624}
-
gsathya authored
There are 2 possible states for the deferred symbol -- 1) UNDEFINED -- This is the zero state, no deferred object is attached to this symbol. When we want to add a new deferred we directly attach it to this symbol. 2) symbol with attached deferred object -- New deferred objects are not attached to this symbol, but instead they are directly attached to the resolve, reject callback arrays. At this point, the deferred symbol's state is stale, and the deferreds should be read from the reject, resolve callbacks. BUG=v8:5046 Review-Url: https://codereview.chromium.org/2018913004 Cr-Commit-Position: refs/heads/master@{#36623}
-
machenbach authored
Revert of [heap] Do not invoke GC to make heap iterable. (patchset #3 id:40001 of https://codereview.chromium.org/1992913004/ ) Reason for revert: [Sheriff] Speculative revert for some flakes on the waterfall: https://build.chromium.org/p/client.v8/builders/V8%20Mac%20-%20debug/builds/7409 https://build.chromium.org/p/client.v8/builders/V8%20Linux64%20-%20avx2/builds/7983 https://build.chromium.org/p/client.v8/builders/V8%20Linux64%20-%20internal%20snapshot/builds/4901 Original issue's description: > [heap] Do not invoke GC to make heap iterable. > > This reverts commit 0aa3707d. > > And removes the UnreachableObjectsFilter. > > BUG=chromium:580959 > LOG=n > > Committed: https://crrev.com/132f89800f560190b4d655adcb4e0eeedd17fd82 > Cr-Commit-Position: refs/heads/master@{#36617} TBR=yangguo@chromium.org,ulan@chromium.org,hpayer@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:580959 Review-Url: https://codereview.chromium.org/2020363002 Cr-Commit-Position: refs/heads/master@{#36622}
-
littledan authored
Async functions are built out of generators, but the SharedFunctionInfo returns false for is_generator. is_resumable is the broader query. This patch fixes many parts of V8 to refer to is_resumable as appropriate. One incidental change is to remove a check for generators extending classes. This is part of a general check for constructors being the only thing which can extend classes, so it is removed here and the error message for the general case is made more accurate. BUG=v8:4483 Review-Url: https://codereview.chromium.org/1996943002 Cr-Commit-Position: refs/heads/master@{#36621}
-
jyan authored
Port 56d90782 Original commit message: In Crankshaft, we would install special ICs that didn't need a vector and slot in the MEGAMORPHIC case. This optimization limits our hand against future improvements. R=mvstanton@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/2028663002 Cr-Commit-Position: refs/heads/master@{#36620}
-
mlippautz authored
How to trigger (stress bots do all steps): 1. Enable in gyp/gn: v8_enable_verify_heap 2. Start with --stress-compaction and non-zero --random-seed R=ulan@chromium.org, hpayer@chromium.org BUG= CQ_EXTRA_TRYBOTS=tryserver.v8:v8_linux_arm64_gc_stress_dbg,v8_linux_gc_stress_dbg,v8_mac_gc_stress_dbg Review-Url: https://codereview.chromium.org/2019343002 Cr-Commit-Position: refs/heads/master@{#36619}
-
mtrofin authored
This CLprepares the terrain for serialization/deserialization. It sets up the instantiation stages such that we have a point wereh we can split off obtaining the code from a snapshot, or snapshot. That point is after we compile and produce the code table, but before we attach the deoptimization info we use for stack tracing. Opportunistically, performed more cleanup to improve maintainability: - clarified sequential vs parallel compilation stages. FinishCompilation was somewhat ambiguous in that it performed a few responsibilities: compiling functions in the sequential case, and then populating the linker and code tables. - removed the "results" set, which is unnecessary. The linker simply shares the function_code vector, and so do the compilation stages. - populate the code table fixed array separately from compilation. This falls out of the decisions above. BUG= Review-Url: https://codereview.chromium.org/2008043006 Cr-Commit-Position: refs/heads/master@{#36618}
-
hpayer authored
This reverts commit 0aa3707d. And removes the UnreachableObjectsFilter. BUG=chromium:580959 LOG=n Review-Url: https://codereview.chromium.org/1992913004 Cr-Commit-Position: refs/heads/master@{#36617}
-
machenbach authored
Revert of [gn] Add unittests (patchset #7 id:120001 of https://codereview.chromium.org/2011853002/ ) Reason for revert: Still http://crbug.com/615890 Original issue's description: > [gn] Add unittests > > BUG=chromium:474921 > NOTRY=true > > Committed: https://crrev.com/67e549ec5b34ad02506abb2720c6a0851ae31f5e > Cr-Commit-Position: refs/heads/master@{#36510} > > Committed: https://crrev.com/143b3d167d7014525d049d3ab53c73cf2592243c > Cr-Commit-Position: refs/heads/master@{#36582} > > Committed: https://crrev.com/378a26c03efc74bda401daa5accda223cb266177 > Cr-Commit-Position: refs/heads/master@{#36606} TBR=vogelheim@chromium.org,bmeurer@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:474921 Review-Url: https://codereview.chromium.org/2026713002 Cr-Commit-Position: refs/heads/master@{#36616}
-
https://codereview.chromium.org/2007143003/machenbach authored
Reason for revert: Still http://crbug.com/615890 Original issue's description: > [gn] Add cctest > > BUG=chromium:474921 > > Committed: https://crrev.com/52a6fced896e3f64ac56eb57bcdea78393642e0c > Cr-Commit-Position: refs/heads/master@{#36517} > > Committed: https://crrev.com/65678bc67fc48dfe4dcab7fdd2c4b7e1d6e918f4 > Cr-Commit-Position: refs/heads/master@{#36586} > > TBR=jochen@chromium.org > > Committed: https://crrev.com/eea9fbe1858df23dd832ed8ddd284f98120d9e21 > Cr-Commit-Position: refs/heads/master@{#36607} TBR=jochen@chromium.org,vogelheim@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/2026703002 Cr-Commit-Position: refs/heads/master@{#36615}
-
caitpotter88 authored
BUG=v8:4483 R=littledan@chromium.org, yangguo@chromium.org Review-Url: https://codereview.chromium.org/2010693003 Cr-Commit-Position: refs/heads/master@{#36614}
-
jarin authored
This prevents the compiler from optimizing f64-to-tagged(tagged-to-f64(x)) ==> x for non-number x (such as undefined). Review-Url: https://codereview.chromium.org/2027593002 Cr-Commit-Position: refs/heads/master@{#36613}
-
bmeurer authored
For values with canonical representation (i.e. not Number, Simd128Value or Number) we can turn a strict equality comparison to a direct pointer comparison. This removes the weird performance cliff when using a null or undefined constant instead of the literals. R=jarin@chromium.org BUG=v8:5042 Review-Url: https://codereview.chromium.org/2027603002 Cr-Commit-Position: refs/heads/master@{#36612}
-
bmeurer authored
When we moved the String.fromCharCode builtin to C++, we slightly regressed the fast single character code argument case. Recovered some of the performance by implementing the builtin using the TurboFan CodeStubAssembler. Drive-by-fix: Make sure the stack trace from the implicit ToNumber conversion in String.fromCharCode includes the builtin by adding a regression test for that. R=yangguo@chromium.org BUG=chromium:609831,chromium:613947,v8:5049 Review-Url: https://codereview.chromium.org/2021143003 Cr-Commit-Position: refs/heads/master@{#36611}
-
yangguo authored
R=bmeurer@chromium.org Review-Url: https://codereview.chromium.org/2026643003 Cr-Commit-Position: refs/heads/master@{#36610}
-
mlippautz authored
Revert of Reland "[heap] Fine-grained JSArrayBuffer tracking" (patchset #2 id:20001 of https://codereview.chromium.org/2024063002/ ) Reason for revert: Breaking http://build.chromium.org/p/client.v8/builders/V8%20Linux64%20-%20avx2/builds/7972 Original issue's description: > Track based on JSArrayBuffer addresses on pages instead of the attached > backing store. > > Details of tracking: > - Scavenge: New space pages are processes in bulk on the main thread > - MC: Unswept pages are processed in bulk in parallel. All other pages > are processed by the sweeper concurrently. > > BUG=chromium:611688 > LOG=N > TEST=cctest/test-array-buffer-tracker/* > CQ_EXTRA_TRYBOTS=tryserver.v8:v8_linux_arm64_gc_stress_dbg,v8_linux_gc_stress_dbg,v8_mac_gc_stress_dbg,v8_linux64_tsan_rel,v8_mac64_asan_rel > > Committed: https://crrev.com/089da007bb990b5b29aab257aa836fdd3f3b8ce0 > Cr-Commit-Position: refs/heads/master@{#36608} TBR=hpayer@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:611688 Review-Url: https://codereview.chromium.org/2028503003 Cr-Commit-Position: refs/heads/master@{#36609}
-
mlippautz authored
backing store. Details of tracking: - Scavenge: New space pages are processes in bulk on the main thread - MC: Unswept pages are processed in bulk in parallel. All other pages are processed by the sweeper concurrently. BUG=chromium:611688 LOG=N TEST=cctest/test-array-buffer-tracker/* CQ_EXTRA_TRYBOTS=tryserver.v8:v8_linux_arm64_gc_stress_dbg,v8_linux_gc_stress_dbg,v8_mac_gc_stress_dbg,v8_linux64_tsan_rel,v8_mac64_asan_rel Review-Url: https://codereview.chromium.org/2024063002 Cr-Commit-Position: refs/heads/master@{#36608}
-
machenbach authored
BUG=chromium:474921 Committed: https://crrev.com/52a6fced896e3f64ac56eb57bcdea78393642e0c Cr-Commit-Position: refs/heads/master@{#36517} Committed: https://crrev.com/65678bc67fc48dfe4dcab7fdd2c4b7e1d6e918f4 Cr-Commit-Position: refs/heads/master@{#36586} TBR=jochen@chromium.org Review-Url: https://codereview.chromium.org/2007143003 Cr-Commit-Position: refs/heads/master@{#36607}
-
machenbach authored
BUG=chromium:474921 NOTRY=true Committed: https://crrev.com/67e549ec5b34ad02506abb2720c6a0851ae31f5e Cr-Commit-Position: refs/heads/master@{#36510} Committed: https://crrev.com/143b3d167d7014525d049d3ab53c73cf2592243c Cr-Commit-Position: refs/heads/master@{#36582} Review-Url: https://codereview.chromium.org/2011853002 Cr-Commit-Position: refs/heads/master@{#36606}
-
machenbach authored
Revert of [gn] Add unittests (patchset #6 id:100001 of https://codereview.chromium.org/2011853002/ ) Reason for revert: http://crbug.com/615890 Original issue's description: > [gn] Add unittests > > BUG=chromium:474921 > NOTRY=true > > Committed: https://crrev.com/67e549ec5b34ad02506abb2720c6a0851ae31f5e > Cr-Commit-Position: refs/heads/master@{#36510} > > Committed: https://crrev.com/143b3d167d7014525d049d3ab53c73cf2592243c > Cr-Commit-Position: refs/heads/master@{#36582} TBR=vogelheim@chromium.org,bmeurer@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:474921 Review-Url: https://codereview.chromium.org/2022893002 Cr-Commit-Position: refs/heads/master@{#36605}
-