- 01 Jun, 2017 5 commits
-
-
Georg Neis authored
On ia32, AssembleMove used to emit different code depending on whether the to-be-moved heap object is in new space or not. This may have been necessary in the past but is no longer. Moreoever, it's incompatible with running off-thread. With this CL, we don't do the new-space check and just emit a mov. R=mstarzinger@chromium.org Bug: v8:6048 Change-Id: I93abd61a5f290311a431edee3d4fa0a240d52085 Reviewed-on: https://chromium-review.googlesource.com/519248Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#45653}
-
Michael Lippautz authored
Use relaxed reads to allow changing the pointer concurrently in the GC. The layout descriptor will either be fast and there's nothing to be done, or it will be slow, and we will use the forwarding pointer to determine the proper version to use. Bug: chromium:726040 Change-Id: I0a376752c3a99abf0874070387fcaeb3cee0dcb2 Reviewed-on: https://chromium-review.googlesource.com/519346 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#45652}
-
Loo Rong Jie authored
Switch to use Win32 CONDITION_VARIABLE like Chromium. This greatly simplifies the implementation of ConditionVariable class for Windows with better performance. Bug:NO Change-Id: Iea5e5cb80520a966aeb687bebb4b5256396cb13b Reviewed-on: https://chromium-review.googlesource.com/519542Reviewed-by: Jochen Eisinger <jochen@chromium.org> Commit-Queue: Loo Rong Jie <loorongjie@gmail.com> Cr-Commit-Position: refs/heads/master@{#45651}
-
Ulan Degenbaev authored
Visitor id for JSObjects does not depend on the instance size. BUG=chromium:694255 Change-Id: I6b4b559207609f4a4c19373572be6692a55c5187 Reviewed-on: https://chromium-review.googlesource.com/520763Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#45650}
-
v8-autoroll authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/0312f98..54fde1e Rolling v8/third_party/catapult: https://chromium.googlesource.com/external/github.com/catapult-project/catapult/+log/32a3f0b..e6ad063 TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org Change-Id: I2c9f167618d17546e4df4abbed2da0d428226868 Reviewed-on: https://chromium-review.googlesource.com/520922Reviewed-by: v8 autoroll <v8-autoroll@chromium.org> Commit-Queue: v8 autoroll <v8-autoroll@chromium.org> Cr-Commit-Position: refs/heads/master@{#45649}
-
- 31 May, 2017 35 commits
-
-
bjaideep authored
Port 510ebfc3 Port 8f61fbc6 R=neis@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Review-Url: https://codereview.chromium.org/2920523002 Cr-Commit-Position: refs/heads/master@{#45648}
-
Michael Lippautz authored
This fixes the counter inconsistencies while leaving the memory in an inaccessible state. Bug: chromium:724947 Change-Id: I431eb6fda84922a52dfb9380c6b482ada55bccee Reviewed-on: https://chromium-review.googlesource.com/519164 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Hannes Payer <hpayer@chromium.org> Cr-Commit-Position: refs/heads/master@{#45647}
-
Michael Lippautz authored
Bug: Change-Id: If4a5408f8ff63a8a2b189f60fda37896a9403d3d Reviewed-on: https://chromium-review.googlesource.com/519386Reviewed-by: Hannes Payer <hpayer@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#45646}
-
Michael Lippautz authored
This reverts commit 33d5006e. Reason for revert: Still failing TSAN: https://build.chromium.org/p/client.v8/builders/V8%20Linux64%20TSAN/builds/15527/steps/Check%20-%20extra%20%28flakes%29/logs/regress-470804 Original change's description: > Reland "[heap] Move pointers updating to ItemParallelJob"" > > Furthermore avoid lock-step between pointer updating phases as they > should execute in parallel without synchronization restrictions. > > This reverts commit 68a72399. > > Bug: chromium:726040 > Change-Id: I76bb31d146f8aa20f8b7c486eeae9f09efa0cd53 > Reviewed-on: https://chromium-review.googlesource.com/518150 > Commit-Queue: Michael Lippautz <mlippautz@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Cr-Commit-Position: refs/heads/master@{#45644} TBR=ulan@chromium.org,mlippautz@chromium.org No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:726040 Change-Id: I96090250a6ecc5068c3c927e8435e0b605c3c335 Reviewed-on: https://chromium-review.googlesource.com/519409 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#45645}
-
Michael Lippautz authored
Furthermore avoid lock-step between pointer updating phases as they should execute in parallel without synchronization restrictions. This reverts commit 68a72399. Bug: chromium:726040 Change-Id: I76bb31d146f8aa20f8b7c486eeae9f09efa0cd53 Reviewed-on: https://chromium-review.googlesource.com/518150 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#45644}
-
Ben Smith authored
Bug: chromium:724973 Change-Id: I227b30b50f92fac7d6cf3ec3369e324282352ccb Reviewed-on: https://chromium-review.googlesource.com/514348Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Ben Smith <binji@chromium.org> Cr-Commit-Position: refs/heads/master@{#45643}
-
Clemens Hammacher authored
When checking {const char*} (or similar) against each other, don't print them as c strings on failure. Just print the pointer value. In wasm, where we use byte pointers into wasm wire bytes, this was sometimes hiding check failures behind segfaults which happened when trying to output invalid pointers as c strings. Anyway, it's more useful to see the raw pointer values in these cases. Other use cases, where we really compare against c string pointers should be rare in our code base. R=ishell@chromium.org Change-Id: I92a13221d18c987a97cf2a29ac8f454178ff2bb5 Reviewed-on: https://chromium-review.googlesource.com/517166 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#45642}
-
Andreas Haas authored
In https://chromium-review.googlesource.com/c/505614/ I added code to the test runner which deletes the old corpus of the wasm fuzzer. It's time now to remove this code again. R=machenbach@chromium.org Change-Id: Ic3b8f7a1f6d725f0bf070b404a75ac37551a07c0 Reviewed-on: https://chromium-review.googlesource.com/519405Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#45641}
-
jgruber authored
DebugInfo was very closely tied to break point support: * It contained only information relevant to break points. * It was created and freed by break point implementation. * Existence of a DebugInfo on the shared function info implied existence of break points. This CL is a step towards making DebugInfo usable by other debugging functionality such as block coverage by decoupling it from break point support, which is now only one kind of information stored on the DebugInfo object. BUG=v8:6000 Review-Url: https://codereview.chromium.org/2909893002 Cr-Commit-Position: refs/heads/master@{#45640}
-
Clemens Hammacher authored
Most prototype implementations are not fully supported in the interpreter. This is the case at least for exception handling, simd, and atomics. Any function can be redirected to the interpreter though, either by passing --wasm-interpret-all, or by dynamically redirecting to the interpreter for debugging. Making the flags experimental keeps the fuzzer from playing around with these flags. Drive-by: Refactor tests which explicitly set the prototype flag to use a new scope for that. R=ahaas@chromium.org BUG=chromium:727584 Change-Id: I67da79f579f1ac93c67189afef40c6524bdd4430 Reviewed-on: https://chromium-review.googlesource.com/519402 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#45639}
-
Jochen Eisinger authored
Also restrict include/ rules to only add bots for changes affecting headers R=machenbach@chromium.org Change-Id: I97dc3c6249994566912a82ac9fbf8c7d3a57890c Reviewed-on: https://chromium-review.googlesource.com/519342Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Jochen Eisinger <jochen@chromium.org> Cr-Commit-Position: refs/heads/master@{#45638}
-
Alexey Kozyatinskiy authored
V8 provides ScriptCompiler::CompileFunctionInContext method which takes expression and compile it as anonymous function like (function() .. expression ..). To produce correct locations for stmts inside of this expression V8 compile this function with negative offset. Instead of stmt position blackboxing use function start position which is negative in described case. Bug: chromium:705963 Change-Id: I86b113198fb59e77b3bbf523c8cd943e22f8a6ca Reviewed-on: https://chromium-review.googlesource.com/519384 Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#45637}
-
Michael Achenbach authored
V8-side for: https://chromium-review.googlesource.com/c/519143/ NOTRY=true Bug: chromium:726584 Change-Id: Id6f186a47cfdf9287a399ce3fe58c9edb6474ed9 Reviewed-on: https://chromium-review.googlesource.com/519166Reviewed-by: Daniel Vogelheim <vogelheim@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#45636}
-
neis authored
Instead of allocating and embedding certain heap numbers into the code during code assembly, emit dummies but record the allocation requests. Later then, in Assembler::GetCode, allocate the heap numbers and patch the code by replacing the dummies with the actual objects. The RelocInfos for the embedded objects are already recorded correctly when emitting the dummies. R=jarin@chromium.org BUG=v8:6048 Review-Url: https://codereview.chromium.org/2900683002 Cr-Commit-Position: refs/heads/master@{#45635}
-
Tobias Tebbi authored
Bug: chromium:726638 Change-Id: Ib30b147ec60f9f13c5164765f8c63be7a1339e9f Reviewed-on: https://chromium-review.googlesource.com/517497Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#45634}
-
martyn.capewell authored
This reverts commit c5aad5f2 The CL was reverted due to missing Chromium dependencies. This commit removes the simulator trace-based tests, and the associated header file dependencies, previously pulled in by DEPS. The NEON support now has only hand-written tests, in test-assembler-arm64.cc. The remaining tests can be added in a later patch. BUG=chromium:718439 Original issue's description: > Reland "ARM64: Add NEON support" > > This reverts commit cc047635. > The CL was reverted due to a missing DEPS mirror. > > Original issue's description: > > ARM64: Add NEON support > > > > Add assembler, disassembler and simulator support for NEON in the ARM64 backend. > > > > BUG= > > > > Review-Url: https://codereview.chromium.org/2622643005 > > Cr-Commit-Position: refs/heads/master@{#44306} > > BUG= > > Review-Url: https://codereview.chromium.org/2812573003 > Cr-Commit-Position: refs/heads/master@{#44652} Review-Url: https://codereview.chromium.org/2896303003 Cr-Commit-Position: refs/heads/master@{#45633}
-
Ulan Degenbaev authored
BUG=v8:6277 Change-Id: I80314e6c5146e1f5021d07081b9eda3da5da6834 Reviewed-on: https://chromium-review.googlesource.com/518047 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#45632}
-
Michael Achenbach authored
Chromium dropped this a while back. This'll prepare switching the bot to GN. NOTRY=true Bug: chromium:726584 Change-Id: I55d7ef7ae33b66c1ca6721acba018aa19438e2da Reviewed-on: https://chromium-review.googlesource.com/519404 Commit-Queue: Michael Achenbach <machenbach@chromium.org> Reviewed-by: Daniel Vogelheim <vogelheim@chromium.org> Cr-Commit-Position: refs/heads/master@{#45631}
-
Georg Neis authored
R=jarin@chromium.org Bug: v8:6048 Change-Id: I685a629dec46d40c3518096b0a5d3901048e0bee Reviewed-on: https://chromium-review.googlesource.com/519165Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#45630}
-
jgruber authored
BUG=v8:5737 Review-Url: https://codereview.chromium.org/2913783002 Cr-Commit-Position: refs/heads/master@{#45629}
-
Michael Starzinger authored
This removes any kind of heap access from the asm.js validator internals and hence makes it independent of a specific Isolate. It is a precursor towards potentially being able to run validation while streaming. R=clemensh@chromium.org Change-Id: Ia3770bf03bb973b56de897b27be60d7e050af2c4 Reviewed-on: https://chromium-review.googlesource.com/518188 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#45628}
-
Georg Neis authored
Bug: v8:6048 Change-Id: I1fbea87f6b7cb48c8f57532238475f2c17c863fb Reviewed-on: https://chromium-review.googlesource.com/519267Reviewed-by: Andreas Haas <ahaas@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#45627}
-
Ulan Degenbaev authored
Black allocation is switched on at the start of incremental marking if concurrent marking is enabled. New space objects in the allocation area are handled by the main thread. BUG=chromium:694255 Change-Id: I694affe11b95f51e2fe79563b2b048aaef982c03 Reviewed-on: https://chromium-review.googlesource.com/518862 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Hannes Payer <hpayer@chromium.org> Cr-Commit-Position: refs/heads/master@{#45626}
-
Alexey Kozyatinskiy authored
In current implementation in expressions like await foo() we have break location right after foo call and before actual await. And we additionally have a lot of other statement locations because of do scope. Let's move async debugging closer to sync debugging and introduce only one break location for await - before awaited function call. Bug: v8:6425,v8:6162 Change-Id: I7568767856022c49101e7f3b7e39a2e401d21644 Reviewed-on: https://chromium-review.googlesource.com/514046Reviewed-by: Marja Hölttä <marja@chromium.org> Reviewed-by: Dmitry Gozman <dgozman@chromium.org> Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Cr-Commit-Position: refs/heads/master@{#45625}
-
Michael Lippautz authored
Bug: chromium:728096 Change-Id: I8f95f15b56cd49f3e199b74b119abb49eadfe2e1 Reviewed-on: https://chromium-review.googlesource.com/519163 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Hannes Payer <hpayer@chromium.org> Cr-Commit-Position: refs/heads/master@{#45624}
-
Peter Marshall authored
Causes crashes on canary if there is a GC and the value makes it onto the stack. Bug: chromium:727662 Change-Id: I44fa8cf8a83b43d64418896c0a1f5518401b454f Reviewed-on: https://chromium-review.googlesource.com/519302Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Peter Marshall <petermarshall@chromium.org> Cr-Commit-Position: refs/heads/master@{#45623}
-
Jochen Eisinger authored
R=mvstanton@chromium.org Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: Ib45a1d12f2ef869d8b07754d234ff0eedd542188 Reviewed-on: https://chromium-review.googlesource.com/517495 Commit-Queue: Jochen Eisinger <jochen@chromium.org> Reviewed-by: Michael Stanton <mvstanton@chromium.org> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#45622}
-
Camillo Bruni authored
Change-Id: Ic2c4d90dbf91b43e6e4d9cba580385bfd61802ca Reviewed-on: https://chromium-review.googlesource.com/518044Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#45621}
-
dusan.simicic authored
Add support for insert.df, andi.b, ori.b, nori.b, xori.b, bmnzi.b, bmzi.b, bseli.b, shf.df MSA instructions in mips32 and mips64 simulator. BUG= Review-Url: https://codereview.chromium.org/2908753002 Cr-Commit-Position: refs/heads/master@{#45620}
-
Igor Sheludko authored
... to properly handle stack overflows near the hard stack limit. Bug: chromium:716522 Change-Id: I6acdb29f039b9835bdf45b087d6561a05ed837bb Reviewed-on: https://chromium-review.googlesource.com/517799 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#45619}
-
Ulan Degenbaev authored
BUG=chromium:694255 Change-Id: I7edece8191d85376d3435e799ac64f3cbe814456 Reviewed-on: https://chromium-review.googlesource.com/519002Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#45618}
-
Tobias Tebbi authored
The assertion was too strict, not matching the check in JSTypedArray::Create. Delete the TODO because the code does not actually rely on the assertion for safety: EmitElementStore always performs a length check. Drive-by-fix: KeyedAccessStoreMode::STANDARD_STORE is equally safe and does one comparison less. Bug: chromium:724889 Change-Id: I988a4eb6ad36d35143a008f7289b075f5c05e7ed Reviewed-on: https://chromium-review.googlesource.com/517102Reviewed-by: Daniel Clifford <danno@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#45617}
-
Igor Sheludko authored
TBR=jarin@chromium.org NOTRY=true Bug: v8:6447 Change-Id: Ied42c4ba8fc19f2441f6c2ffd31d3f56055ac487 Reviewed-on: https://chromium-review.googlesource.com/518823Reviewed-by: Igor Sheludko <ishell@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#45616}
-
Marja Hölttä authored
- Enable aggressive lazy inner funcs (make non-declaration funcs lazy, ie let f = function() { ... } when --experimental-preparser-scope-analysis is on. - Turn on variable tracking for lazy top level functions: this makes their inner functions skippable. - Test fix for an testing bug uncovered by this work: when restoring the data for the relevant scope, don't assume it's the outermost scope for which we have data. - Fix: if we abort lazy parsing a function, we shouldn't produce any data for it. BUG=v8:5516 Change-Id: I0606fbabb5886dc57dbb53ab5f3fb894ff5d032e Reviewed-on: https://chromium-review.googlesource.com/518165Reviewed-by: Daniel Vogelheim <vogelheim@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#45615}
-
v8-autoroll authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/e840a06..0312f98 Rolling v8/third_party/catapult: https://chromium.googlesource.com/external/github.com/catapult-project/catapult/+log/ea7d9cf..32a3f0b Rolling v8/tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang/+log/34e6d43..7474c16 TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org Change-Id: I30259bb2e7399419ee7f258e15edd9488efa7f16 Reviewed-on: https://chromium-review.googlesource.com/518722Reviewed-by: v8 autoroll <v8-autoroll@chromium.org> Commit-Queue: v8 autoroll <v8-autoroll@chromium.org> Cr-Commit-Position: refs/heads/master@{#45614}
-