- 21 Mar, 2017 37 commits
-
-
Igor Sheludko authored
Second bulk of changes. BUG=v8:6116 Change-Id: I6297c4e3e1c0230a96dc6197691a54c07cc61c88 Reviewed-on: https://chromium-review.googlesource.com/457320 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#43995}
-
mtrofin authored
Reland of [wasm] Transferrable modules (patchset #1 id:1 of https://codereview.chromium.org/2762163002/ ) Reason for revert: Temporarily disabled tests on chromium side (https://codereview.chromium.org/2764933002) Original issue's description: > Revert of [wasm] Transferrable modules (patchset #13 id:280001 of https://codereview.chromium.org/2748473004/ ) > > Reason for revert: > Breaks layout tests: > https://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2064/builds/14312 > > See https://github.com/v8/v8/wiki/Blink-layout-tests > > Original issue's description: > > [wasm] Transferrable modules > > > > We want to restrict structured cloning in Chrome to: > > - postMessage senders and receivers that are co-located > > in the same process > > - indexedDB (just https). > > > > For context, on the Chrome side, we will achieve the postMessage part > > by using a mechanism similar to transferrables: the > > SerializedScriptValue will have a list of wasm modules, separate from > > the serialized data stream; and this list won't be copied cross > > process boundaries. The IDB part is achieved by explicitly opting in > > reading/writing to the serialization stream. To block attack vectors > > in IPC cases, the default for deserialization will be to expect data > > in the wasm transfers list. > > > > This change is the V8 side necessary to enabling this design. We > > introduce TransferrableModule, an opaque datatype exposed to the > > embedder. Internally, TransferrableModules are just serialized data, > > because we don't have a better mechanism, at the moment, for > > de-contextualizing/re-contextualizing wasm modules (wrt Isolate and > > Context). > > > > The chrome defaults will be implemented in the > > serialization/deserialization delegates on that side. For the v8 side > > of things, in the absence of a serialization delegate, the V8 > > serializer will write to serialization stream. In the absence of a > > deserialization delegate, the deserializer won't work. This asymmetry > > is intentional - it communicates to the embedder the need to make a > > policy decision, otherwise wasm serialization/deserialization won't > > work "out of the box". > > > > BUG=v8:6079 > > > > Review-Url: https://codereview.chromium.org/2748473004 > > Cr-Commit-Position: refs/heads/master@{#43955} > > Committed: https://chromium.googlesource.com/v8/v8/+/99743ad460ea5b9795ba9d70a074e75d7362a3d1 > > TBR=jbroman@chromium.org,bradnelson@chromium.org,mtrofin@chromium.org > # Skipping CQ checks because original CL landed less than 1 days ago. > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > BUG=v8:6079 > > Review-Url: https://codereview.chromium.org/2762163002 > Cr-Commit-Position: refs/heads/master@{#43981} > Committed: https://chromium.googlesource.com/v8/v8/+/e538b70e1a45289dfe0fa9789563f023a5e9c22b TBR=jbroman@chromium.org,bradnelson@chromium.org,machenbach@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:6079 Review-Url: https://codereview.chromium.org/2762273002 Cr-Commit-Position: refs/heads/master@{#43994}
-
jarin authored
Review-Url: https://codereview.chromium.org/2766783002 Cr-Commit-Position: refs/heads/master@{#43993}
-
Toon Verwaest authored
The problem was that transitioning element stores had a similar shape to the new StoreGlobal case. The problem was fixed by https://chromium-review.googlesource.com/c/457341/ BUG=v8:5561 Change-Id: If996e9b37809ba8edf6dcb228b116b77021ce7bc Reviewed-on: https://chromium-review.googlesource.com/457324Reviewed-by: Igor Sheludko <ishell@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#43992}
-
Toon Verwaest authored
BUG=v8:5561 Change-Id: I26330670c526390c05e652b3862f0ef7244f7b19 Reviewed-on: https://chromium-review.googlesource.com/456288 Commit-Queue: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#43991}
-
bbudge authored
- Adds a FinishCode method to CodeGenerator, and implements it for all platforms. ARM and ARM64 flush constants, all other platforms do nothing. - Remove old static free function. LOG=N BUG=none Review-Url: https://codereview.chromium.org/2748383004 Cr-Commit-Position: refs/heads/master@{#43990}
-
Toon Verwaest authored
This is just a very minor cleanup avoiding unnecessary slow stub usage. BUG=v8:5561 Change-Id: Ib145606520b5b7019f1e55d3aec7caa956c7e090 Reviewed-on: https://chromium-review.googlesource.com/457337Reviewed-by: Igor Sheludko <ishell@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#43989}
-
rayb authored
On S390, GCC seems to treat size_t as 'long_unsigned_int'. Which conflicts with the %d format specifier since that expects an 'int'. So changing the macro to PRIuS. This seems to fix the issue while retaining the expected behaviour for all other systems. R=mlippautz@chromium.org, hpayer@chromium.org BUG=none Review-Url: https://codereview.chromium.org/2759963003 Cr-Commit-Position: refs/heads/master@{#43988}
-
danno authored
BUG=v8:1956 Review-Url: https://codereview.chromium.org/2752273003 Cr-Commit-Position: refs/heads/master@{#43987}
-
bmeurer authored
BUG=v8:5267 R=jarin@chromium.org Review-Url: https://codereview.chromium.org/2762143002 Cr-Commit-Position: refs/heads/master@{#43986}
-
Toon Verwaest authored
BUG=v8:5561 Change-Id: If8f166860b4d4f9f25b15badfda531cbef49db16 Reviewed-on: https://chromium-review.googlesource.com/457341Reviewed-by: Igor Sheludko <ishell@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#43985}
-
Marja Hölttä authored
Rebase of https://chromium-review.googlesource.com/446336 was broken. Didn't fail any tests because the feature is behind a flag. BUG= Change-Id: I6009bfac27aa896e20446f002f5db707aab7e34c Reviewed-on: https://chromium-review.googlesource.com/457040 Commit-Queue: Marja Hölttä <marja@chromium.org> Reviewed-by: Daniel Vogelheim <vogelheim@chromium.org> Cr-Commit-Position: refs/heads/master@{#43984}
-
Michael Achenbach authored
BUG=chromium:628617 NOTRY=true Change-Id: I55923fec5ee34feea85dcc281b00f3d5d22283c5 Reviewed-on: https://chromium-review.googlesource.com/456710Reviewed-by: Igor Sheludko <ishell@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#43983}
-
Igor Sheludko authored
Inspired by bsuite/compare-baseline.py and tools/perf-to-html.py. The main difference from the latter is that the new script does not require json files preprocessing and it is able to compare multiple json files at once (just like bsuite/compare-baseline.py). This CL also makes tools/run_perf.py relative path friendly. BUG= Change-Id: I7be796fa920f8360703806f32767b992eec0f9c2 Reviewed-on: https://chromium-review.googlesource.com/456286Reviewed-by: Michael Stanton <mvstanton@chromium.org> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#43982}
-
machenbach authored
Revert of [wasm] Transferrable modules (patchset #13 id:280001 of https://codereview.chromium.org/2748473004/ ) Reason for revert: Breaks layout tests: https://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2064/builds/14312 See https://github.com/v8/v8/wiki/Blink-layout-tests Original issue's description: > [wasm] Transferrable modules > > We want to restrict structured cloning in Chrome to: > - postMessage senders and receivers that are co-located > in the same process > - indexedDB (just https). > > For context, on the Chrome side, we will achieve the postMessage part > by using a mechanism similar to transferrables: the > SerializedScriptValue will have a list of wasm modules, separate from > the serialized data stream; and this list won't be copied cross > process boundaries. The IDB part is achieved by explicitly opting in > reading/writing to the serialization stream. To block attack vectors > in IPC cases, the default for deserialization will be to expect data > in the wasm transfers list. > > This change is the V8 side necessary to enabling this design. We > introduce TransferrableModule, an opaque datatype exposed to the > embedder. Internally, TransferrableModules are just serialized data, > because we don't have a better mechanism, at the moment, for > de-contextualizing/re-contextualizing wasm modules (wrt Isolate and > Context). > > The chrome defaults will be implemented in the > serialization/deserialization delegates on that side. For the v8 side > of things, in the absence of a serialization delegate, the V8 > serializer will write to serialization stream. In the absence of a > deserialization delegate, the deserializer won't work. This asymmetry > is intentional - it communicates to the embedder the need to make a > policy decision, otherwise wasm serialization/deserialization won't > work "out of the box". > > BUG=v8:6079 > > Review-Url: https://codereview.chromium.org/2748473004 > Cr-Commit-Position: refs/heads/master@{#43955} > Committed: https://chromium.googlesource.com/v8/v8/+/99743ad460ea5b9795ba9d70a074e75d7362a3d1 TBR=jbroman@chromium.org,bradnelson@chromium.org,mtrofin@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:6079 Review-Url: https://codereview.chromium.org/2762163002 Cr-Commit-Position: refs/heads/master@{#43981}
-
Michael Lippautz authored
BUG=chromium:651354 Change-Id: I15b2ee763882af369bf4b6274ce04e52dfb657e7 Reviewed-on: https://chromium-review.googlesource.com/457321 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Hannes Payer <hpayer@chromium.org> Cr-Commit-Position: refs/heads/master@{#43980}
-
jkummerow authored
This frees up the InterpreterAssembler for no longer being linked into the main library. BUG=v8:6055 Review-Url: https://codereview.chromium.org/2759093004 Cr-Commit-Position: refs/heads/master@{#43979}
-
Peter Marshall authored
BUG=v8:5977 Change-Id: Ic756fd44a945f98d51c0914dcc6c3b82111d170d Reviewed-on: https://chromium-review.googlesource.com/456419Reviewed-by: Franziska Hinkelmann <franzih@chromium.org> Commit-Queue: Peter Marshall <petermarshall@chromium.org> Cr-Commit-Position: refs/heads/master@{#43978}
-
Ilija.Pavlovic authored
For MIPS32, instructions ldc1 and sdc1 are moved into macro-assembler and renamed as Ldc1 and Sdc1. The reason for placing them into macro-assembler is that they emmit two or three instructions. TEST=test/cctest/test-assembler-mips, test/cctest/test-code-stubs-mips, test/cctest/test-macro-assembler-mips BUG= Review-Url: https://codereview.chromium.org/2751973002 Cr-Commit-Position: refs/heads/master@{#43977}
-
Clemens Hammacher authored
This CL makes the interpreter reentrant by allowing different activations to be live at the same time. The wasm interpreter keeps a list of activations and stores the stack height at the start of each activation. This information is used to unwind just one activation, or show the right portion of the interpreter stack for each interpreter entry frame. The WasmDebugInfo object stores a mapping from frame pointer (of the interpreter entry) to the activation id in order to identify the activation based on the physical interpreter entry frame. R=titzer@chromium.org, ahaas@chromium.org BUG=v8:5822 Change-Id: Ibbf93f077f907213173a92e0a2f7f3556515e8eb Reviewed-on: https://chromium-review.googlesource.com/453958 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#43976}
-
jkummerow authored
BUG=v8:6055 Review-Url: https://codereview.chromium.org/2760953002 Cr-Commit-Position: refs/heads/master@{#43975}
-
yangguo authored
This is in preparation of adding precise binary mode. BUG=v8:5808 Review-Url: https://codereview.chromium.org/2765813002 Cr-Commit-Position: refs/heads/master@{#43974}
-
leszeks authored
In the tick processor, in cases where there are a lot of ticks (e.g. long running programs), JSON.stringify could throw a range exception because the created string is too large. Instead of creating the entire JSON string in memory, we now write the top-level parts of the JSON manually, writing out the ticks individually instead of all together. Review-Url: https://codereview.chromium.org/2754683002 Cr-Commit-Position: refs/heads/master@{#43973}
-
Clemens Hammacher authored
The called runtime function never returns, thus we don't need to emit return code afterwards. R=ahaas@chromium.org Change-Id: I4adb5492b1d5bcb8f644f9544137e07196ac61e4 Reviewed-on: https://chromium-review.googlesource.com/456507Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#43972}
-
Michael Lippautz authored
BUG=chromium:651354 Change-Id: Idcd7780f53ad07b3d782a66455f9c60addc2418d Reviewed-on: https://chromium-review.googlesource.com/457317 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Hannes Payer <hpayer@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#43971}
-
Clemens Hammacher authored
Original change's description: > [wasm] Enable lazy compilation for asm-wasm pipeline > > The validate-asm flag now implies lazy compilation. > > R=titzer@chromium.org, ahaas@chromium.org > BUG=v8:5991 > > Change-Id: I00fb5ddbe13440941a3fafd9175cc9a5d182e15a > Reviewed-on: https://chromium-review.googlesource.com/451318 > Commit-Queue: Clemens Hammacher <clemensh@chromium.org> > Reviewed-by: Andreas Haas <ahaas@chromium.org> > Reviewed-by: Brad Nelson <bradnelson@chromium.org> > Cr-Commit-Position: refs/heads/master@{#43952} TBR=bradnelson@chromium.org,hablich@chromium.org,ahaas@chromium.org,clemensh@chromium.org,v8-reviews@googlegroups.com NOTRY=true BUG=v8:5991 Change-Id: Icc6ff9ebcd15fdd140d9fca2676ea2634783e6d5 Reviewed-on: https://chromium-review.googlesource.com/456508Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#43970}
-
bmeurer authored
For CheckBounds(index,length) we know that the length must be in Unsigned31 range. Thus there's no observable difference for index values in the range [-2^31,-1] and the range [2^31,2^32-1], both are considered out-of-bounds; also it's safe to truncate -0 to 0 wrt. CheckBounds. Thus we can safely pass Word32 truncation if the index is in Integral32 \/ MinusZero. Usually this generates the same code, but some index computations can benefit from the Word32 truncation and avoid going to double because the result would be outside the valid Signed32 or Unsigned32 ranges. R=jarin@chromium.org BUG=v8:5267 Review-Url: https://codereview.chromium.org/2760213003 Cr-Commit-Position: refs/heads/master@{#43969}
-
mvstanton authored
BUG= Review-Url: https://codereview.chromium.org/2764813003 Cr-Commit-Position: refs/heads/master@{#43968}
-
Clemens Hammacher authored
When returning from the runtime function, move jssp back to csp. The csp might have been changed by the runtime function, but jssp should have been restored to its original value. R=ahaas@chromium.org BUG=v8:5822 Change-Id: I300263a586ca546a4d7f925730f1f38b680379ca Reviewed-on: https://chromium-review.googlesource.com/457372Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#43967}
-
neis authored
R=jarin@chromium.org BUG= Review-Url: https://codereview.chromium.org/2759133002 Cr-Commit-Position: refs/heads/master@{#43966}
-
mvstanton authored
BUG= Review-Url: https://codereview.chromium.org/2680153005 Cr-Commit-Position: refs/heads/master@{#43965}
-
yangguo authored
We used to clear invocation counts when enabling precise coverage. This is not necessary, and we could continue to use the existing invocation counts on the heap. The old behavior can be achieved by explicitly resetting the counts by polling coverage data. R=jgruber@chromium.org,caseq@chromium.org BUG=v8:5808 Review-Url: https://codereview.chromium.org/2768453002 Cr-Commit-Position: refs/heads/master@{#43964}
-
Andreas Haas authored
The flag is already on by default R=clemensh@chromium.org Change-Id: Ie4ede8191336a102cab9d7f972a3d10a15d1a54d Reviewed-on: https://chromium-review.googlesource.com/456287Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#43963}
-
Ross McIlroy authored
Also move phi NodeVector in TryCloneBranch to temporary zone. BUG=chromium:700364 Change-Id: Id19d51dae63ed5a6f5dccbba77a19b3663fd325e Reviewed-on: https://chromium-review.googlesource.com/456285Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#43962}
-
bmeurer authored
R=yangguo@chromium.org BUG=v8:5049 Review-Url: https://codereview.chromium.org/2766593002 Cr-Commit-Position: refs/heads/master@{#43961}
-
v8-autoroll authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/4c534d4..9e7f0b1 Rolling v8/third_party/catapult: https://chromium.googlesource.com/external/github.com/catapult-project/catapult/+log/2d86f95..d233eb2 TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org Change-Id: I3270008c944240ae992a15463a09bef3887b0c92 Reviewed-on: https://chromium-review.googlesource.com/457083Reviewed-by: v8 autoroll <v8-autoroll@chromium.org> Commit-Queue: v8 autoroll <v8-autoroll@chromium.org> Cr-Commit-Position: refs/heads/master@{#43960}
-
mtrofin authored
Improve visibility within the distributed wasm team. Created wasm watchlist, and added wasm-team - the union of MUC and MTV wasm teams. BUG= Review-Url: https://codereview.chromium.org/2759053002 Cr-Commit-Position: refs/heads/master@{#43959}
-
- 20 Mar, 2017 3 commits
-
-
sebmarchand authored
This used to be disabled implicitly and started to broke after some refactoring in https://codereview.chromium.org/2758563002 BUG=chromium:703027 Review-Url: https://codereview.chromium.org/2758423002 Cr-Commit-Position: refs/heads/master@{#43958}
-
bmeurer authored
When we hit a call to String.prototype.concat builtin, where we can infer that the receiver is a String and there's exactly one parameter, which is of type PlainPrimitive, then we can reduce that to a call to the StringAddStub instead, optionally converting the non-String - but PlainPrimitive - parameter to a String. BUG=v8:5267 R=jarin@chromium.org Review-Url: https://codereview.chromium.org/2758383002 Cr-Commit-Position: refs/heads/master@{#43957}
-
franzih authored
Collect type information of return values. Use *one* feedback slot per function for all its return statements. For assignments, we currently use several slots per function, because not all assignments refer to the same variable. Instead of the variable names, pass the source location and print the function name. Add an integration test for --type-profile that checks for crashes. Remove type feedback for assignments for now as it convolutes the output. ************ Function with 2 return statements ******** function testFunction(param, flag) { // We want to test 2 different return positions in one function. if (flag) { var first_var = param; return first_var; } var second_var = param; return second_var; } testFunction({}); testFunction(123, true); testFunction('hello'); testFunction(undefined); ******************************************************* ************* Sample Output *************************** Function: testFunction 424: Object 374: number 424: string 424: undefined ******************************************************* Missing work: * Handle fall-off returns * Collect types for parameters * Remove duplicates from the list of collected types and use a common base class. BUG=v8:5935 Review-Url: https://codereview.chromium.org/2755973002 Cr-Commit-Position: refs/heads/master@{#43956}
-