- 03 Aug, 2016 40 commits
-
-
gsathya authored
Promise.resolve Instead of creating resolve and reject closures, directly call ResolvePromise after creating the promise. Using the following as a microbenchmark -- ``` var b = 0; var start = performance.now(); for (var i = 0; i < 1000000; i++) { Promise.resolve(1).then((val) => { b += val; if (b == 1000000) print(performance.now() - start) }); } ``` I see a 16.01% improvement over 5 runs with this patch. BUG=v8:5046 Review-Url: https://codereview.chromium.org/2143553002 Cr-Commit-Position: refs/heads/master@{#38318}
-
titzer authored
R=ahaas@chromium.org,bradnelson@chromium.org BUG=chromium:628542 Review-Url: https://codereview.chromium.org/2207183002 Cr-Commit-Position: refs/heads/master@{#38317}
-
gsathya authored
BUG=v8:5046 Review-Url: https://codereview.chromium.org/2209773003 Cr-Commit-Position: refs/heads/master@{#38316}
-
lpy authored
Revert of [Tracing] Embed V8 runtime call stats into tracing. (patchset #8 id:140001 of https://codereview.chromium.org/2187693002/ ) Reason for revert: Mac64 ASAN failure. https://build.chromium.org/p/client.v8/builders/V8%20Mac64%20ASAN/builds/7810/steps/Check/logs/Threading4 Original issue's description: > [Reland][Tracing] Embed V8 runtime call stats into tracing. > > Currently we have V8 RuntimeCallStats that is independently from tracing when > running d8 with flag --runtime_call_stats. This patch embeds V8 runtime call > stats into tracing, by having a global table of runtime call counters each > isolate, resetting the table each time we enter a top level trace event, and > dumping the table for each top level trace event. This will make trace file more > compat, as well as enable runtime call stats in tracing system. > > This patch adds ~5% overhead to V8 when the category is enabled, we measure the > overhead by running a script when category is enabled. > > BUG=v8:5089 > > Committed: https://crrev.com/d014866173eaa2b548c566217b2c94b1d49385fa > Committed: https://crrev.com/1ca3b73bba4a7253ca8eeef39321d70e7d414331 > Cr-Original-Commit-Position: refs/heads/master@{#38270} > Cr-Commit-Position: refs/heads/master@{#38314} TBR=cbruni@chromium.org,fmeawad@chromium.org,machenbach@chromium.org,bmeurer@chromium.org,adamk@chromium.org,rmcilroy@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:5089 Review-Url: https://codereview.chromium.org/2200373003 Cr-Commit-Position: refs/heads/master@{#38315}
-
lpy authored
Currently we have V8 RuntimeCallStats that is independently from tracing when running d8 with flag --runtime_call_stats. This patch embeds V8 runtime call stats into tracing, by having a global table of runtime call counters each isolate, resetting the table each time we enter a top level trace event, and dumping the table for each top level trace event. This will make trace file more compat, as well as enable runtime call stats in tracing system. This patch adds ~5% overhead to V8 when the category is enabled, we measure the overhead by running a script when category is enabled. BUG=v8:5089 Committed: https://crrev.com/d014866173eaa2b548c566217b2c94b1d49385fa Review-Url: https://codereview.chromium.org/2187693002 Cr-Original-Commit-Position: refs/heads/master@{#38270} Cr-Commit-Position: refs/heads/master@{#38314}
-
machenbach authored
BUG= Review-Url: https://codereview.chromium.org/2204593009 Cr-Commit-Position: refs/heads/master@{#38313}
-
bjaideep authored
Port cdae8654 Original commit message: A corresponding flag was added as well to help us find out what breaks when we do not clear pending exceptions on each JS entry. R=jgruber@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, mbrandy@us.ibm.com BUG=5259 LOG=N Review-Url: https://codereview.chromium.org/2208073003 Cr-Commit-Position: refs/heads/master@{#38312}
-
hpayer authored
BUG=chromium:633537 Review-Url: https://codereview.chromium.org/2205373002 Cr-Commit-Position: refs/heads/master@{#38311}
-
jochen authored
R=verwaest@chromium.org BUG= Review-Url: https://codereview.chromium.org/2201093004 Cr-Commit-Position: refs/heads/master@{#38310}
-
rmcilroy authored
Moves the creation of SharedFunctionInfo for function literals to the finalization step. This is required for bytecode generation to be performed off-thread. BUG=v8:5203 Review-Url: https://codereview.chromium.org/2179303005 Cr-Commit-Position: refs/heads/master@{#38309}
-
bmeurer authored
When we do a checked conversion from Tagged or Float64 to Int32, we used to always do a minus zero check, even if we already know that the input cannot be minus zero. Now we actually do the check only if we have evidence that the input might be minus zero. R=epertoso@chromium.org BUG=v8:4583 Review-Url: https://codereview.chromium.org/2202993005 Cr-Commit-Position: refs/heads/master@{#38308}
-
weiliang.lin authored
BUG= Review-Url: https://codereview.chromium.org/2170323002 Cr-Commit-Position: refs/heads/master@{#38307}
-
sampsong authored
R=joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, mbrandy@us.ibm.com, bjaideep@ca.ibm.com BUG= Review-Url: https://codereview.chromium.org/2072863003 Cr-Commit-Position: refs/heads/master@{#38306}
-
haraken authored
This is a follow-up fix for https://codereview.chromium.org/2194793003/ BUG= Review-Url: https://codereview.chromium.org/2205203002 Cr-Commit-Position: refs/heads/master@{#38305}
-
rmcilroy authored
Avoids compiling baseline code when the function isn't able to be optimized by crankshaft. BUG=chromium:632289 Review-Url: https://codereview.chromium.org/2194453002 Cr-Commit-Position: refs/heads/master@{#38304}
-
alph authored
Remove the 'next' link for Code, JSFunction, and Context. Review-Url: https://codereview.chromium.org/2209673002 Cr-Commit-Position: refs/heads/master@{#38303}
-
mstarzinger authored
R=danno@chromium.org BUG=chromium:608675 Review-Url: https://codereview.chromium.org/2207553002 Cr-Commit-Position: refs/heads/master@{#38302}
-
klaasb authored
Add a new bytecode to create a function context. The handler inlines FastNewFunctionContextStub. BUG=v8:4280 LOG=n Review-Url: https://codereview.chromium.org/2187523002 Cr-Commit-Position: refs/heads/master@{#38301}
-
jgruber authored
If ToObject() has thrown, do not throw another exception. The reason this does not currently fail is that 1. Errors used to be created through JS natives, and 2. the JSEntryStub clears any pending exceptions. So, when calling into JS to create the new error, the old exception was cleared. BUG=5259 Review-Url: https://codereview.chromium.org/2208683002 Cr-Commit-Position: refs/heads/master@{#38300}
-
cbruni authored
This new API function allows for setting several internal fields at once. By avoiding crossing the API each time for setting an internal property we can speed up the wrapper creation which has to set two fields for every new object. BUG=chromium:630217 Review-Url: https://codereview.chromium.org/2185963002 Cr-Commit-Position: refs/heads/master@{#38299}
-
hpayer authored
BUG=chromium:630386 Review-Url: https://codereview.chromium.org/2210493002 Cr-Commit-Position: refs/heads/master@{#38298}
-
caitp authored
Use LoadInstanceType() rather than LoadMapInstanceType(), as this part of the code is operating on a JS-accessible HeapObject rather than a Map. BUG=chromium:633883, v8:5162 R=mstarzinger@chromium.org, bmeurer@chromium.org Review-Url: https://codereview.chromium.org/2207903002 Cr-Commit-Position: refs/heads/master@{#38297}
-
jgruber authored
BUG= Review-Url: https://codereview.chromium.org/2210463002 Cr-Commit-Position: refs/heads/master@{#38296}
-
jgruber authored
BUG= Review-Url: https://codereview.chromium.org/2206183002 Cr-Commit-Position: refs/heads/master@{#38295}
-
jgruber authored
BUG= Review-Url: https://codereview.chromium.org/2206203002 Cr-Commit-Position: refs/heads/master@{#38294}
-
bbudge authored
LOG=N BUG=V8:5187 Review-Url: https://codereview.chromium.org/2205093002 Cr-Commit-Position: refs/heads/master@{#38293}
-
jgruber authored
A corresponding flag was added as well to help us find out what breaks when we do not clear pending exceptions on each JS entry. BUG=5259 Review-Url: https://codereview.chromium.org/2208663002 Cr-Commit-Position: refs/heads/master@{#38292}
-
jochen authored
This will allow for the background parser to parse inner functions BUG=v8:5215 R=marja@chromium.org,verwaest@chromium.org Review-Url: https://codereview.chromium.org/2198043002 Cr-Commit-Position: refs/heads/master@{#38291}
-
bmeurer authored
So far we treated SignedSmall and Signed32 feedback the same for number operations. However it would be beneficial to generate (a lot) less code if we only do a Smi check on the inputs instead of doing the full Smi + HeapNumber + conversion check that we need to do for Signed32 feedback. R=epertoso@chromium.org BUG=v8:4583 Review-Url: https://codereview.chromium.org/2207893002 Cr-Commit-Position: refs/heads/master@{#38290}
-
jgruber authored
BUG= Review-Url: https://codereview.chromium.org/2206573002 Cr-Commit-Position: refs/heads/master@{#38289}
-
mstarzinger authored
The helper class in question is no longer needed now that frame states representing the "before" state is not attached to nodes anymore. They are represented by appropriate {Checkpoint} nodes in the graph now. R=bmeurer@chromium.org BUG=v8:5021 Review-Url: https://codereview.chromium.org/2205243002 Cr-Commit-Position: refs/heads/master@{#38288}
-
cbruni authored
R=jkummerow@chromium.org BUG=chromium:630217 Review-Url: https://codereview.chromium.org/2201023004 Cr-Commit-Position: refs/heads/master@{#38287}
-
neis authored
In the parser, we desugar yield* with the help of a regular yield. One particular implementation detail of this desugaring is that when the user calls the generator's throw method, this throws an exception that we immediately catch. This exception should not be visible to the user, but through Devtools' "Pause on Caught Exceptions" feature it used to be. This CL extends the type of catch predictions with a new value for such internal exceptions and uses that for the offending try-catch statement in yield*. It instruments the debugger to _not_ trigger an exception event in that case. R=yangguo@chromium.org TBR=littledan@chromium.org BUG=v8:5218 Review-Url: https://codereview.chromium.org/2203803002 Cr-Commit-Position: refs/heads/master@{#38286}
-
alph authored
1. Do not mark code_cache as a weak container. 2. Support layout_descriptor field. Review-Url: https://codereview.chromium.org/2204133002 Cr-Commit-Position: refs/heads/master@{#38285}
-
epertoso authored
The MachineOperatorReducer was only reducing word32 expressions of the type x << y | x >>> (32 - y) (and variants) to the equivalent Word32Ror. This CL applies the same pattern-matching logic to Word32Xor. BUG= Review-Url: https://codereview.chromium.org/2199323003 Cr-Commit-Position: refs/heads/master@{#38284}
-
bmeurer authored
Move all the typing rules for unary and binary number operations to the OperationTyper and use them for both the regular Typer as well as the retyper that runs as part of SimplifiedLowering. R=epertoso@chromium.org Review-Url: https://codereview.chromium.org/2202883005 Cr-Commit-Position: refs/heads/master@{#38283}
-
mstarzinger authored
This completely removes the ability from nodes to point directly to the frame state representing their eager bailout point. All nodes now either have zero or one frame state inputs. These frame states can by now be found via checkpoints in the graph. R=bmeurer@chromium.org BUG=v8:5021 Review-Url: https://codereview.chromium.org/2020323004 Cr-Commit-Position: refs/heads/master@{#38282}
-
mlippautz authored
This avoids double accounting since we also have the call in the bottleneck. R=hpayer@chromium.org BUG= Review-Url: https://codereview.chromium.org/2206623003 Cr-Commit-Position: refs/heads/master@{#38281}
-
mstarzinger authored
This removes the frame state input representing the before-state from nodes having any int32 bitwise operator. Lowering that inserts number conversions of the inputs has to be disabled when deoptimization is enabled, because the frame state layout is no longer known. R=epertoso@chromium.org BUG=v8:5021,v8:4746 Review-Url: https://codereview.chromium.org/2194383004 Cr-Commit-Position: refs/heads/master@{#38280}
-
cbruni authored
We have a simple instantiation at hand if the new.target is from the same context, not the other way around. BUG=chromium:630217 Review-Url: https://codereview.chromium.org/2201113002 Cr-Commit-Position: refs/heads/master@{#38279}
-