- 03 Apr, 2019 1 commit
-
-
Paolo Severini authored
This is a reland of 3cda21de Original change's description: > V8 x64 backend doesn't emit ABI compliant stack frames > > On 64 bit Windows, the OS stack walking does not work because the V8 x64 > backend doesn't emit unwinding info and also because it doesn't emit ABI > compliant stack frames. See > https://docs.google.com/document/d/1-wf50jFlii0c_Pr52lm2ZU-49m220nhYMrHDi3vXnh0/edit > for more details. > > This problem can be fixed by observing that V8 frames usually all have the same > prolog and epilog: > > push rbp, > mov rbp, rsp > ... > pop rbp > ret N > > and that it is possible to define XDATA (UNWIND_CODEs) that specify how Windows > should walk through V8 frames. Furthermore, since V8 Code objects are all > allocated in the same code-range for an Isolate, it is possible to register a > single PDATA/XDATA entry to cover stack walking for all the code generated > inside that code-range. > > This PR contains changes required to enable stack walking on Win64: > > EmbeddedFileWriter now adds assembler directives to the builtins > snapshot source file (embedded.cc) to emit additional entries in the .pdata and > in the .xdata section of the V8 executable. This takes care of stack walking > for embedded builtins. (The case of non-embedded builtins is not supported). > The x64 Assembler has been modified to collect the information required to emit > this unwind info for builtins. > > Stack walking for jitted code is handled is Isolate.cpp, by registering > dynamically PDATA/XDATA for the whole code-range address space every time a new > Isolate is initialized, and by unregistering them when the Isolate is > destroyed. > > Stack walking for WASM jitted code is handled is the same way in > wasm::NativeModule (wasm/wasm-code-manager.cpp). > > It is important to note that Crashpad and Breakpad are already registering > PDATA/XDATA to manage and report unhandled exceptions (but not for embedded > builtins). Since it is not possible to register multiple PDATA entries for the > same address range, a new function is added to the V8 API: > SetUnhandledExceptionCallback() can be used by an embedder to register its own > unhandled exception handler for exceptions that arise in v8-generated code. > V8 embedders should be modified accordingly (code for this is in a separate PR > in the Chromium repository: > https://chromium-review.googlesource.com/c/chromium/src/+/1474703). > > All these changes are experimental, behind: > > the 'v8_win64_unwinding_info' build flag, and > the '--win64-unwinding-info' runtime flag. > > Bug: v8:3598 > Change-Id: Iea455ab6d0e2bf1c556aa1cf870841d44ab6e4b1 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1469329 > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Commit-Queue: Paolo Severini <paolosev@microsoft.com> > Cr-Commit-Position: refs/heads/master@{#60330} Bug: v8:3598 Change-Id: If988baf7d3e4af165b919d6e54c1ad985f8e25e3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1534618Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Paolo Severini <paolosev@microsoft.com> Cr-Commit-Position: refs/heads/master@{#60581}
-
- 01 Apr, 2019 1 commit
-
-
Sigurd Schneider authored
This is a reland of 6604f182 Original change's description: > [heap] Clean-up keys of oldspace weakmaps during scavenge > > This CL adds handling for cleaning up weakmap (EphemeronHashTable) > keys during scavenge, even if the weakmap resides in oldspace. > > Change-Id: If8d711c050ddbcae4dd6e8da549e0c0d08ba47b2 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1523787 > Commit-Queue: Sigurd Schneider <sigurds@chromium.org> > Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Cr-Commit-Position: refs/heads/master@{#60432} CQ_INCLUDE_TRYBOTS=luci.chrome.try:Mac Builder Perf Change-Id: Ie640f2b0340637a5391fb17ba3c9e6422eaf306a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1541476 Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#60554}
-
- 28 Mar, 2019 2 commits
-
-
Dan Elphick authored
Previously when lazy source positions were enabled, source positions were immediately collected whenever an exception was thrown for every frame in the stack trace. This change makes source position collection trigger only when the source positions of a stack frame are actually accessed with the exception of the top frame which is still eagerly collected for now. Additionally when stack overflows occur during source position collection, the bytecode is marked with exception in the source_position_table field so it can be distinguished from the case where source position collection has never been attempted (undefined) or is not desired because the bytecode is for natives (empty_byte_array). Bug: v8:8510 Change-Id: If7ee68edbacc9e2adadf00fe5ec822a8dbe1c79a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1520721Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Peter Marshall <petermarshall@chromium.org> Commit-Queue: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#60504}
-
tzik authored
A microtask requires a non-detached Context to trigger, and the Context is usually pulled from the primary handler. On an example below, |on_rejected| is primary, as the attached promise is rejected and |on_rejected| will be called as the reaction. Promise.reject().then(on_fulfilled, on_rejected); If the primary handler is undefined or invalid, we used to use the promise's context as the fallback. E.g. the primary handler is undefined on the examlpe below, and the context of |promise| was used. let promise = Promise.reject(); promise.then(on_fulfilled); However, that causes a non-intuitive behavior around a detached context: let DeadPromise = iframe.contentWindow.Promise; iframe.src = "http://example.com"; // navigate away. // DeadPromise's Context is detached state now. let p = DeadPromise.reject(); // |on_rejected| is called, as the context is pulled from |on_rejected|. p.then(on_fulfilled, on_rejected); // |on_rejected| was NOT called, as a microtask to settle |q| does not // run due to the detached context. let q = p.then(on_fulfilled); q.catch(on_rejected); After this CL, we use non-primary handler as a source of fallback context. On the last example above, the Context is pulled from |on_fullfilled|, so that |q| is settled using that context. Bug: chromium:941271 Change-Id: Iff71acf7c3617f3493d100abcd2c5c36bd1bbfd1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1535916Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Taiju Tsuiki <tzik@chromium.org> Cr-Commit-Position: refs/heads/master@{#60499}
-
- 27 Mar, 2019 2 commits
-
-
Z Duong Nguyen-Huu authored
Bug: v8:8952 Change-Id: I74eaa1148116dfc8d6720e8be4f59ce90c8df164 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1524664Reviewed-by:
Daniel Clifford <danno@chromium.org> Reviewed-by:
Simon Zünd <szuend@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Z Nguyen-Huu <duongn@microsoft.com> Cr-Commit-Position: refs/heads/master@{#60496}
-
Milad Farazmand authored
Port: 7629afdb Original Commit Message: Allocate feedback vectors lazily when the function's interrupt budget has reached a specified threshold. This cl introduces a new field in the ClosureFeedbackCellArray to track the interrupt budget for allocating feedback vectors. Using the interrupt budget on the bytecode array could cause problems when there are closures across native contexts and we may delay allocating feedback vectors in one of them causing unexpected performance cliffs. In the long term we may want to remove interrupt budget from bytecode array and use context specific budget for tiering up decisions as well. Change-Id: I261a7f7cedbdaa3be2d0cf22bfa701598f749fd9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1539794Reviewed-by:
Junliang Yan <jyan@ca.ibm.com> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#60479}
-
- 26 Mar, 2019 3 commits
-
-
Sigurd Schneider authored
Together with the previous CL, this is a 10x improvement. Bug: v8:8834 Change-Id: I89b86ee88c82479997c08b725571369b1bf9d190 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1539592 Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#60470}
-
Simon Zünd authored
R=sigurds@chromium.org Bug: v8:8952 Change-Id: I93a9a136e83510a92cd38b2bb16d0965be95110a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1538483 Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Reviewed-by:
Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#60469}
-
Mike Stanton authored
The bottlenecks to prevent storing signalling NaNs in backing stores were not perfect. This change makes it harder by ensuring that all the Torque-side "[]=" operator overloads for FixedDoubleArray stores have signalling NaNs silenced. Bug: chromium:944435 Change-Id: I295d9b34f4c896db30989bb9db1a2b452daa03ae Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1538517Reviewed-by:
Sigurd Schneider <sigurds@chromium.org> Commit-Queue: Michael Stanton <mvstanton@chromium.org> Cr-Commit-Position: refs/heads/master@{#60459}
-
- 25 Mar, 2019 4 commits
-
-
Mythri authored
Allocate feedback vectors lazily when the function's interrupt budget has reached a specified threshold. This cl introduces a new field in the ClosureFeedbackCellArray to track the interrupt budget for allocating feedback vectors. Using the interrupt budget on the bytecode array could cause problems when there are closures across native contexts and we may delay allocating feedback vectors in one of them causing unexpected performance cliffs. In the long term we may want to remove interrupt budget from bytecode array and use context specific budget for tiering up decisions as well. Bug: v8:8394 Change-Id: Ia8fbb71f5e8543a92f14c44aa762973da82d445c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1520719 Commit-Queue: Mythri Alle <mythria@chromium.org> Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#60450}
-
Sigurd Schneider authored
This reverts commit 6604f182. Bug: chromium:945341 Original change's description: > [heap] Clean-up keys of oldspace weakmaps during scavenge > > This CL adds handling for cleaning up weakmap (EphemeronHashTable) > keys during scavenge, even if the weakmap resides in oldspace. > > Change-Id: If8d711c050ddbcae4dd6e8da549e0c0d08ba47b2 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1523787 > Commit-Queue: Sigurd Schneider <sigurds@chromium.org> > Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Cr-Commit-Position: refs/heads/master@{#60432} TBR=ulan@chromium.org,jarin@chromium.org,sigurds@chromium.org,leszeks@chromium.org Change-Id: I9dd9b11990a262a457fd1bedc2b45b4a786a81f7 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1538133Reviewed-by:
Sigurd Schneider <sigurds@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#60447}
-
Sigurd Schneider authored
This CL adds handling for cleaning up weakmap (EphemeronHashTable) keys during scavenge, even if the weakmap resides in oldspace. Change-Id: If8d711c050ddbcae4dd6e8da549e0c0d08ba47b2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1523787 Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#60432}
-
Z Duong Nguyen-Huu authored
EmbedderDataArray, JSMessageObject, JSSet, JSMap, JSWeakSet, JSWeakMap Bug: v8:8952 Change-Id: I996d9e18006184b8ac7be7d362e8faf36e44aaef Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1534304Reviewed-by:
Simon Zünd <szuend@chromium.org> Commit-Queue: Z Nguyen-Huu <duongn@microsoft.com> Cr-Commit-Position: refs/heads/master@{#60420}
-
- 24 Mar, 2019 1 commit
-
-
Frank Tang authored
https://rawgit.com/fabalbon/proposal-intl-DateTimeFormat-formatRange/master/out/ Design Doc https://goo.gl/PGUQ1d Bug: v8:7729 Change-Id: I38b53ffdf610400b4132a25da99dac4be67bdf4b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1510574Reviewed-by:
Sathya Gunasekaran <gsathya@chromium.org> Commit-Queue: Frank Tang <ftang@chromium.org> Cr-Commit-Position: refs/heads/master@{#60418}
-
- 22 Mar, 2019 2 commits
-
-
Jakob Gruber authored
Just the outermost wrapper function (which does almost nothing). Bug: v8:8976 Change-Id: I8137f86bde5e10ba7edd5051e7c86bfc631bfe94 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1528531 Commit-Queue: Peter Wong <peter.wm.wong@gmail.com> Reviewed-by:
Simon Zünd <szuend@chromium.org> Reviewed-by:
Peter Wong <peter.wm.wong@gmail.com> Cr-Commit-Position: refs/heads/master@{#60402}
-
peterwmwong authored
Bug: v8:8996 Change-Id: Iffe8fe46536ae6749e8dcad1e0e441c3626cba95 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1527558 Commit-Queue: Peter Wong <peter.wm.wong@gmail.com> Reviewed-by:
Simon Zünd <szuend@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#60401}
-
- 20 Mar, 2019 5 commits
-
-
Igor Sheludko authored
This field's size is kIntSize but it was read as a 8-byte value in assembly code. Bug: v8:7703 Change-Id: I16e8c845c27b224b368c8888073cff6d53f28a54 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1532324 Auto-Submit: Igor Sheludko <ishell@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Reviewed-by:
Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#60377}
-
Leszek Swirski authored
This reverts commit 3cda21de. Reason for revert: Breaks the roll on Windows (see https://cr-buildbucket.appspot.com/build/8918477701097622400) Original change's description: > V8 x64 backend doesn't emit ABI compliant stack frames > > On 64 bit Windows, the OS stack walking does not work because the V8 x64 > backend doesn't emit unwinding info and also because it doesn't emit ABI > compliant stack frames. See > https://docs.google.com/document/d/1-wf50jFlii0c_Pr52lm2ZU-49m220nhYMrHDi3vXnh0/edit > for more details. > > This problem can be fixed by observing that V8 frames usually all have the same > prolog and epilog: > > push rbp, > mov rbp, rsp > ... > pop rbp > ret N > > and that it is possible to define XDATA (UNWIND_CODEs) that specify how Windows > should walk through V8 frames. Furthermore, since V8 Code objects are all > allocated in the same code-range for an Isolate, it is possible to register a > single PDATA/XDATA entry to cover stack walking for all the code generated > inside that code-range. > > This PR contains changes required to enable stack walking on Win64: > > EmbeddedFileWriter now adds assembler directives to the builtins > snapshot source file (embedded.cc) to emit additional entries in the .pdata and > in the .xdata section of the V8 executable. This takes care of stack walking > for embedded builtins. (The case of non-embedded builtins is not supported). > The x64 Assembler has been modified to collect the information required to emit > this unwind info for builtins. > > Stack walking for jitted code is handled is Isolate.cpp, by registering > dynamically PDATA/XDATA for the whole code-range address space every time a new > Isolate is initialized, and by unregistering them when the Isolate is > destroyed. > > Stack walking for WASM jitted code is handled is the same way in > wasm::NativeModule (wasm/wasm-code-manager.cpp). > > It is important to note that Crashpad and Breakpad are already registering > PDATA/XDATA to manage and report unhandled exceptions (but not for embedded > builtins). Since it is not possible to register multiple PDATA entries for the > same address range, a new function is added to the V8 API: > SetUnhandledExceptionCallback() can be used by an embedder to register its own > unhandled exception handler for exceptions that arise in v8-generated code. > V8 embedders should be modified accordingly (code for this is in a separate PR > in the Chromium repository: > https://chromium-review.googlesource.com/c/chromium/src/+/1474703). > > All these changes are experimental, behind: > > the 'v8_win64_unwinding_info' build flag, and > the '--win64-unwinding-info' runtime flag. > > Bug: v8:3598 > Change-Id: Iea455ab6d0e2bf1c556aa1cf870841d44ab6e4b1 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1469329 > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Commit-Queue: Paolo Severini <paolosev@microsoft.com> > Cr-Commit-Position: refs/heads/master@{#60330} TBR=bbudge@chromium.org,ulan@chromium.org,mvstanton@chromium.org,mstarzinger@chromium.org,gdeepti@chromium.org,jgruber@chromium.org,paolosev@microsoft.com Change-Id: If8470da94c58df8c800cbe8887f9f86236e43353 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:3598 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1532321Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#60372}
-
Michael Starzinger authored
This removes the special casing for the lazy compilation stub which used to have its own code kind, just so that the stack walker would properly recognize its frame. Also, by re-using the existing machinery for runtime stubs we no longer need to copy this stub into the native module and get all the niceties that come with embedded builtins for free. Thirdly this will make it easier to start lazy compilation from the background or to do it on a per-function basis without requiring yet more special machinery, since {NativeModule::SetLazyBuiltin} no longer requires access to the Isolate. Kudos for the inspiration for this cleanup go to Frederik, I merely did some of the legwork. R=clemensh@chromium.org BUG=v8:8834 Change-Id: Iac2b51a2e33fb0e88d25d3632fa18998123ee6c3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1532064Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#60365}
-
Sven Sauleau authored
Previously, the builtin BigIntToWasmI64 and its calling descriptor had an inconsistent name, not reflecting the signature which is i64 to BigInt. This CL removes BigIntToWasmI64 in favor of I64ToBigInt. Also for consistency the Wasm tranpoline has been renamed from BigIntToWasmI64 to WasmI64ToBigInt. Change-Id: I4125ee99a7358797181770f413db70affa657d5c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1532065 Auto-Submit: Sven Sauleau <ssauleau@igalia.com> Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#60361}
-
Suraj Sharma authored
Converted JSGeneratorObject, JSAsyncFunctionObject , JSAsyncGenerator to torque. Change-Id: I6eb2463d66c118c60fee472776a471120641344c Bug: v8:8952 Change-Id: I6eb2463d66c118c60fee472776a471120641344c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1512472 Commit-Queue: Georg Neis <neis@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#60347}
-
- 19 Mar, 2019 1 commit
-
-
Paolo Severini authored
On 64 bit Windows, the OS stack walking does not work because the V8 x64 backend doesn't emit unwinding info and also because it doesn't emit ABI compliant stack frames. See https://docs.google.com/document/d/1-wf50jFlii0c_Pr52lm2ZU-49m220nhYMrHDi3vXnh0/edit for more details. This problem can be fixed by observing that V8 frames usually all have the same prolog and epilog: push rbp, mov rbp, rsp ... pop rbp ret N and that it is possible to define XDATA (UNWIND_CODEs) that specify how Windows should walk through V8 frames. Furthermore, since V8 Code objects are all allocated in the same code-range for an Isolate, it is possible to register a single PDATA/XDATA entry to cover stack walking for all the code generated inside that code-range. This PR contains changes required to enable stack walking on Win64: EmbeddedFileWriter now adds assembler directives to the builtins snapshot source file (embedded.cc) to emit additional entries in the .pdata and in the .xdata section of the V8 executable. This takes care of stack walking for embedded builtins. (The case of non-embedded builtins is not supported). The x64 Assembler has been modified to collect the information required to emit this unwind info for builtins. Stack walking for jitted code is handled is Isolate.cpp, by registering dynamically PDATA/XDATA for the whole code-range address space every time a new Isolate is initialized, and by unregistering them when the Isolate is destroyed. Stack walking for WASM jitted code is handled is the same way in wasm::NativeModule (wasm/wasm-code-manager.cpp). It is important to note that Crashpad and Breakpad are already registering PDATA/XDATA to manage and report unhandled exceptions (but not for embedded builtins). Since it is not possible to register multiple PDATA entries for the same address range, a new function is added to the V8 API: SetUnhandledExceptionCallback() can be used by an embedder to register its own unhandled exception handler for exceptions that arise in v8-generated code. V8 embedders should be modified accordingly (code for this is in a separate PR in the Chromium repository: https://chromium-review.googlesource.com/c/chromium/src/+/1474703). All these changes are experimental, behind: the 'v8_win64_unwinding_info' build flag, and the '--win64-unwinding-info' runtime flag. Bug: v8:3598 Change-Id: Iea455ab6d0e2bf1c556aa1cf870841d44ab6e4b1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1469329Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Paolo Severini <paolosev@microsoft.com> Cr-Commit-Position: refs/heads/master@{#60330}
-
- 18 Mar, 2019 5 commits
-
-
Z Duong Nguyen-Huu authored
This is a part of effort to port Proxy-related builtins to Torque. Spec: https://tc39.github.io/ecma262/#sec-proxy-revocation-functions Bug: v8:6664 Change-Id: I283a4d8109a31c7e91f1cea8eb7a6e819e60b1cc Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1521921 Commit-Queue: Z Nguyen-Huu <duongn@microsoft.com> Reviewed-by:
Maya Lekova <mslekova@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#60311}
-
Sathya Gunasekaran authored
This implements the behavior discussed and specified here: https://github.com/tc39/ecma262/issues/1461 https://github.com/tc39/ecma262/pull/1470 As part of making this change, I realized that we didn't actually toggle the behavior between the optimized and unoptimized version based on the --harmony-await-optimization flag at all and just the unoptimized version by default. This patch removes the unoptimized version and uses the optimized version as the default. The other builtins that use this flag are not touched as part of this CL, they will be updated separately. Bug: v8:8998 Change-Id: I315e1b39dda91d0127b5e567986485d713eaa78d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1525872 Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Reviewed-by:
Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#60310}
-
Z Duong Nguyen-Huu authored
Bug: v8:8952 Change-Id: I07b3491e644634f9712e89d1566718084a3686d4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1518812Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Simon Zünd <szuend@chromium.org> Commit-Queue: Z Nguyen-Huu <duongn@microsoft.com> Cr-Commit-Position: refs/heads/master@{#60307}
-
peterwmwong authored
Bug: v8:8996 Change-Id: I035c380768c324d8912aa8bc414d533dbf7f3e5a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1524640 Commit-Queue: Peter Wong <peter.wm.wong@gmail.com> Reviewed-by:
Simon Zünd <szuend@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#60292}
-
Andreas Haas authored
R=mstarzinger@chromium.org Bug: v8:7581 Change-Id: Ica85ba80c29d6d5c5b9163df8cf743c0f1da7f4f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1520715 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#60280}
-
- 14 Mar, 2019 2 commits
-
-
peterwmwong authored
Consolidates all the work into a single TFS builtin (CreateHTML) called by all these functions. Reduces the builtin size by about half. Change-Id: I92b2c7889f72db4c8c79d7ef0ce0e61036ab619e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1522727 Commit-Queue: Peter Wong <peter.wm.wong@gmail.com> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#60248}
-
Matt Gardner authored
Bug: v8:8952 Change-Id: I099de2052941684d4ca714062a52c82ef0bb3850 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1516473 Commit-Queue: Matt Gardner <magardn@microsoft.com> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#60247}
-
- 13 Mar, 2019 2 commits
-
-
Junliang Yan authored
Change-Id: I9bd7c97dd0b36935bd1fb76cd2cbc83a1b28cdfb Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1521223 Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com> Auto-Submit: Junliang Yan <jyan@ca.ibm.com> Reviewed-by:
Milad Farazmand <miladfar@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#60223}
-
Z Duong Nguyen-Huu authored
JSArrayIterator, PreparseData Bug: v8:8952 Change-Id: I0a58402012f6fd5ded0eab92f7e28e3523342650 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1516474Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Z Nguyen-Huu <duongn@microsoft.com> Cr-Commit-Position: refs/heads/master@{#60219}
-
- 12 Mar, 2019 4 commits
-
-
Georg Neis authored
Tbr: mslekova@chromium.org Change-Id: I721233d388081f702e460933d13e27cacbfcdf72 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1518183 Commit-Queue: Georg Neis <neis@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#60198}
-
Georg Neis authored
The TryGetOwnProperty code supports only unique names that are not array indices. Unfortunately, this is neither obvious from its type, nor from its comment, nor from its code. ProxiesCodeStubAssembler::CheckHasTrapResult violated the assumption and was already fixed a few days ago. This CL fixes CheckGetSetTrapResult and improves our code documentation in the form of comments and assertions. Concretely: - Add CodeStubAssembler::IsUniqueName and IsUniqueNameNoIndex - Use IsUniqueNameNoIndex in CheckGetSetTrapResult to guard TryGetOwnProperty (bailout to runtime if not satisfied). - Similarly, use IsUniqueNameNoIndex to simplify the previous fix in CheckHasTrapResult. - Add a IsUniqueNameNoIndex CSA_ASSERT to TryGetOwnProperty and a few other places to avoid such bugs in the future. - Add a IsUniqueName CSA_ASSERT to a few places where we apparently expect unique names (I don't know if those allow indices or not). - Add a DCHECK to Name::IsUniqueName to ensure and document that this shortcut version is equivalent to HeapObject::IsUniqueName. Bug: chromium:937618 Change-Id: Id4a18ab2a0e9c7591b087dd0c9fe018aa9b9ef3a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1514732 Auto-Submit: Georg Neis <neis@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Maya Lekova <mslekova@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#60196}
-
Mythri authored
We want to allocate feedback vectors lazily in lite mode. To do that, we should create closures with the correct feedback cell. This cl allocates feedback cell arrays to hold these feedback cells in lite mode. This cl also modifies the compile lazy to builtin to expect these arrays in the feedback cell. Drive-by fix: InterpreterEntryTrampoline no longer has argument count in a register. So updated comments and removed unnecessary push/pop of this register. Bug: v8:8394 Change-Id: I10d8ca67cebce61a284f0c80b200e1f0c24577a2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1511274Reviewed-by:
Hannes Payer <hpayer@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Mythri Alle <mythria@chromium.org> Cr-Commit-Position: refs/heads/master@{#60189}
-
Hannes Payer authored
Bug: v8:8945 Change-Id: I14ca4b29f1b12ff95e718d431f65d88ab1238c53 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1511478Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Hannes Payer <hpayer@chromium.org> Cr-Commit-Position: refs/heads/master@{#60177}
-
- 11 Mar, 2019 3 commits
-
-
Matt Gardner authored
Bug: chromium:937618 Change-Id: I360013d1e99e7e54f4bb942b1f8f4918f81d525d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1510333 Commit-Queue: Matt Gardner <magardn@microsoft.com> Reviewed-by:
Georg Neis <neis@chromium.org> Reviewed-by:
Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#60173}
-
Santiago Aboy Solanes authored
Since kTaggedSize got shrinked and we are actually compressing the pointers (as oppposed to zeroing their upper bits), we need to update the arm64 codebase to accommodate this change. Cq-Include-Trybots: luci.v8.try:v8_linux64_arm64_pointer_compression_rel_ng Bug: v8:7703 Change-Id: I890f3ab8c046f47232e80f85830f9ae8f4dbced4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1499498 Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#60172}
-
Clemens Hammacher authored
The {id_} stored in {ThreadId} should not be atomic. Only getting a new id for the current thread needs to be atomic. If any user of {ThreadId} needs atomicity, that user should wrap {ThreadId} in a {std::atomic} instead. Drive-by: Remove {Equals} method, use {operator==} instead. Drive-by: Move static methods after member methods. R=ishell@chromium.org Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_rel Bug: v8:8834 Change-Id: Id0470eb2fa907948843ac1153e2dc5dcd9a8fbc8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1494006Reviewed-by:
Georg Neis <neis@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#60146}
-
- 09 Mar, 2019 1 commit
-
-
Deepti Gandluri authored
Change-Id: Ie080683af1d990e5205c75a2a199f0581d826811 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1511630 Commit-Queue: Deepti Gandluri <gdeepti@chromium.org> Reviewed-by:
Ben Smith <binji@chromium.org> Cr-Commit-Position: refs/heads/master@{#60135}
-
- 08 Mar, 2019 1 commit
-
-
Z Duong Nguyen-Huu authored
Script, PrototypeInfo, JSCollectionIterator, JSWeakCollection, JSSloppyArgumentsObject, JSArgumentsObject Bug: v8:8952 Change-Id: Id0d7049f3d5971a0fd4af56dd4850ad3b44c22e9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1506198 Commit-Queue: Z Nguyen-Huu <duongn@microsoft.com> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#60133}
-