- 25 Aug, 2015 20 commits
-
-
rossberg authored
R=adamk@chromium.org BUG=v8:2160 LOG=N Review URL: https://codereview.chromium.org/1311163002 Cr-Commit-Position: refs/heads/master@{#30361}
-
bradnelson authored
These were missed by the previous tests, uncovered in another context. BUG= https://code.google.com/p/v8/issues/detail?id=4203 TEST=test-ast-expression-visitor R=rossberg@chromium.org,titzer@chromium.org LOG=N Review URL: https://codereview.chromium.org/1316633002 Cr-Commit-Position: refs/heads/master@{#30360}
-
hpayer authored
BUG=524425 LOG=n Review URL: https://codereview.chromium.org/1314903002 Cr-Commit-Position: refs/heads/master@{#30359}
-
mstarzinger authored
R=mlippautz@chromium.org Review URL: https://codereview.chromium.org/1304873006 Cr-Commit-Position: refs/heads/master@{#30358}
-
mtrofin authored
This change encompasses what is necessary to enable stack checks in loops without suffering large regressions. Primarily, it consists of a new mechanism for dealing with deferred blocks by "splintering", rather than splitting, inside deferred blocks. My initial change was splitting along deferred block boundaries, but the regression introduced by stackchecks wasn't resolved conclusively. After investigation, it appears that just splitting ranges along cold block boundaries leads to a greater opportunity for moves on the hot path, hence the suboptimal outcome. The alternative "splinters" ranges rather than splitting them. While splitting creates 2 ranges and links them (parent-child), in contrast, splintering creates a new independent range with no parent-child relation to the original. The original range appears as if it has a liveness hole in the place of the splintered one. All thus obtained ranges are then register allocated with no change to the register allocator. The splinters (cold blocks) do not conflict with the hot path ranges, by construction. The hot path ones have less pressure to split, because we remove a source of conflicts. After allocation, we merge the splinters back to their original ranges and continue the pipeline. We leverage the previous changes made for deferred blocks (determining where to spill, for example). Review URL: https://codereview.chromium.org/1305393003 Cr-Commit-Position: refs/heads/master@{#30357}
-
hpayer authored
BUG= Review URL: https://codereview.chromium.org/1313083002 Cr-Commit-Position: refs/heads/master@{#30356}
-
mstarzinger authored
R=mlippautz@chromium.org Review URL: https://codereview.chromium.org/1317553002 Cr-Commit-Position: refs/heads/master@{#30355}
-
rmcilroy authored
BUG=v8:4280 LOG=N Review URL: https://codereview.chromium.org/1308863004 Cr-Commit-Position: refs/heads/master@{#30354}
-
bbudge authored
Adds Uint32x4, Uint16x8, and Uint8x16 types. Adds all functions in the current spec, except for loads and stores. LOG=Y BUG=v8:4124 Committed: https://crrev.com/4be6d37fd1ad0a6e0ea37da8863ae5169c2b89ba Cr-Commit-Position: refs/heads/master@{#30322} Review URL: https://codereview.chromium.org/1294513004 Cr-Commit-Position: refs/heads/master@{#30353}
-
rmcilroy authored
Adds implementations and tests for the following bytecodes: - Add - Sub - Mul - Div - Mod Also adds the Mod bytecode and adds support to BytecodeGenerator and BytecodeArrayBuilder to enable it's use. The current bytecodes always call through to the JS builtins. This also adds LoadObjectField and CallJSBuiltin operators to the InterpreterAssembler. BUG=v8:4280 LOG=N Review URL: https://codereview.chromium.org/1300813005 Cr-Commit-Position: refs/heads/master@{#30352}
-
hablich authored
Revert of Moving ArraySplice Builtin to ElementsAccessor (patchset #8 id:140001 of https://codereview.chromium.org/1293683005/ ) Reason for revert: Fails layout tests: http://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2032/builds/1450 Original issue's description: > - remove the Backing-Store specific code from builtins.cc and put it in elements.cc. > - adding tests to improve coverage of the splice method > > BUG= > > Committed: https://crrev.com/8533d4b5433d3a9e9fb1015f206997bd6d869fe3 > Cr-Commit-Position: refs/heads/master@{#30269} > > Committed: https://crrev.com/07a4a6cb8e2ab940b28a7151a925c796da023524 > Cr-Commit-Position: refs/heads/master@{#30326} TBR=mvstanton@chromium.org,cbruni@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= Review URL: https://codereview.chromium.org/1315823004 Cr-Commit-Position: refs/heads/master@{#30351}
-
cbruni authored
Revert of Array.prototype.unshift builtin improvements (patchset #3 id:40001 of https://codereview.chromium.org/1311343002/ ) Reason for revert: https://codereview.chromium.org/1315823004/ Original issue's description: > Array.prototype.unshift builtin improvements > > Moving unshift to ElementAccessor and increasing the range of arguments > handled directly in C++, namely directly supporting FastDoubleElementsKind. > This should yield a factor 19 speedup for unshift on fast double arrays. > > BUG= > > Committed: https://crrev.com/bf6764e6c1197e50ae148755488307a423b1d9b4 > Cr-Commit-Position: refs/heads/master@{#30347} TBR=yangguo@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= Review URL: https://codereview.chromium.org/1311363003 Cr-Commit-Position: refs/heads/master@{#30350}
-
mlippautz authored
Moves the GCCallbackflags where they belong, i.e., {Heap}, and gets rid of IncrementalMarking::Start() callsites. BUG= Review URL: https://codereview.chromium.org/1314853002 Cr-Commit-Position: refs/heads/master@{#30349}
-
titzer authored
The PLACEHOLDER code kind is used when compiling a code object that has direct calls to other code objects, but those other code objects do not yet exist because they have not yet been compiled. It serves as a placeholder to break the cycle, e.g. in WASM. R=yangguo@chromium.org BUG= Review URL: https://codereview.chromium.org/1308393003 Cr-Commit-Position: refs/heads/master@{#30348}
-
cbruni authored
Moving unshift to ElementAccessor and increasing the range of arguments handled directly in C++, namely directly supporting FastDoubleElementsKind. This should yield a factor 19 speedup for unshift on fast double arrays. BUG= Review URL: https://codereview.chromium.org/1311343002 Cr-Commit-Position: refs/heads/master@{#30347}
-
rossberg authored
...in canary. This reverts commit c75af232. R=hablich@chromium.org BUG= Review URL: https://codereview.chromium.org/1319443002 Cr-Commit-Position: refs/heads/master@{#30346}
-
mlippautz authored
Followup to https://codereview.chromium.org/1288683005 BUG=chromium:521946 LOG=N Review URL: https://codereview.chromium.org/1313023002 Cr-Commit-Position: refs/heads/master@{#30345}
-
mlippautz authored
BUG= Review URL: https://codereview.chromium.org/1313513003 Cr-Commit-Position: refs/heads/master@{#30344}
-
bmeurer authored
The HUnaryMathOperation cannot be eliminated in general, because the spec requires a ToNumber conversion on the input, which is observable of course. BUG=v8:4389 LOG=y Review URL: https://codereview.chromium.org/1307413003 Cr-Commit-Position: refs/heads/master@{#30343}
-
bmeurer authored
The previous hack with HInstanceOfKnownGlobal was not only slower, but also very brittle and required a lot of weird hacks to support it. And what's even more important it wasn't even correct (because a map check on the lhs is never enough for instanceof). The new implementation provides a sane runtime implementation for InstanceOf plus a fast case in the InstanceOfStub, combined with a proper specialization in the case of a known global in CrankShaft, which does only the prototype chain walk (coupled with a code dependency on the known global). As a drive-by-fix: Also fix the incorrect Object.prototype.isPrototypeOf implementation. BUG=v8:4376 LOG=y Review URL: https://codereview.chromium.org/1304633002 Cr-Commit-Position: refs/heads/master@{#30342}
-
- 24 Aug, 2015 20 commits
-
-
bbudge authored
Adds the flag to the test configuration so we aren't just testing the polyfill. Fixes some number conversion in native fromFloat32x4 function that now fails. LOG=N BUG=v8:4124 Review URL: https://codereview.chromium.org/1312703003 Cr-Commit-Position: refs/heads/master@{#30341}
-
littledan authored
The ES2015 specification for switch statements 13.12.11 specifies that they get their own lexical scope. This patch introduces such a scope through a complex desugaring in terms of blocks, done so that Crankshaft does not have to be updated to support multiple constructs providing scopes. Recommitting this patch after a bug fix in Crankshaft to allow a desugaring with certain elements missing a source location: https://codereview.chromium.org/1313443002 BUG=v8:4377 LOG=Y R=adamk Review URL: https://codereview.chromium.org/1309163003 Cr-Commit-Position: refs/heads/master@{#30340}
-
domenic authored
Intent to ship: https://groups.google.com/d/msg/v8-users/-a8_8cb6FRI/trjyB5bACQAJ BUG=v8:3575 R=adamk@chromium.org, rossberg@chromium.org LOG=Y CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1295543003 Cr-Commit-Position: refs/heads/master@{#30339}
-
rossberg authored
R=adamk@chromium.org, wingo@igalia.com BUG=v8:811 LOG=N Review URL: https://codereview.chromium.org/1314543005 Cr-Commit-Position: refs/heads/master@{#30338}
-
littledan authored
This patch translates RelocInfo::kNoPosition to SourcePosition::Unknown() in constructing the Hydrogen graph from the parser's output. The translation is done to increase the flexibility of the parser to desugar more things that don't have natural locations. R=bmeurer@chromium.org BUG=v8:4377 LOG=N Review URL: https://codereview.chromium.org/1313443002 Cr-Commit-Position: refs/heads/master@{#30337}
-
bradnelson authored
Adding an AstExpressionVisitor to touch each expression node in an AST. Adding TypingReseter to clear the slate after a failed asm.js validation that has set partial typing information. Adding a ExpressionTypeCollector to walk the expressions in an AST and emit them as a string for testing. Adding tests of the above. LOG=N BUG= https://code.google.com/p/v8/issues/detail?id=4203 TEST=test-typing-reset,test-ast-expression-visitor R=rossberg@chromium.org,titzer@chromium.org Review URL: https://codereview.chromium.org/1288773007 Cr-Commit-Position: refs/heads/master@{#30336}
-
hpayer authored
BUG=chromium:507211 LOG=n Review URL: https://codereview.chromium.org/1306183003 Cr-Commit-Position: refs/heads/master@{#30335}
-
mstarzinger authored
The simulator uses a separate JS stack, exhaustion of the C stack however is not caught by JS limit checks. This change now lowers the limit of the JS stack accordingly on function calls. R=mvstanton@chromium.org BUG=chromium:522380 TEST=mjsunit/regress/regress-crbug-522380 LOG=n Review URL: https://codereview.chromium.org/1314623002 Cr-Commit-Position: refs/heads/master@{#30334}
-
mstarzinger authored
R=yangguo@chromium.org Review URL: https://codereview.chromium.org/1310253002 Cr-Commit-Position: refs/heads/master@{#30333}
-
rossberg authored
...until the hotfix has baked. R=hablich@chromium.org BUG=v8:4211 LOG=Y Review URL: https://codereview.chromium.org/1310243002 Cr-Commit-Position: refs/heads/master@{#30332}
-
yangguo authored
Omitting test case because it would be brittle and become useless soon. R=mlippautz@chromium.org BUG=chromium:523453 LOG=N Review URL: https://codereview.chromium.org/1312763002 Cr-Commit-Position: refs/heads/master@{#30331}
-
yangguo authored
R=cbruni@chromium.org BUG=chromium:523308 LOG=N Review URL: https://codereview.chromium.org/1314543004 Cr-Commit-Position: refs/heads/master@{#30330}
-
mlippautz authored
This reverts commit 1345f811. BUG= Review URL: https://codereview.chromium.org/1303333005 Cr-Commit-Position: refs/heads/master@{#30329}
-
yangguo authored
R=rossberg@chromium.org BUG=chromium:523543 LOG=N Review URL: https://codereview.chromium.org/1310213002 Cr-Commit-Position: refs/heads/master@{#30328}
-
mlippautz authored
Order is now: - forward declarations - enums - nested classes - static consts - constructors - static methods - regular methods - members fields Bonus: - Allocate*() methods are grouped together - Sections BUG= Review URL: https://codereview.chromium.org/1312503004 Cr-Commit-Position: refs/heads/master@{#30327}
-
cbruni authored
- adding tests to improve coverage of the splice method BUG= Committed: https://crrev.com/8533d4b5433d3a9e9fb1015f206997bd6d869fe3 Cr-Commit-Position: refs/heads/master@{#30269} Review URL: https://codereview.chromium.org/1293683005 Cr-Commit-Position: refs/heads/master@{#30326}
-
rmcilroy authored
Passes the current context to bytecode interpreter handlers. This is held in the context register on all architectures except for ia32 where there are too few registers and it is instead spilled to the stack. Also changes Load/StoreRegister to use kMachAnyTagged representation since they should only ever hold tagged values. BUG=v8:4280 LOG=N Review URL: https://codereview.chromium.org/1294133004 Cr-Commit-Position: refs/heads/master@{#30325}
-
rmcilroy authored
Replaces all instances of the code which computed the debug name of a stub or function with calls to CompileInfo::GetDebugName instead. Also: - Removes useless parameter on CodeStub::GetMajorName - Removes FakeStubForTesting since it is no longer required - Adds CompileInfo::ShouldEnsureSpaceForLazyDeopt() to replace unclear calls to IsStub(). Review URL: https://codereview.chromium.org/1297203002 Cr-Commit-Position: refs/heads/master@{#30324}
-
hablich authored
Revert of [simd.js] Update to spec version 0.8.2. (patchset #11 id:200001 of https://codereview.chromium.org/1294513004/ ) Reason for revert: Fails tests: http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20deadcode/builds/5073/steps/steps/logs/stdio Original issue's description: > [simd.js] Update to spec version 0.8.2. > > Adds Uint32x4, Uint16x8, and Uint8x16 types. > Adds all functions in the current spec, except for loads and stores. > > LOG=Y > BUG=v8:4124 > > Committed: https://crrev.com/4be6d37fd1ad0a6e0ea37da8863ae5169c2b89ba > Cr-Commit-Position: refs/heads/master@{#30322} TBR=littledan@chromium.org,bbudge@google.com,bmeurer@chromium.org,hpayer@chromium.org,bbudge@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:4124 Review URL: https://codereview.chromium.org/1309513005 Cr-Commit-Position: refs/heads/master@{#30323}
-
bbudge authored
Adds Uint32x4, Uint16x8, and Uint8x16 types. Adds all functions in the current spec, except for loads and stores. LOG=Y BUG=v8:4124 Review URL: https://codereview.chromium.org/1294513004 Cr-Commit-Position: refs/heads/master@{#30322}
-