- 23 Feb, 2017 3 commits
-
-
ivica.bogosavljevic authored
Fix crashes in two tests cctest/test-wasm-interpreter-entry/TestArgumentPassing_AllTypes and cctest/test-wasm-interpreter-entry/TestArgumentPassing_float_double related to accessing double value through unaligned pointer. This issue is present on those architectures that do not support unaligned access. TEST=cctest/test-wasm-interpreter-entry/TestArgumentPassing_AllTypes, cctest/test-wasm-interpreter-entry/TestArgumentPassing_float_double BUG= Review-Url: https://codereview.chromium.org/2705253003 Cr-Commit-Position: refs/heads/master@{#43387}
-
v8-autoroll authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/8b6a679..2383361 Rolling v8/buildtools: https://chromium.googlesource.com/chromium/buildtools/+log/a7cc7a3..7e53759 Rolling v8/test/wasm-js: https://chromium.googlesource.com/external/github.com/WebAssembly/spec/+log/bfb1fc4..1e5c9c4 Rolling v8/third_party/catapult: https://chromium.googlesource.com/external/github.com/catapult-project/catapult/+log/d9036c9..56214f6 Rolling v8/third_party/icu: https://chromium.googlesource.com/chromium/deps/icu/+log/9cd2828..450be73 Rolling v8/tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang/+log/8da96ea..9982bd3 TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org Change-Id: Iaedc4e09880836813a74a374f912e891c1769dc1 Reviewed-on: https://chromium-review.googlesource.com/446597Reviewed-by: v8 autoroll <v8-autoroll@chromium.org> Commit-Queue: v8 autoroll <v8-autoroll@chromium.org> Cr-Commit-Position: refs/heads/master@{#43386}
-
kozyatinskiy authored
With inline breakpoints DevTools are ready for break position aligned breakpoints instead of statement aligned. BUG=chromium:695236 R=dgozman@chromium.org,yangguo@chromium.org Review-Url: https://codereview.chromium.org/2709263002 Cr-Commit-Position: refs/heads/master@{#43385}
-
- 22 Feb, 2017 26 commits
-
-
bakkot authored
This implements the proposal at https://github.com/tc39/proposal-template-literal-revision staged behind a flag --harmony-template-escapes. The proposal allows invalid octal, unicode, and hexadecimal escape sequences to appear in tagged template literals, instead of being a syntax error. These have a 'cooked' value of 'undefined', but are still accessible through the 'raw' property. BUG=v8:5546 Review-Url: https://codereview.chromium.org/2665513002 Cr-Commit-Position: refs/heads/master@{#43384}
-
titzer authored
R=mtrofin@chromium.org BUG=chromium:575167,chromium:694657 Review-Url: https://codereview.chromium.org/2709753003 Cr-Original-Commit-Position: refs/heads/master@{#43368} Committed: https://chromium.googlesource.com/v8/v8/+/c8329253ea345e06a923f7800f96f4ef59262997 Review-Url: https://codereview.chromium.org/2709753003 Cr-Commit-Position: refs/heads/master@{#43383}
-
bjaideep authored
Port 73d45c96 Original Commit Message: With this CL the out-of-line code of TrapIf will call a builtin instead of doing a direct runtime call, which is cheaper. In the best case, the out-of-line code now consists of a single call instruction. The builtin will load the trapID and then call the runtime to throw a trap. R=ahaas@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Review-Url: https://codereview.chromium.org/2713433003 Cr-Commit-Position: refs/heads/master@{#43382}
-
littledan authored
Also drive-by naming fix from the previous patch. R=binji Review-Url: https://codereview.chromium.org/2702153005 Cr-Commit-Position: refs/heads/master@{#43381}
-
bjaideep authored
Port 3f303da2 R=yangguo@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Review-Url: https://codereview.chromium.org/2672813002 Cr-Original-Commit-Position: refs/heads/master@{#42898} Review-Url: https://codereview.chromium.org/2704303006 Cr-Commit-Position: refs/heads/master@{#43380}
-
Ross McIlroy authored
During scavanges multiple different ThinStrings can end up pointing to the same internalized string. This means that the same key/value pair can be re-inserted during rehash operations, so the values_[index] might not be null when inserting the value. BUG=chromium:695029 Change-Id: I5f693586bb60d5a2bbe89f05cb5b7f5fe26a23b2 Reviewed-on: https://chromium-review.googlesource.com/446380Reviewed-by: Ben Titzer <titzer@chromium.org> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#43379}
-
Michael Lippautz authored
Have clear prologue and epilogue steps. For a minor MC we can then templatize the prologue without changing the actual evacuation routine. BUG=chromium:651354 Change-Id: Ia238748e90bc6b616cd813d31198de182fe11498 Reviewed-on: https://chromium-review.googlesource.com/445898Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Hannes Payer <hpayer@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#43378}
-
jkummerow authored
Convenience wrapper around building with gn/ninja and running tests. Follows Makefile syntax, but is more flexible; see --help. Pro tip: alias gm="tools/dev/gm.py" NOTRY=true Review-Url: https://codereview.chromium.org/2713663002 Cr-Commit-Position: refs/heads/master@{#43377}
-
Michael Starzinger authored
This fixes a corner-case where the call reduction of the aforementioned getter did not simulate the {ToObject} conversion of the receiver value as required by the spec. This caused the wrong prototype to be constant promoted (i.e. {null} instead of wrapper object prototype). R=jarin@chromium.org TEST=mjsunit/regress/regress-crbug-694709 BUG=chromium:694709 Change-Id: Idf3a37071949d9ddaf5ef43974570c06fd31c0c9 Reviewed-on: https://chromium-review.googlesource.com/445818Reviewed-by: Igor Sheludko <ishell@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#43376}
-
Michael Starzinger authored
This reverts commit 14de196a. Reason for revert: Tanks Mandreel, fix is in flight, but we want a stable baseline first. Will reland again next week. Original change's description: > [turbofan] Handle comparison operations in early lowering. > > This handles relational comparison operations (no equality yet) having > number feedback during the early type-hint lowering (i.e. during graph > construction). > > R=bmeurer@chromium.org > > Change-Id: I0ac1539f85de1770c3d518855754550932f6fcd3 > Reviewed-on: https://chromium-review.googlesource.com/445716 > Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> > Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> > Cr-Commit-Position: refs/heads/master@{#43365} TBR=mstarzinger@chromium.org,jarin@chromium.org,bmeurer@chromium.org,rmcilroy@chromium.org,v8-reviews@googlegroups.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: I103d976c9b9b73ca67af6f6a32ea47a52d04c123 Reviewed-on: https://chromium-review.googlesource.com/446358Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#43375}
-
Ross McIlroy authored
Will be used for UMA to track time spent optimizing code in the wild. Change-Id: Ibc01540552eac4cb9224f1cb6cc11a55aae5834d Reviewed-on: https://chromium-review.googlesource.com/444345Reviewed-by: Michael Stanton <mvstanton@chromium.org> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#43374}
-
machenbach authored
Revert of [wasm] Remove support for experimental version 0xD. (patchset #3 id:40001 of https://codereview.chromium.org/2709753003/ ) Reason for revert: Breaks layout tests: https://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2064/builds/13730 Original issue's description: > [wasm] Remove support for experimental version 0xD. > > R=mtrofin@chromium.org > BUG=chromium:575167,chromium:694657 > > Review-Url: https://codereview.chromium.org/2709753003 > Cr-Commit-Position: refs/heads/master@{#43368} > Committed: https://chromium.googlesource.com/v8/v8/+/c8329253ea345e06a923f7800f96f4ef59262997 TBR=ahaas@chromium.org,mtrofin@chromium.org,titzer@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:575167,chromium:694657 Review-Url: https://codereview.chromium.org/2706303004 Cr-Commit-Position: refs/heads/master@{#43373}
-
Ross McIlroy authored
This reverts commit 087e95ba. Reason for revert: <INSERT REASONING HERE> Original change's description: > [Compiler] Use IdentityMap to store jobs in CompilerDispatcher. > > Stores jobs in an IdentityMap keyed by their SharedFunctionInfo to enable > fast checking of whether a job is enqueued. > > BUG=v8:5203 > > Change-Id: I6c37972093515a27077f79594cad27e32e1a4e7c > Reviewed-on: https://chromium-review.googlesource.com/444768 > Reviewed-by: Jochen Eisinger <jochen@chromium.org> > Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> > Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> > Cr-Commit-Position: refs/heads/master@{#43370} TBR=rmcilroy@chromium.org,jochen@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:5203 Change-Id: I5d1101bdae6939378dad595b26698fe2aaaad35e Reviewed-on: https://chromium-review.googlesource.com/446357Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#43372}
-
yangguo authored
R=jgruber@chromium.org BUG=v8:5821 Review-Url: https://codereview.chromium.org/2695933005 Cr-Commit-Position: refs/heads/master@{#43371}
-
Ross McIlroy authored
Stores jobs in an IdentityMap keyed by their SharedFunctionInfo to enable fast checking of whether a job is enqueued. BUG=v8:5203 Change-Id: I6c37972093515a27077f79594cad27e32e1a4e7c Reviewed-on: https://chromium-review.googlesource.com/444768Reviewed-by: Jochen Eisinger <jochen@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#43370}
-
jgruber authored
This CL allows the String.p.indexOf fast path to handle one-byte external strings (in addition to one-byte sequential strings). BUG= Review-Url: https://codereview.chromium.org/2705193002 Cr-Commit-Position: refs/heads/master@{#43369}
-
titzer authored
R=mtrofin@chromium.org BUG=chromium:575167,chromium:694657 Review-Url: https://codereview.chromium.org/2709753003 Cr-Commit-Position: refs/heads/master@{#43368}
-
jgruber authored
This should improve readability, code generation, and ensure that we verify such locations are never reached. BUG= Review-Url: https://codereview.chromium.org/2705163005 Cr-Commit-Position: refs/heads/master@{#43367}
-
Andreas Haas authored
With this CL the out-of-line code of TrapIf will call a builtin instead of doing a direct runtime call, which is cheaper. In the best case, the out-of-line code now consists of a single call instruction. The builtin will load the trapID and then call the runtime to throw a trap. R=titzer@chromium.org, clemensh@chromium.org Change-Id: I8a75ba09f40236a3d5cbdc17c1317baf0a3c915a Reviewed-on: https://chromium-review.googlesource.com/445937 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by: Ben Titzer <titzer@chromium.org> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#43366}
-
Michael Starzinger authored
This handles relational comparison operations (no equality yet) having number feedback during the early type-hint lowering (i.e. during graph construction). R=bmeurer@chromium.org Change-Id: I0ac1539f85de1770c3d518855754550932f6fcd3 Reviewed-on: https://chromium-review.googlesource.com/445716Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#43365}
-
Peter Marshall authored
This is in preparation for porting TypedArrayInitialize to CSA. BUG=v8:5977 Change-Id: I8b4b4bc7a30f3d0dedf85081bb47ec613c7fce52 Reviewed-on: https://chromium-review.googlesource.com/445259 Commit-Queue: Peter Marshall <petermarshall@chromium.org> Reviewed-by: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#43364}
-
yangguo authored
R=jgruber@chromium.org, kozyatinskiy@chromium.org, pfeldman@chromium.org BUG=v8:5808 Review-Url: https://codereview.chromium.org/2700743002 Cr-Commit-Position: refs/heads/master@{#43363}
-
Ross McIlroy authored
In order to use the IdentityMap in the CompilerDispatcher the following support is added: - Support for deleting entries - Support for iterating through the entries. - Support for AllocationPolicy to enable non-zone allocation of backing stores. - Also refactors the code a bit. BUG=v8:5203 Change-Id: I8b616cba8ae9dc22a7f4d76070fbb318c4edc80d Reviewed-on: https://chromium-review.googlesource.com/444409Reviewed-by: Ben Titzer <titzer@chromium.org> Reviewed-by: Jochen Eisinger <jochen@chromium.org> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#43362}
-
dcheng authored
v8 allows the embedder to specify a global template to use when creating a new context. However, v8 does not use the supplied template directly when creating the global proxy: it creates a unique template for each global proxy. However, this is problematic for remote contexts: functions cannot use strict receiver checks with the remote context, as the global template will never match the global proxy. To fix this, remote contexts now also include a remote global object in the prototype chain that is instantiated with the global template. This mirrors the way the global proxy is configured for a full v8 context, and allows strict receiver checks to work. BUG=527190 Review-Url: https://codereview.chromium.org/2677653002 Cr-Commit-Position: refs/heads/master@{#43361}
-
yangguo authored
R=mstarzinger@chromium.org Review-Url: https://codereview.chromium.org/2650193002 Cr-Original-Commit-Position: refs/heads/master@{#42892} Committed: https://chromium.googlesource.com/v8/v8/+/eef855a1dc956e9db03ec09abca1d732d379861b Review-Url: https://codereview.chromium.org/2650193002 Cr-Commit-Position: refs/heads/master@{#43360}
-
v8-autoroll authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/769428e..8b6a679 Rolling v8/test/wasm-js: https://chromium.googlesource.com/external/github.com/WebAssembly/spec/+log/193fcb4..bfb1fc4 Rolling v8/third_party/catapult: https://chromium.googlesource.com/external/github.com/catapult-project/catapult/+log/71c4c9a..d9036c9 Rolling v8/tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang/+log/799a6a3..8da96ea TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org Change-Id: I3128c72b8d2760996a652be6e52fbc0831fdc686 Reviewed-on: https://chromium-review.googlesource.com/446156Reviewed-by: v8 autoroll <v8-autoroll@chromium.org> Commit-Queue: v8 autoroll <v8-autoroll@chromium.org> Cr-Commit-Position: refs/heads/master@{#43359}
-
- 21 Feb, 2017 11 commits
-
-
Caitlin Potter authored
This is a speculative fix, but I believe it might work. Idea is to keep `start_from` as a double while establishing an appropriate index to begin iteration. This should keep -Infinity intact rather than converting it to a positive high value, which would break the algorithm. This is similar to what had been implemented on the fast path before it was changed to send non-Smis to the slow path. BUG=v8:5986 R=bmeurer@chromium.org, cbruni@chromium.org, machenbach@chromium.org, adamk@chromium.org Change-Id: I9965fd2e75a8972f3f1c7a18e51bd580030a66ea Reviewed-on: https://chromium-review.googlesource.com/445857 Commit-Queue: Caitlin Potter <caitp@igalia.com> Reviewed-by: Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/master@{#43358}
-
binji authored
Review-Url: https://codereview.chromium.org/2658933004 Cr-Commit-Position: refs/heads/master@{#43357}
-
bjaideep authored
Port fd596007 Original Commit Message: Use an opaque format for the frame type marker on the stack, where the marker is simply shifted left by 1 instead of being a Smi. This allows us to generate simpler code for frame initialisation, as we can push a smaller value, decreasing the prologue by 4 bytes and one instruction. R=leszeks@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Review-Url: https://codereview.chromium.org/2709483007 Cr-Commit-Position: refs/heads/master@{#43356}
-
jyan authored
R=joransiu@ca.ibm.com, bjaideep@ca.ibm.com, machenbach@chromium.org, jkummerow@chromium.org, jochen@chromium.org BUG= Review-Url: https://codereview.chromium.org/2707103002 Cr-Commit-Position: refs/heads/master@{#43355}
-
adamk authored
This is such a mis-use of the API that it's important to fail fast: this patch was prompted by a bug report from a Node.js developer trying to use CompileModule() without passing a properly module-tagged ScriptOrigin. R=jochen@chromium.org, neis@chromium.org BUG=v8:1569 Review-Url: https://codereview.chromium.org/2695713014 Cr-Commit-Position: refs/heads/master@{#43354}
-
clemensh authored
Test the wasm interpreter entry stub by creating two wasm functions A and B, make A pass arguments to B, then redirect B to be executed in the interpreter. Test different number and types or arguments. BUG=v8:5822 R=titzer@chromium.org Review-Url: https://codereview.chromium.org/2651793003 Cr-Commit-Position: refs/heads/master@{#43353}
-
clemensh authored
The limit needs to be checked before casting the length to int in ModuleWireBytes. R=titzer@chromium.org BUG=694433 Review-Url: https://codereview.chromium.org/2705233002 Cr-Commit-Position: refs/heads/master@{#43352}
-
ulan authored
In the upcoming concurrent marking protocol the main thread will have to mark objects before performing unsafe layout change. This patch is an experiment for evaluating memory the impact of marking an object on layout change. BUG=chromium:694255 Review-Url: https://codereview.chromium.org/2706213002 Cr-Commit-Position: refs/heads/master@{#43351}
-
mtrofin authored
Native resources allocated by v8, as internal implementation detail, and held by a Foreign object, must be released when the Isolate is torn down. Example: wasm::WasmModule allocated by wasm compile, and held throughout the lifetime of the WebAssembly.Module object. This change: - Extends Managed<CppType> with a mechanism for doing just that - Separates the role of Managed<CppType> to be strictly an owner of the lifetime of the native resource. For cases where that's not desirable, we can polymorphically use Foregin. - moves managed.h out of wasm, since it's not wasm-specific. BUG=680065 Review-Url: https://codereview.chromium.org/2676513008 Cr-Commit-Position: refs/heads/master@{#43350}
-
Michael Achenbach authored
This should make http://crbug.com/694535 quiet. BUG=chromium:694535 NOTRY=true TBR=mstarzinger@chromium.org,jarin@chromium.org Change-Id: I268c810662b274b45842aa22d840330b5c984277 Reviewed-on: https://chromium-review.googlesource.com/445645Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#43349}
-
bbudge authored
- Adds new machine types SimdBool4/8/16 for the different boolean vector types. - Adds a kSimdMaskRegisters flag for each platform. These are all false for now. - Removes Create, ExtractLane, ReplaceLane, Equal, NotEqual, Swizzle and Shuffle opcodes from the Boolean types. These are unlikely to be well supported natively, and can be synthesized using Select. - Changes the signature of Relational opcodes to return boolean vectors. - Changes the signature of Select opcodes to take boolean vectors. - Updates the ARM implementation of Relational and Select opcodes. LOG=N BUG=v8:4124 Review-Url: https://codereview.chromium.org/2700813002 Cr-Commit-Position: refs/heads/master@{#43348}
-