- 22 Nov, 2017 25 commits
-
-
Igor Sheludko authored
This CL ensures that elements kind transitions don't cause silent mutable-to-constant or any-to-class-type migrations of in-place generalizable fields. Bug: v8:5495, chromium:783132 Change-Id: Ie60224db62bd45d27148ae0469c7af5a3fe944fd Reviewed-on: https://chromium-review.googlesource.com/785190Reviewed-by: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#49583}
-
Alexey Kozyatinskiy authored
Sometimes we need to capture stack trace on one debugger and use it later as a parent stack on another debugger (e.g. worker.postMessage). This CL includes following addition to our protocol and v8-inspector.h: - added Runtime.StackTraceId, this id represents stack trace captured on debugger with given id, - protocol client can fetch Runtime.StackTrace by Runtime.StacKTraceId using Debugger.getStackTrace method, - externalParent field is added to Debugger.paused event, it may contain external parent stack trace, - V8Inspector::storeCurrentStackTrace captures current stack trace and returns V8StackTraceId for embedder this id can be used as argument for V8Inspector::externalAsyncTaskStarted and V8Inspector::externalAsyncTaskFinished method. Any async stack trace captured between these calls will get passed external stack trace as external parent. These methods are designed to be called on different debuggers. If async task is scheduled and started on one debugger user should continue to use asyncTask* API, - Debugger.enable methods returns unique debuggerId. Bug: chromium:778796 Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: I16aba0d04bfcea90f3e187e635a0588c92354539 Reviewed-on: https://chromium-review.googlesource.com/754183Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Dmitry Gozman <dgozman@chromium.org> Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Cr-Commit-Position: refs/heads/master@{#49582}
-
Camillo Bruni authored
Change-Id: Ieac2714fe9ef787543f2955137178b74fede845a Reviewed-on: https://chromium-review.googlesource.com/781861 Commit-Queue: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Peter Marshall <petermarshall@chromium.org> Cr-Commit-Position: refs/heads/master@{#49581}
-
Mircea Trofin authored
Identify wasm-to-wasm wrappers separately from wasm-to-js ones. Bug: Change-Id: I853ed8fb999297f8a951ebb0e5be1c99bfacc18c Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Reviewed-on: https://chromium-review.googlesource.com/782680Reviewed-by: Brad Nelson <bradnelson@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Mircea Trofin <mtrofin@chromium.org> Cr-Commit-Position: refs/heads/master@{#49580}
-
jgruber authored
This test used to run 10M loop iterations to trigger OSR. Let's run 5 instead and trigger OSR manually through the runtime. Bug: v8:7093 Change-Id: Ie0cdb9389ca465bf433e81a17fa60c300edc3e29 Reviewed-on: https://chromium-review.googlesource.com/785693 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#49579}
-
Michal Majewski authored
Bug: v8:6917 Change-Id: I767e5b0fa2bfef73feb3e0bc568c00d22424afa8 Reviewed-on: https://chromium-review.googlesource.com/782560Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michał Majewski <majeski@google.com> Cr-Commit-Position: refs/heads/master@{#49578}
-
Camillo Bruni authored
Bug: chromium:787780 Change-Id: I05f441dc1334a20849fb5afdee8211640f48f6d3 Reviewed-on: https://chromium-review.googlesource.com/785672Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#49577}
-
Michal Majewski authored
Bug: v8:6917 Change-Id: I867f8c92454d5f10a5f22002361bf8cc053dc174 Reviewed-on: https://chromium-review.googlesource.com/782119 Commit-Queue: Michał Majewski <majeski@google.com> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org> Cr-Commit-Position: refs/heads/master@{#49576}
-
Peter Marshall authored
The test is flaky due to huge string allocation. Bug: v8:7093 Change-Id: I2f17eb8b96b569d84a1f5c9549753fd0ab7fee89 Reviewed-on: https://chromium-review.googlesource.com/785351 Commit-Queue: Peter Marshall <petermarshall@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#49575}
-
Michael Starzinger authored
R=machenbach@chromium.org BUG=v8:7106 Change-Id: I4064368a3452cc9b6b0ce219e67a9825b1092926 Reviewed-on: https://chromium-review.googlesource.com/785391Reviewed-by: Hannes Payer <hpayer@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#49574}
-
jgruber authored
These tests can take up to 10 minutes on bots. Split them up to increase parallelism. Bug: v8:7093 Change-Id: Iabfd34a7f2476d4add51da807f2e987e8d1153c9 Reviewed-on: https://chromium-review.googlesource.com/785411Reviewed-by: Peter Marshall <petermarshall@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#49573}
-
Clemens Hammacher authored
Arm64 is the only platform where Labels cannot be moved, because the assembler keeps track of pointers to Labels. On all other platforms, there is no need to heap-allocate the Labels. R=titzer@chromium.org Bug: v8:6600 Change-Id: I4e98203890a8c426afa8a1db21e31f30bab892fa Reviewed-on: https://chromium-review.googlesource.com/783210Reviewed-by: Ben Titzer <titzer@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#49572}
-
Daniel Clifford authored
Bug: chromium:784080 Change-Id: I38c539435d867f6abb80218457e5b5a982e34817 Reviewed-on: https://chromium-review.googlesource.com/785210Reviewed-by: Igor Sheludko <ishell@chromium.org> Commit-Queue: Daniel Clifford <danno@chromium.org> Cr-Commit-Position: refs/heads/master@{#49571}
-
Clemens Hammacher authored
The Label class currently allows to be copied on all platforms except for arm64, where it can not be copied or moved. This allows too much though: Copying a label even on another platform than arm64 might fail if the label was linked already, because only one of the copies will be bound later, and the other will fire a DCHECK error in its destructor. This CL changes the restriction to never allow to copy construct or assign a Label, but allow move construction and move assignment on all platforms except arm64. This will allow to place Labels in containers, as will be done in Liftoff (except for arm64, where it still needs to be allocated on the heap). R=mstarzinger@chromium.org Bug: v8:6600 Change-Id: Ic1234c2d233317eed6a3d537c13faed2c701fe13 Reviewed-on: https://chromium-review.googlesource.com/783190 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#49570}
-
Ulan Degenbaev authored
Bug: v8:7113 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: I64d41ac2344d1974867647b8c32a9fae384b724a Reviewed-on: https://chromium-review.googlesource.com/784833 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#49569}
-
Michael Lippautz authored
Bug: chromium:780749 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: I4c993e2147494795402f141049eed30801dfb913 Reviewed-on: https://chromium-review.googlesource.com/782519Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#49568}
-
Andreas Haas authored
R=titzer@chromium.org Change-Id: I18a4bcdb002d63c0d5476ce4ff3edd466489b518 Reviewed-on: https://chromium-review.googlesource.com/785092Reviewed-by: Ben Titzer <titzer@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#49567}
-
Michael Lippautz authored
Users should migrate to using the versions on Isolate. Bug: Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: I4fe956a4210308701f343a3a681d9d6f1b1f2d2b Reviewed-on: https://chromium-review.googlesource.com/784832Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#49566}
-
Michael Achenbach authored
This reverts commit 9cbb2ed4. Reason for revert: Causes flakiness, see http://shortn/_FEVutYBGP7 Original change's description: > [heap] Removed keep-one-unused-page concept in sweeper. > > This works because we pool regular non-executable pages on a lower level. Executable pages are currently not supported by the pooling mechanism. If this regresses we should fix it. > > Change-Id: Ief3484d59f1f1f4bc63f8e718482e4174bedc012 > Reviewed-on: https://chromium-review.googlesource.com/778939 > Reviewed-by: Michael Lippautz <mlippautz@chromium.org> > Commit-Queue: Hannes Payer <hpayer@chromium.org> > Cr-Commit-Position: refs/heads/master@{#49536} TBR=hpayer@chromium.org,mlippautz@chromium.org Change-Id: If46fe713f1b1440246803e110838a3958f21dcdf No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/785090Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#49565}
-
Marja Hölttä authored
Bug: Change-Id: Ic872ea78511f0ef3e8cea67b971162b71790a039 Reviewed-on: https://chromium-review.googlesource.com/781690Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#49564}
-
Clemens Hammacher authored
R=eholk@chromium.org Change-Id: Iad3d1f0859c482c566cf86a32cf95a84c89b96e6 Reviewed-on: https://chromium-review.googlesource.com/782721Reviewed-by: Eric Holk <eholk@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#49563}
-
jgruber authored
TBR=yangguo@chromium.org Bug: v8:6741 Change-Id: Iefab0451514d95d718ebb0489cc681a82b5ef789 Reviewed-on: https://chromium-review.googlesource.com/778863Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#49562}
-
Sergiy Byelozyorov authored
R=machenbach@chromium.org Change-Id: Ic9566af4475901e87a26d2d4b62e0cb32a1b773c Reviewed-on: https://chromium-review.googlesource.com/784890Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Sergiy Byelozyorov <sergiyb@chromium.org> Cr-Commit-Position: refs/heads/master@{#49561}
-
Sergiy Byelozyorov authored
The runs are now called as primary (no suffix) and secondary. This is in preparation to adding secondary builds on CI, which will run tests on the latest released stable V8 binary (aka as ref builds). R=machenbach@chromium.org Bug: chromium:783763 Change-Id: Ie6560012887bd5bb0d948bc8d34a9256d922137c Reviewed-on: https://chromium-review.googlesource.com/781941Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Sergiy Byelozyorov <sergiyb@chromium.org> Cr-Commit-Position: refs/heads/master@{#49560}
-
v8-autoroll authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/6167734..9c1e28b Rolling v8/tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang/+log/bd3b137..8427dae TBR=machenbach@chromium.org,hablich@chromium.org,sergiyb@chromium.org Change-Id: Id8b75c73794c8d13dce3322a49d9259d02529ee4 Reviewed-on: https://chromium-review.googlesource.com/784472Reviewed-by: v8 autoroll <v8-autoroll@chromium.org> Commit-Queue: v8 autoroll <v8-autoroll@chromium.org> Cr-Commit-Position: refs/heads/master@{#49559}
-
- 21 Nov, 2017 15 commits
-
-
Clemens Hammacher authored
Instead of repeating the condition for using trap handlers everywhere in the compiler, just use the existing function {trap_handler::UseTrapHandler()}. Note that the trap-handler.h was already included transitively, I just add it to comply to IWYU. R=eholk@chromium.org Change-Id: Id61910c7ac5b134b07cb266664e87a2f39a896d4 Reviewed-on: https://chromium-review.googlesource.com/782562Reviewed-by: Eric Holk <eholk@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#49558}
-
Michael Lippautz authored
Bug: Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: I986e3d3a54a07b5082a52e2bc7b5505e12589d98 Reviewed-on: https://chromium-review.googlesource.com/782324Reviewed-by: Adam Klein <adamk@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#49557}
-
Mircea Trofin authored
Factor out slot count calculation, and expose it so it may later be consumed when JIT-ing to the WasmCodeManager. Bug: Change-Id: I21d673b2e3d7fa4a66ae0ab6303d29cf666d743c Reviewed-on: https://chromium-review.googlesource.com/782701Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Mircea Trofin <mtrofin@chromium.org> Cr-Commit-Position: refs/heads/master@{#49556}
-
Michael Achenbach authored
Without this flag, the load() function is very chatty when an exception is thrown out of it, independent if the surrounding code catches it or not. Bug: v8:6972 Change-Id: I4ca82689c42c729716b83e420d9c7f7e2b5213d1 Reviewed-on: https://chromium-review.googlesource.com/781688Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#49555}
-
Mircea Trofin authored
This CL introduces those codegen changes necessary for JIT-ing using the WasmCodeManager. Bug: v8:6876 Change-Id: I6b463b3e278f5e53f8dfa488f76eeaeb5231dbea Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Reviewed-on: https://chromium-review.googlesource.com/782261Reviewed-by: Ben Titzer <titzer@chromium.org> Commit-Queue: Mircea Trofin <mtrofin@chromium.org> Cr-Commit-Position: refs/heads/master@{#49554}
-
Alexey Kozyatinskiy authored
Old instrumentation was designed to collect promise creation stack and promise scheduled stack together. In DevTools for last 6 months we show only creation stack for promises. We got strong support from users for new model. Now we can drop support for scheduled stacks and simplify implementation. New promise instrumentation is straightforward: - we send kDebugPromiseThen when promise is created by .then call, - we send kDebugPromiseCatch when promise is created by .catch call, - we send kDebugWillHandle before chained callback and kDebugDidHandle after chained callback, - and we send separate kDebugAsyncFunctionPromiseCreated for internal promise inside async await function. Advantages: - we reduce amount of captured stacks (we do not capture stack for promise that constructed not by .then or .catch), - we can consider async task related to .then and .catch as one shot since chained callback is executed once, - on V8 side we can implement required instrumentation using only promise hooks, Disadvantage: - see await-promise test, sometimes scheduled stack was useful since we add catch handler in native code, Implementation details: - on kInit promise hook we need to figure out why promise was created. We analyze builtin functions until first user defined function on current stack. If there is kAsyncFunctionPromiseCreate function then we send kDebugAsyncFunctionPromiseCreated event. If there is kPromiseThen or kPromiseCatch then only if this function is bottom builtin function we send corresponded event to inspector. We need it because Promise.all internally calls .then and in this case we have Promise.all and Promise.then on stack at the same time and we do not need to report this internally created promise to inspector. Bug: chromium:778796 Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel Change-Id: I53f47ce8c5c4a9897655c3396c249ea59529ae47 Reviewed-on: https://chromium-review.googlesource.com/765208 Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Dmitry Gozman <dgozman@chromium.org> Cr-Commit-Position: refs/heads/master@{#49553}
-
Bill Budge authored
- Eliminates CommitRegion and UncommitRegion methods, replacing them with calls to SetPermissions. - Makes a similar change to the API of VirtualMemory. - This changes system calls from mmap to mprotect on most POSIX platforms. Bug: chromium:756050 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: Ib10f8293c9398c6c1e729cd7d686b7c97e6a5d75 Reviewed-on: https://chromium-review.googlesource.com/769679Reviewed-by: Hannes Payer <hpayer@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Bill Budge <bbudge@chromium.org> Cr-Commit-Position: refs/heads/master@{#49552}
-
Adam Klein authored
These functions should only be called in case of a parse error, so speed of calling them should not be a concern. In local testing, this saves ~16k of binary size on a release mode build. Bug: v8:7090 Change-Id: I433df81c2a5811ed922885dbab3ce003427f3d1c Reviewed-on: https://chromium-review.googlesource.com/780693Reviewed-by: Marja Hölttä <marja@chromium.org> Commit-Queue: Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/master@{#49551}
-
Michael Lippautz authored
Bug: Change-Id: Idc0bbc55713a6e6dcc88db77477bfddf3bd80a02 Reviewed-on: https://chromium-review.googlesource.com/781769Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#49550}
-
Martyn Capewell authored
Reduce the deopt table size by reusing the entry address available in a temp register to compute the entry id. Saves ~200kB. Bug: Change-Id: I3a1baf0e4c8cf19a0aa149da2bea623c1349a9ca Reviewed-on: https://chromium-review.googlesource.com/774890Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#49549}
-
Clemens Hammacher authored
Both can be used to optionally initialize an object, but with base::Optional it will be stack-allocated. R=ahaas@chromium.org Change-Id: I9977e1b2e0532505f8582cc68e27687aaeebd33d Reviewed-on: https://chromium-review.googlesource.com/781920Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#49548}
-
Michal Majewski authored
Filtering by status file split to four parts: 1. Getting outcomes - reads both variant dependent and independent outcomes, no more need to do it twice. 2. Checking unused rules - has a switch to check only variant dependent/independent rules. 3. Reading flags - if outcome starts with '--' it is treated as a flag. 4. Actual filtering. Outcomes removed from the testcase object, can be accessed by call to its testsuite. Bug: v8:6917 Cq-Include-Trybots: master.tryserver.v8:v8_linux_noi18n_rel_ng Change-Id: I35762f891010ddda926250452b88656047433daa Reviewed-on: https://chromium-review.googlesource.com/775160 Commit-Queue: Michał Majewski <majeski@google.com> Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#49547}
-
Mircea Trofin authored
On x64, we optimize out EmbeddedReferences, unless we explicitly indicate serialization is enabled. We serialize js-to-wasm wrappers, which include such references. Bug: v8:7083 Change-Id: I976da4af74bf7ee3245e1465b8e47f2c042ec3b4 Reviewed-on: https://chromium-review.googlesource.com/780207Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Ben Titzer <titzer@chromium.org> Reviewed-by: Eric Holk <eholk@chromium.org> Commit-Queue: Mircea Trofin <mtrofin@chromium.org> Cr-Commit-Position: refs/heads/master@{#49546}
-
Andreas Haas authored
Typically the interpreter returns 0xdeadbeef to indicate an exception. However, for stack overflows a normal exception is used. The interpreter requires an activation, however, to deal with normal exceptions. With this CL we start an activation before we execute the fuzzer input in the interpreter. R=clemensh@chromium.org Bug: chromium:781103 Change-Id: I4fc3a18bfc2076aab9ff7d2324a3311fe222954a Reviewed-on: https://chromium-review.googlesource.com/776835 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#49545}
-
jgruber authored
A few coverage tests depend on a GC run that deterministically frees all dead objects, but Runtime::kCollectGarbage did not explicitly disable incremental marking. Incremental marking makes liveness detection timing-dependent and thus should be disabled here. NOTRY=true NOPRESUBMIT=true TBR=mlippautz@chromium.org Bug: v8:7108 Change-Id: I8bebe612bbc2126b8ad778af15f08442ccc91a35 Reviewed-on: https://chromium-review.googlesource.com/781865 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#49544}
-