- 26 Sep, 2016 16 commits
-
-
hablich authored
Revert of [stubs] Port String.prototype.substring to TurboFan (patchset #5 id:80001 of https://codereview.chromium.org/2358133004/ ) Reason for revert: Blocks roll: https://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2064/builds/10075 Original issue's description: > [stubs] Port String.prototype.substring to TurboFan > > BUG=v8:5415 > > Committed: https://crrev.com/cc37dff7ba21345b3a867a86127a208e34a3f707 > Cr-Commit-Position: refs/heads/master@{#39717} TBR=ishell@chromium.org,jgruber@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:5415 Review-Url: https://codereview.chromium.org/2369003002 Cr-Commit-Position: refs/heads/master@{#39724}
-
marja authored
The code path for cloning resolved VariableProxys (into a different Zone) was never hit, but if it was, it would create a dangling reference, since the Variable would stay in the original Zone. Kudos to verwaest@ for finding this! R=verwaest@chromium.org BUG= Review-Url: https://codereview.chromium.org/2368253002 Cr-Commit-Position: refs/heads/master@{#39723}
-
ahaas authored
The WebAssembly spec requires a HasProperty() check for the maximum property of the descriptor object which is used to set up a WebAssembly.Memory object or a WebAssembly.Table object. The original implementation only approximated the HasProperty() check. It used Get() to get the value of the maximum property of the descriptor object and compared the resulting value to {undefined}. However, this approximation is incorrect if the property exists but its value is {undefined}. R=titzer@chromium.org, franzih@chromium.org BUG=chromium:649461 TEST=mjsunit/wasm/memory Review-Url: https://codereview.chromium.org/2367673003 Cr-Commit-Position: refs/heads/master@{#39722}
-
cbruni authored
The previous change accidentally shifted categories around which broke our performance graphs. BUG= Review-Url: https://codereview.chromium.org/2369863002 Cr-Commit-Position: refs/heads/master@{#39721}
-
mvstanton authored
Reverted for stability reasons. BUG=chromium:649967 TBR=jarin@chromium.org Review-Url: https://codereview.chromium.org/2370763002 Cr-Commit-Position: refs/heads/master@{#39720}
-
marja authored
This is an overly pessimistic approach where PreParser only keeps track of unresolved variables, but doesn't declare anything. This will result in context-allocating variables in the outer function unnecessarily, if the variable names clash with variable names used by the inner function (even if the variables are not the same). However, we have been unable to prove that this approach wouldn't be good enough for the practical purposes. Fixes after the previous try ( https://codereview.chromium.org/2322243002/ ): Keep the context-allocation decision stable when compiling fully eagerly. Tests which exercise this functionality: mjsunit/fixed-context-shapes-when-recompiling.js Design document (chromium): https://docs.google.com/a/chromium.org/document/d/1rRv5JJZ0JpOZAZN2CSUwZPFJiBAdRnTiSYhazseNHFg/edit?usp=sharing BUG= Review-Url: https://codereview.chromium.org/2352593002 Cr-Commit-Position: refs/heads/master@{#39719}
-
bmeurer authored
Add a general feedback slot for instanceof similar to what we already have for for-in, which basically has a fast (indicated by the uninitialized sentinel) and a slow (indicated by the megamorphic sentinel) mode. Now we can only take the fast path when the feedback slot says it hasn't seen any funky inputs and nothing funky appeared in the prototype chain. In the TurboFan code we also deoptimize whenever we see a funky object (i.e. a proxy or an object that requires access checks) in the prototype chain (similar to what Crankshaft already did). Drive-by-fix: Also make Crankshaft respect the mode and therefore address the deopt loop in Crankshaft around instanceof. We might want to introduce an InstanceOfIC mechanism at some point and track the map of the right-hand side. BUG=v8:5267 R=mvstanton@chromium.org Review-Url: https://codereview.chromium.org/2370693002 Cr-Commit-Position: refs/heads/master@{#39718}
-
jgruber authored
BUG=v8:5415 Review-Url: https://codereview.chromium.org/2358133004 Cr-Commit-Position: refs/heads/master@{#39717}
-
mvstanton authored
Reverted for stability reasons. BUG=chromium:649967 TBR=jarin@chromium.org Review-Url: https://codereview.chromium.org/2366313002 Cr-Commit-Position: refs/heads/master@{#39716}
-
jarin authored
BUG=chromium:650215 Review-Url: https://codereview.chromium.org/2373453002 Cr-Commit-Position: refs/heads/master@{#39715}
-
mstarzinger authored
This adds handling of simplified ops without effect input to the escape status analysis. Such uses are treated as escaping for now until we add dedicated handling to the escape analysis reducer. R=bmeurer@chromium.org BUG=chromium:650170 Review-Url: https://codereview.chromium.org/2372533002 Cr-Commit-Position: refs/heads/master@{#39714}
-
tebbi authored
BUG=v8:5330 R=bmeurer@chromium.org Review-Url: https://codereview.chromium.org/2311153002 Cr-Commit-Position: refs/heads/master@{#39713}
-
machenbach authored
BUG=chromium:648864,chromium:648610 NOTRY=true TBR=jgruber@chromium.org Review-Url: https://codereview.chromium.org/2371713002 Cr-Commit-Position: refs/heads/master@{#39712}
-
ahaas authored
BUG=chromium:649283 R=titzer@chromium.org TEST=mjsunit/wasm/table Review-Url: https://codereview.chromium.org/2358923003 Cr-Commit-Position: refs/heads/master@{#39711}
-
jgruber authored
Passing kTruncateMinusZero truncates -0.0 to Smi 0, while kNoTruncation returns -0.0 as a heap number. BUG= Review-Url: https://codereview.chromium.org/2361363002 Cr-Commit-Position: refs/heads/master@{#39710}
-
jgruber authored
V8 is collecting a growing amount of fuzzers, all of which take substantial space on the bots and in chromium build archives. This CL improves that situation by allowing component (shared library) builds for almost all fuzzers. The parser fuzzer is handled as an exception since it would require exporting a large number of additional functions. A component build results in about a 50-100x improvement in file size for each fuzzer (~50M-100M to around 1.1M). BUG=chromium:648864 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_chromium_compile_dbg_ng;master.tryserver.chromium.android:android_clang_dbg_recipe Review-Url: https://codereview.chromium.org/2360983002 Cr-Commit-Position: refs/heads/master@{#39709}
-
- 24 Sep, 2016 10 commits
-
-
https://codereview.chromium.org/2364963003/littledan authored
Fixed another TSAN issue in https://codereview.chromium.org/2365123002 TBR=caitp@igalia.com,adamk@chromium.org BUG=v8:4483 Review-Url: https://codereview.chromium.org/2367203002 Cr-Commit-Position: refs/heads/master@{#39708}
-
ishell authored
BUG=v8:5408 Review-Url: https://codereview.chromium.org/2367693002 Cr-Commit-Position: refs/heads/master@{#39707}
-
littledan authored
The file formerly known as src/js/harmony-async-await.js does not expose anything directly to JavaScript code; it just makes a few functions available on the native context for the parser desugaring to expand into. Experimental natives have various issues with larger amounts of code, so this patch moves the JS builtins to support async functions out of experimental natives and into the core snapshot. The change would be done eventually anyway, but this patch does it before removing the flag to support shipping the feature while avoiding the pitfalls of experimental natives. Drive by cleanup: remove more unused functions from the whitelist for experimental natives. BUG=v8:5427,v8:4483 Review-Url: https://codereview.chromium.org/2365123002 Cr-Commit-Position: refs/heads/master@{#39706}
-
littledan authored
If DevTools is turned on in the middle of doing some things with async functions, then more items may be popped from the Promise stack than were pushed to it. In this sort of case, it's OK to have a catch misprediction, but a crash is unacceptable. This patch defensively handles this edge case where the Promise stack is unexpectedly empty for that reason. BUG=v8:5167 Review-Url: https://codereview.chromium.org/2361333003 Cr-Commit-Position: refs/heads/master@{#39705}
-
v8-autoroll authored
Rolling v8/build to 7ec7ad1a5dba8b996440e3bcbd05983cbd41ef3b Rolling v8/buildtools to 86f7e41d9424b9d8faf66c601b129855217f9a08 TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org Review-Url: https://codereview.chromium.org/2363053004 Cr-Commit-Position: refs/heads/master@{#39704}
-
https://codereview.chromium.org/2363093003/littledan authored
Reason for revert: TSAN failures still happening; need to investigate more. Original issue's description: > Reland of Ship async functions (patchset #1 id:1 of https://codereview.chromium.org/2364963003/ ) > > Reason for revert: > Fixed underlying cause of TSAN issue; trying again while watching the bots. > > Original issue's description: > > Revert of Ship async functions (patchset #2 id:20001 of https://codereview.chromium.org/2356943002/ ) > > > > Reason for revert: > > Triggers TSAN errors on Linux64: > > > > https://build.chromium.org/p/client.v8/builders/V8%20Linux64%20TSAN/builds/11901 > > > > Original issue's description: > > > Ship async functions > > > > > > Intent to ship discussion: > > > https://groups.google.com/forum/#!topic/v8-users/gwpcEIrgIZY > > > > > > BUG=v8:4483 > > > > > > Committed: https://crrev.com/9f7540a0ec6333e7c71615609fe29274d9b7a4c5 > > > Cr-Commit-Position: refs/heads/master@{#39697} > > > > TBR=caitp@igalia.com,littledan@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/a4354b6c15fd9dbde2677efdf81fbc99ff0cf3e0 > > Cr-Commit-Position: refs/heads/master@{#39699} > > TBR=caitp@igalia.com,adamk@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/97cdf9f978e971df8a463fef7525bb942d305796 > Cr-Commit-Position: refs/heads/master@{#39702} TBR=caitp@igalia.com,adamk@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:4483 Review-Url: https://codereview.chromium.org/2365113003 Cr-Commit-Position: refs/heads/master@{#39703}
-
https://codereview.chromium.org/2364963003/littledan authored
Reason for revert: Fixed underlying cause of TSAN issue; trying again while watching the bots. Original issue's description: > Revert of Ship async functions (patchset #2 id:20001 of https://codereview.chromium.org/2356943002/ ) > > Reason for revert: > Triggers TSAN errors on Linux64: > > https://build.chromium.org/p/client.v8/builders/V8%20Linux64%20TSAN/builds/11901 > > Original issue's description: > > Ship async functions > > > > Intent to ship discussion: > > https://groups.google.com/forum/#!topic/v8-users/gwpcEIrgIZY > > > > BUG=v8:4483 > > > > Committed: https://crrev.com/9f7540a0ec6333e7c71615609fe29274d9b7a4c5 > > Cr-Commit-Position: refs/heads/master@{#39697} > > TBR=caitp@igalia.com,littledan@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/a4354b6c15fd9dbde2677efdf81fbc99ff0cf3e0 > Cr-Commit-Position: refs/heads/master@{#39699} TBR=caitp@igalia.com,adamk@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:4483 Review-Url: https://codereview.chromium.org/2363093003 Cr-Commit-Position: refs/heads/master@{#39702}
-
littledan authored
This patch fixes the logic of finding the location of a duplicate parameter error in arrow functions by only looking at the error if it exists. This should address a TSAN error. Further, an UNREACHABLE() statement is inserted somewhere in the ExpressionClassifier code to make future similar bugs easier to find. BUG=v8:4483 Review-Url: https://codereview.chromium.org/2365693004 Cr-Commit-Position: refs/heads/master@{#39701}
-
neis authored
R=adamk@chromium.org BUG=v8:1569 Review-Url: https://codereview.chromium.org/2362153003 Cr-Commit-Position: refs/heads/master@{#39700}
-
adamk authored
Revert of Ship async functions (patchset #2 id:20001 of https://codereview.chromium.org/2356943002/ ) Reason for revert: Triggers TSAN errors on Linux64: https://build.chromium.org/p/client.v8/builders/V8%20Linux64%20TSAN/builds/11901 Original issue's description: > Ship async functions > > Intent to ship discussion: > https://groups.google.com/forum/#!topic/v8-users/gwpcEIrgIZY > > BUG=v8:4483 > > Committed: https://crrev.com/9f7540a0ec6333e7c71615609fe29274d9b7a4c5 > Cr-Commit-Position: refs/heads/master@{#39697} TBR=caitp@igalia.com,littledan@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:4483 Review-Url: https://codereview.chromium.org/2364963003 Cr-Commit-Position: refs/heads/master@{#39699}
-
- 23 Sep, 2016 14 commits
-
-
dpranke authored
This makes the variable name for the repo consistent w/ chromium, so that we can use a single variable across repos. R=machenbach@chromium.org Review-Url: https://codereview.chromium.org/2362973002 Cr-Commit-Position: refs/heads/master@{#39698}
-
littledan authored
Intent to ship discussion: https://groups.google.com/forum/#!topic/v8-users/gwpcEIrgIZY BUG=v8:4483 Review-Url: https://codereview.chromium.org/2356943002 Cr-Commit-Position: refs/heads/master@{#39697}
-
adamk authored
Also fix recursive call to avoid going back through the API. R=neis@chromium.org BUG=v8:1569 Review-Url: https://codereview.chromium.org/2366063002 Cr-Commit-Position: refs/heads/master@{#39696}
-
littledan authored
This patch tracks the stack of async functions differently from other Promise async stack tracking. With this patch, the stack trace of a callstack of async functions should look similarly to the call stack if all of the functions were synchronous. An example can be found in the updated test expectations: https://codereview.chromium.org/2362923002 . The new stack traces are implemented using existing mechanisms in the inspector. The inspector has two ways to save async stack traces: recurring and non-recurring stacks. An example of a non-recurring stack is setTimeout, and a recurring one is saved for setInterval. Recurring stacks are deleted only when a special "cancel" function is called, rather than being deleted after being used the first time. Previous Promise async stack tracking always used non-recurring stacks. For async functions, this patch saves a recurring stack. The top frame of the stack is duplicated, as the resuming function contains a similar frame; the devtools frontend is responsible for removing or marking this frame, which it can do based on seeing the [async function] line which follows it. The second frame will instead be provided by the resuming execution context. The recurring stack is saved when the async function is entered, and it is deleted from a finally block. The id of the stack is saved in the outer Promise being constructed by the async function. When an intermediate throwaway Promise will be triggered as a reaction, it will be identified as such based on its debugging metadata, and the corresponding async function's recurring stack will be used. BUG=v8:4483 Review-Url: https://codereview.chromium.org/2357423002 Cr-Commit-Position: refs/heads/master@{#39695}
-
bmeurer authored
Revert of [turbofan] ChangeFloat64ToTagged shouldn't canonicalize. (patchset #5 id:80001 of https://codereview.chromium.org/2367593003/ ) Reason for revert: Failing on the main waterfall again (again for typedarray, even tho it passed trybots?): https://build.chromium.org/p/client.v8/builders/V8%20Mac64/builds/11515/steps/Check/logs/typedarray Original issue's description: > [turbofan] ChangeFloat64ToTagged shouldn't canonicalize. > > This matches current Crankshaft/fullcodegen behavior more closely and > thus reduces the chances that we run into unnecessary polymorphism due > to the field representation tracking in our object model. > > R=jarin@chromium.org > BUG=v8:5267 > > Committed: https://chromium.googlesource.com/v8/v8/+/6a939714e991ebf10d56ddbd2869325cca99c0ef > Committed: https://crrev.com/ee158e6c4cc896479a32245432a3c2fdd31bcb73 > Cr-Commit-Position: refs/heads/master@{#39692} TBR=jarin@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:5267 Review-Url: https://codereview.chromium.org/2367963002 Cr-Commit-Position: refs/heads/master@{#39694}
-
neis authored
There's no reason (anymore) to have empty imports in special_imports. Remove them from there and rename special_imports to namespace_imports to be more precise. R=adamk@chromium.org BUG=v8:1569 Review-Url: https://codereview.chromium.org/2368613002 Cr-Commit-Position: refs/heads/master@{#39693}
-
bmeurer authored
This matches current Crankshaft/fullcodegen behavior more closely and thus reduces the chances that we run into unnecessary polymorphism due to the field representation tracking in our object model. R=jarin@chromium.org BUG=v8:5267 Committed: https://chromium.googlesource.com/v8/v8/+/6a939714e991ebf10d56ddbd2869325cca99c0ef Review-Url: https://codereview.chromium.org/2367593003 Cr-Commit-Position: refs/heads/master@{#39692}
-
kozyatinskiy authored
We need this to run checks for debugger-script and injected-script-source. BUG=chromium:645640 R=machenbach@chromium.org Review-Url: https://codereview.chromium.org/2363073003 Cr-Commit-Position: refs/heads/master@{#39691}
-
caitp authored
Add some micro-benchmarks to help measure the impact and benefit of String Iterator optimizations. BUG=v8:5388 R=bmeurer@chromium.org Review-Url: https://codereview.chromium.org/2364743003 Cr-Commit-Position: refs/heads/master@{#39690}
-
neis authored
Resolve imports and indirect exports at instantiation time. With this CL we have some basic functionality for modules working. Not yet supported: star exports, namespace imports, cycle detection, proper variable initialisation in mutually recursive modules. BUG=v8:1569 Review-Url: https://codereview.chromium.org/2362083002 Cr-Commit-Position: refs/heads/master@{#39689}
-
jkummerow authored
This extends the KeyedLoadIC_Megamorphic stub to call getters it found on the receiver without falling back to a runtime call. Review-Url: https://codereview.chromium.org/2362453004 Cr-Commit-Position: refs/heads/master@{#39688}
-
littledan authored
DevTools wants to be able to detect async functions in order to print their synopsis better in stack traces and tooltips. This patch provides a simple method to do the check. BUG=v8:4483 Review-Url: https://codereview.chromium.org/2365833002 Cr-Commit-Position: refs/heads/master@{#39687}
-
jbroman authored
Some DOM objects, like FileList, have indexed property handlers, and become JS_SPECIAL_API_OBJECT_TYPE. BUG=chromium:148757 Review-Url: https://codereview.chromium.org/2364053003 Cr-Commit-Position: refs/heads/master@{#39686}
-
machenbach authored
Revert of [wasm] Master CL for Binary 0xC changes. (patchset #26 id:490001 of https://codereview.chromium.org/2345593003/ ) Reason for revert: Main suspect for tsan: https://build.chromium.org/p/client.v8/builders/V8%20Linux64%20TSAN/builds/11893 Also changes layout tests: https://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2064/builds/10036 +mips builder: https://build.chromium.org/p/client.v8.ports/builders/V8%20Mips%20-%20builder/builds/4032 Original issue's description: > [wasm] Master CL for Binary 0xC changes. > > [0xC] Convert to stack machine semantics. > [0xC] Use section codes instead of names. > [0xC] Add elements section decoding. > [0xC] Decoding of globals section. > [0xC] Decoding of memory section. > [0xC] Decoding of imports section. > [0xC] Decoding of exports section. > [0xC] Decoding of data section. > [0xC] Remove CallImport bytecode. > [0xC] Function bodies have an implicit block. > [0xC] Remove the bottom label from loops. > [0xC] Add signatures to blocks. > [0xC] Remove arities from branches. > Add tests for init expression decoding. > Rework compilation of import wrappers and how they are patched. > Rework function indices in debugging. > Fix ASM->WASM builder for stack machine. > Reorganize asm.js foreign functions due to import indices change. > > R=ahaas@chromium.org,rossberg@chromium.org,bradnelson@chromium.org > BUG=chromium:575167 > LOG=Y > > Committed: https://crrev.com/76eb976a67273b8c03c744f64ad850b0432554b9 > Cr-Commit-Position: refs/heads/master@{#39678} TBR=ahaas@chromium.org,bradnelson@chromium.org,mtrofin@chromium.org,rossberg@chromium.org,bradnelson@google.com,titzer@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:575167 Review-Url: https://codereview.chromium.org/2361053004 Cr-Commit-Position: refs/heads/master@{#39685}
-