- 17 Oct, 2016 33 commits
-
-
vogelheim authored
Using a global proxy (e.g. 'window.f', 'w.f' or 'this.f') is considerably slower than evaluating just 'f'. This CL aims to perform the necessary checks at compile time and inline the accesses. This is a follow-on CL to crrev.com/2369933005: - The initial upload is crrev.com/2369933005 + a rebase. - The remaining issues are the fixes requested by the reviewers on that CL. BUG=chromium:634276, chromium:654716 Committed: https://crrev.com/8f43d748272536117008aa6a1b53ea52126261c1 Review-Url: https://codereview.chromium.org/2403003002 Cr-Original-Commit-Position: refs/heads/master@{#40153} Cr-Commit-Position: refs/heads/master@{#40365}
-
mstarzinger authored
This makes the character escaping in the graph visualizer less generic but correct against the JSON spec. The spec has the following definition for valid characters within a double quoted string: char :: any-Unicode-character-except-"-or-\-or-control-character \" \\ \/ \b \f \n \r \t \u four-hex-digits R=bmeurer@chromium.org Review-Url: https://codereview.chromium.org/2421313002 Cr-Commit-Position: refs/heads/master@{#40364}
-
marja authored
We don't have an Isolate, so we cannot use it for retrieving data or calling the embedder's OOM handler. So just crash. BUG=5525 Review-Url: https://codereview.chromium.org/2427623002 Cr-Commit-Position: refs/heads/master@{#40363}
-
machenbach authored
Revert of [debug] Consistently use script from FrameMirror (patchset #3 id:40001 of https://codereview.chromium.org/2415073003/ ) Reason for revert: https://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2064/builds/10706 https://github.com/v8/v8/wiki/Blink-layout-tests Original issue's description: > [debug] Consistently use script from FrameMirror > > ... instead of getting it from the FunctionMirror. For WASM frames > (including asm.js -> WASM), the function is either unresolved or does > not contain the script. > > The added test case failed before this CL. > > R=kozyatinskiy@chromium.org, yangguo@chromium.org, titzer@chromium.org > BUG=v8:4203 > > Committed: https://crrev.com/ce32e2ffd835062d764f3c0ee6a32543417cb615 > Cr-Commit-Position: refs/heads/master@{#40348} TBR=kozyatinskiy@chromium.org,yangguo@chromium.org,titzer@chromium.org,clemensh@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:4203 Review-Url: https://codereview.chromium.org/2427633002 Cr-Commit-Position: refs/heads/master@{#40362}
-
heimbuef authored
This adds more useful information to the v8-heap-stats tool. BUG=v8:5489 Review-Url: https://codereview.chromium.org/2394213003 Cr-Commit-Position: refs/heads/master@{#40361}
-
bmeurer authored
R=mstarzinger@chromium.org Review-Url: https://codereview.chromium.org/2427583002 Cr-Commit-Position: refs/heads/master@{#40360}
-
leszeks authored
Adds a boolean flag to the liveness analysis which makes it also analyze the accumulator. This can help prevent the accumulator escaping loops, as well as decreasing the number of distinct state values nodes in the graph. The flag is a kind of ugly way to hack this in, however it is probably the simplest to add, and (more importantly) to remove once the AST graph builder is gone. I measure a 2.6% improvement on Mandreel on my x64 machine, and a ~2% improvement on Navier-Stokes. Other improvements are expected. Review-Url: https://codereview.chromium.org/2428503002 Cr-Commit-Position: refs/heads/master@{#40359}
-
ishell authored
BUG= Review-Url: https://codereview.chromium.org/2428473002 Cr-Commit-Position: refs/heads/master@{#40358}
-
rossberg authored
R=ahaas@chromium.org BUG= Review-Url: https://codereview.chromium.org/2414053002 Cr-Commit-Position: refs/heads/master@{#40357}
-
verwaest authored
BUG=v8:5209 Review-Url: https://codereview.chromium.org/2424693003 Cr-Commit-Position: refs/heads/master@{#40356}
-
cbruni authored
BUG=chromium:645378 Review-Url: https://codereview.chromium.org/2422143002 Cr-Commit-Position: refs/heads/master@{#40355}
-
jkummerow authored
RIP, handwritten KeyedLoadICStub, handwritten KeyedLoadIC_Megamorphic, and hydrogenized KeyedLoadGeneric! Review-Url: https://codereview.chromium.org/2424433002 Cr-Commit-Position: refs/heads/master@{#40354}
-
mstarzinger authored
This removes the {ParseInfo} constructor consuming a closure, replacing all uses to pass only the shared function info. The goal is to make the fact that parsing is independent of a concrete closure explicit. R=jochen@chromium.org BUG=v8:2206 Committed: https://crrev.com/3de42b3f224217ec88e4c609d3cf23fe06806dca Review-Url: https://codereview.chromium.org/2396963003 Cr-Original-Commit-Position: refs/heads/master@{#40083} Cr-Commit-Position: refs/heads/master@{#40353}
-
bmeurer authored
Apply the same strength reduction to the ChangeTaggedSignedToInt32 operator that we already have for ChangeTaggedToInt32. R=epertoso@chromium.org Review-Url: https://codereview.chromium.org/2428493002 Cr-Commit-Position: refs/heads/master@{#40352}
-
bmeurer authored
Once the escape analysis ran, it'll be harder to eliminate a bunch of checks (for example map checks, which would currently block escape analysis, but that's about to be fixed). Also the escape analysis will have a lot less stress after the load elimination, which takes care of redundant loads and checks already. R=mstarzinger@chromium.org BUG=v8:5448 Review-Url: https://codereview.chromium.org/2427533002 Cr-Commit-Position: refs/heads/master@{#40351}
-
jochen authored
R=machenbach@chromium.org,titzer@chromium.org,bmeurer@chromium.org,jgruber@chromium.org BUG= CQ_INCLUDE_TRYBOTS=master.tryserver.v8:v8_win_dbg,v8_mac_dbg;master.tryserver.chromium.android:android_arm64_dbg_recipe Review-Url: https://codereview.chromium.org/2416243002 Cr-Commit-Position: refs/heads/master@{#40350}
-
verwaest authored
BUG= Review-Url: https://codereview.chromium.org/2425633002 Cr-Commit-Position: refs/heads/master@{#40349}
-
clemensh authored
... instead of getting it from the FunctionMirror. For WASM frames (including asm.js -> WASM), the function is either unresolved or does not contain the script. The added test case failed before this CL. R=kozyatinskiy@chromium.org, yangguo@chromium.org, titzer@chromium.org BUG=v8:4203 Review-Url: https://codereview.chromium.org/2415073003 Cr-Commit-Position: refs/heads/master@{#40348}
-
marja authored
1) assertInstanceOf(o, Foo, Bar) used to produce this error message: Failure: expected <o> is not an instance of <Foo> but of < Bar>> found <undefined> Fixed: Failure: <o> is not an instance of <Foo> but of <Bar> 2) assertDoesNotThrow("throw 1") used to produce this error message: Failure: expected <threw an exception: > found <1> Fixed: Failure: threw an exception: 1 3) assertDoesNotThrow("...", SomeError) was not doing what you'd think it does, so removed the last parameter. BUG= Review-Url: https://codereview.chromium.org/2424743003 Cr-Commit-Position: refs/heads/master@{#40347}
-
titzer authored
[wasm] Add a Managed<T> wrapper class for allocating C++ classes that are deleted when the wrapper is garbage collected. Use sparingly! This doesn't add any really new functionality, other than making it more convenient to do this. This will primarily be used to wrap a WasmModule to be referenced from a JSObject that represents an instance. There is one WasmModule C++ object per parsed WasmModule, so this should not be more than a handful or a few dozen in well-behaved programs. R=rossberg@chromium.org,mlippautz@chromium.org BUG= Review-Url: https://codereview.chromium.org/2409173005 Cr-Commit-Position: refs/heads/master@{#40346}
-
sander authored
This is a fix for a regression that started ~6 months ago when https://codereview.chromium.org/1757013002 landed. This patch will remove the unnecessary Change/CallWithDescriptor/Change opcodes causing the regression. BUG=v8:5373 R=bmeurer@chromium.org Review-Url: https://codereview.chromium.org/2423923002 Cr-Commit-Position: refs/heads/master@{#40345}
-
bmeurer authored
Currently JSCreateLowering drops the type information for object literals, when inlining the JSCreateLiteralArray/Object nodes, which means we will not eliminate a couple of checks after the lowering. R=jarin@chromium.org Review-Url: https://codereview.chromium.org/2423913002 Cr-Commit-Position: refs/heads/master@{#40344}
-
verwaest authored
BUG=v8:5209 Review-Url: https://codereview.chromium.org/2423883002 Cr-Commit-Position: refs/heads/master@{#40343}
-
mstarzinger authored
This makes optimization of all class constructors (i.e. both base and derived) go through TurboFan. Note some class constructors containing Harmony language features (e.g. super constructor calls or accesses to the new.target value) were already going through TurboFan before. R=bmeurer@chromium.org BUG=v8:5458 Review-Url: https://codereview.chromium.org/2397723002 Cr-Commit-Position: refs/heads/master@{#40342}
-
danno authored
Utilize all opportunities to turn leas into adds. Review-Url: https://codereview.chromium.org/2418803002 Cr-Commit-Position: refs/heads/master@{#40341}
-
clemensh authored
When DevTools calls to JavaScript, it often ignores exceptions and just fails since no value was returned. The new --print-all-exceptions flag makes it easy to spot the location and the reason for the thrown exception. R=titzer@chromium.org Review-Url: https://codereview.chromium.org/2417743004 Cr-Commit-Position: refs/heads/master@{#40340}
-
bmeurer authored
R=jarin@chromium.org Review-Url: https://codereview.chromium.org/2425613002 Cr-Commit-Position: refs/heads/master@{#40339}
-
verwaest authored
BUG=v8:5424 Review-Url: https://codereview.chromium.org/2427503002 Cr-Commit-Position: refs/heads/master@{#40338}
-
bmeurer authored
In order to optimize super constructor calls with ES6 classes, we need some feedback for both the JSCallConstruct and the resulting JSCreate nodes in TurboFan. Both already optimize perfectly when the see nodes with JSFunction constants, so utilizing the existing CallIC machinery here, enables us to optimize the super constructor calls right now w/o a lot of effort. Note that there are probably better ways to track this information, for example we could do some tracking on the constructor functions; this will however require serious changes in TurboFan and the runtime, and would block progress on more important tasks. R=mythria@chromium.org BUG=v8:5517 Review-Url: https://codereview.chromium.org/2419423002 Cr-Commit-Position: refs/heads/master@{#40337}
-
neis authored
Also hide some implementation details behind abstract predicates and clean up the heap verifier functions. R=adamk@chromium.org BUG=v8:1569 Review-Url: https://codereview.chromium.org/2407183002 Cr-Commit-Position: refs/heads/master@{#40336}
-
bmeurer authored
In the JSCallReducer, recognize and inline calls to the __proto__ getter on the %ObjectPrototype%. R=yangguo@chromium.org BUG=chromium:655963 Review-Url: https://codereview.chromium.org/2421923002 Cr-Commit-Position: refs/heads/master@{#40335}
-
bmeurer authored
There are a couple of operators that can indeed produce Float32 representation, which we might end up using in a TaggedSigned context, so add the missing conversion (indirectly via Float64). BUG=chromium:656275 R=jarin@chromium.org Review-Url: https://codereview.chromium.org/2421193002 Cr-Commit-Position: refs/heads/master@{#40334}
-
v8-autoroll authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/08e8c31..5e4af51 Rolling v8/third_party/android_tools: https://chromium.googlesource.com/android_tools/+log/3d6ba29..25d57ea Rolling v8/third_party/catapult: https://chromium.googlesource.com/external/github.com/catapult-project/catapul/+log/07c81af..6087117 TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org Review-Url: https://codereview.chromium.org/2421183002 Cr-Commit-Position: refs/heads/master@{#40333}
-
- 16 Oct, 2016 1 commit
-
-
v8-autoroll authored
Rolling v8/third_party/catapult: https://chromium.googlesource.com/external/github.com/catapult-project/catapul/+log/c1cc028..07c81af TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org Review-Url: https://codereview.chromium.org/2423743002 Cr-Commit-Position: refs/heads/master@{#40332}
-
- 15 Oct, 2016 2 commits
-
-
marja authored
Revert of mjsunit: Fix the error message produced by assertInstanceof. (patchset #1 id:1 of https://codereview.chromium.org/2413153004/ ) Reason for revert: This is probably not working for falsey values. I cannot JavaScript :P Original issue's description: > mjsunit: Fix the error message produced by assertInstanceof. > > Used to be: > > Failure: expected <foo> is not an instance of <Bar> but of < Baz>> found <undefined> > > Should be: > > Failure: <foo> is not an instance of <Bar> but of <Baz> > > BUG= > > Committed: https://crrev.com/2a480eff395756f36eb0ae2fc0a573454b394268 > Cr-Commit-Position: refs/heads/master@{#40319} TBR=verwaest@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= Review-Url: https://codereview.chromium.org/2421033003 Cr-Commit-Position: refs/heads/master@{#40331}
-
v8-autoroll authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/ee1c1b5..08e8c31 Rolling v8/third_party/android_tools: https://chromium.googlesource.com/android_tools/+log/25d57ea..3d6ba29 Rolling v8/third_party/catapult: https://chromium.googlesource.com/external/github.com/catapult-project/catapul/+log/c73d4a1..c1cc028 TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org Review-Url: https://codereview.chromium.org/2414363003 Cr-Commit-Position: refs/heads/master@{#40330}
-
- 14 Oct, 2016 4 commits
-
-
gdeepti authored
Currently when memory size references are updated with zero initial memory during GrowMemory/Relocation of Instance objects, the bounds check does not take into account the size of memtype. R=titzer@chromium.org, bradnelson@chromium.org Committed: https://crrev.com/70416a2b360c0d993cffb48284b143d484d1e290 Review-Url: https://codereview.chromium.org/2416543002 Cr-Original-Commit-Position: refs/heads/master@{#40326} Cr-Commit-Position: refs/heads/master@{#40329}
-
gdeepti authored
Revert of [wasm] Fix bounds check for zero initial memory. (patchset #11 id:200001 of https://codereview.chromium.org/2416543002/ ) Reason for revert: Reverting because of failure on V8 Linux64 GC Stress http://build.chromium.org/p/client.v8/builders/V8%20Linux64%20GC%20Stress%20-%20custom%20snapshot/builds/8572 Original issue's description: > [wasm] Fix bounds check for zero initial memory. > > Currently when memory size references are updated with zero initial memory during GrowMemory/Relocation of Instance objects, the bounds check does not take into account the size of memtype. > > R=titzer@chromium.org, bradnelson@chromium.org > > Committed: https://crrev.com/70416a2b360c0d993cffb48284b143d484d1e290 > Cr-Commit-Position: refs/heads/master@{#40326} TBR=bradnelson@chromium.org,titzer@chromium.org,bradnelson@google.com,mtrofin@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review-Url: https://codereview.chromium.org/2416393002 Cr-Commit-Position: refs/heads/master@{#40328}
-
gsathya authored
If the catch prediction machinery in the middle of some async op, we shouldn't send invalid events to the debugger. Instead of sending events with an undefined id, we don't send them at all. Review-Url: https://codereview.chromium.org/2417093003 Cr-Commit-Position: refs/heads/master@{#40327}
-
gdeepti authored
Currently when memory size references are updated with zero initial memory during GrowMemory/Relocation of Instance objects, the bounds check does not take into account the size of memtype. R=titzer@chromium.org, bradnelson@chromium.org Review-Url: https://codereview.chromium.org/2416543002 Cr-Commit-Position: refs/heads/master@{#40326}
-