- 18 Nov, 2019 1 commit
-
-
Frank Tang authored
Design Doc https://shorturl.at/emEHW I2I: http://shorturl.at/pKRUV Bug: v8:8703 Change-Id: I9573b2ee6f1dce4dc594aa1df2753095f45af15e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1848683Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Frank Tang <ftang@chromium.org> Cr-Commit-Position: refs/heads/master@{#65021}
-
- 11 Nov, 2019 1 commit
-
-
Igor Sheludko authored
... even with ptr-compr. Although full uintptr-sized TypedArrays are not supported yet we may already start using uint32-sized typed arrays as we no longer rely on TypedArray length to be a Smi. Bug: v8:4153 Change-Id: If179541ad4f02c4ec7de9d1f3836138fe526d8a5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1905847 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#64897}
-
- 08 Nov, 2019 1 commit
-
-
Dan Elphick authored
Move the API from Isolate to V8 and add better memory fields. Bug: v8:7464 Change-Id: Ic82c7c74ac8f20a2f2cb896dc0203fdd0b5d8d5f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1905546Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#64856}
-
- 07 Nov, 2019 1 commit
-
-
Dan Elphick authored
Creates new APIs to get Shared Memory statistics like the size of read-only space and potentially the memory used by shared array buffers. Currently all shared memory statistics are zero. Bug: v8:7464 Change-Id: Ib8d58f885beaa1d65ccef7b64dd4f3db4149bca3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1900465 Commit-Queue: Dan Elphick <delphick@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#64831}
-
- 05 Nov, 2019 2 commits
-
-
Eric Leese authored
Currently there are two ways wasm locations are represented in the inspector. This remains unchanged for now. Also, currently there are multiple ways location is represented within V8, with the line number sometimes being a function index and sometimes being 0, and the column number being a byte offset which is sometimes function relative and sometimes module relative. With this change, the line number is never used within V8 (it is always 0), and the column number is always a byte offset from the beginning of the module. This simplifies translation logic and keeps it in one place, and will simplify future changes to wasm location representation in the inspector API. Bug: chromium:1013527 Change-Id: I8813d47c881988f9ab49d7529fb81fe10dbbccff Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1886915 Commit-Queue: Eric Leese <leese@chromium.org> Reviewed-by:
Simon Zünd <szuend@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#64774}
-
Stefano Sanfilippo authored
Instead of inferring allow_codegen from the state of MaybeLocal<String>, return it separately. This allows to distinguish "could not stringify this object" from "block execution of this object", regardless of whether the object is a string or not. Currently, the hook can trigger an EvalError only if the original source was a string. Modify the logic so that one of the three mechanisms (unconditional, non-modifying, modifying) decides alone. Before, if the non-modifying callback rejected a value, the value would be forwarded to the modifying callback, but the unconditional would not forward to the non-modifying callback. This introduces a more uniform behaviour where the three mechanisms act in decreasing priority. Change-Id: Iaaa9873227052653d714df65f31c4de914f48b7d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1776082Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Daniel Vogelheim <vogelheim@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Commit-Queue: Stefano Sanfilippo <ssanfilippo@chromium.org> Cr-Commit-Position: refs/heads/master@{#64763}
-
- 01 Nov, 2019 1 commit
-
-
Bartek Nowierski authored
A window is a Blink concept. This API marks the context as backing a detached window. This doesn't necessarily mean that the context is detached. Every time a JS function is called within a context that has a non-zero DetachedWindowReason, Runtime::kReportDetachedWindowAccess is invoked, which will report this call to Blink via a callback, which in turn can report number of such calls via UKM metrics. Bug: chromium:1018156 Change-Id: I67c89fef459f4efcb912229eed8a4f3ea3b60f54 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1862829 Auto-Submit: Bartek Nowierski <bartekn@chromium.org> Commit-Queue: Bartek Nowierski <bartekn@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#64707}
-
- 30 Oct, 2019 1 commit
-
-
Gus Caplan authored
Change-Id: I2a1ad1835b751237b350e56d64e3475459bfb7a6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1873715 Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Reviewed-by:
Sathya Gunasekaran <gsathya@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#64636}
-
- 29 Oct, 2019 1 commit
-
-
Andreas Haas authored
The new API with v8::BackingStore should be used instead as explained in https://docs.google.com/document/d/1sTc_jRL87Fu175Holm5SV0kajkseGl2r8ifGY76G35k This also relaxes the pre-condition for [Shared]ArrayBuffer::Detach to not require externalization first. Bug: v8:9380, v8:9908 Change-Id: Idd119fcd28be84a2fae74ae86f7381fd997766f5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1859628 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#64625}
-
- 28 Oct, 2019 1 commit
-
-
Anna Henningsen authored
The overload taking a `MicrotaskQueue*` was introduced in cce33f37 but never actually implemented. This aligns the constructor signature to actually work, and aligns it with e.g. `MicrotasksScope`. The previous signature without an `Isolate*` argument would not work, because there’s no pointer back from a MicrotaskQueue to the Isolate. Refs: https://chromium-review.googlesource.com/c/v8/v8/+/1414950 Bug: v8:8124 Change-Id: I5dbaabef54c8de2b48f6172808825a186971524d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1879901Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#64584}
-
- 24 Oct, 2019 1 commit
-
-
Anna Henningsen authored
Add an `array_buffer_allocator_shared` field to the `Isolate::CreateParams` struct that allows embedders to share ownership of the ArrayBuffer::Allocator with V8, and which in particular means that when this method is used that the BackingStore deleter will not perform an use-after-free access to the Allocator under certain circumstances. For Background: tl;dr: This is necessary for Node.js to perform the transition to V8 7.9, because of the way that ArrayBuffer::Allocators and their lifetimes currently work there. In Node.js, each Worker thread has its own ArrayBuffer::Allocator. Changing that would currently be impractical, as each allocator depends on per-Isolate state. However, now that backing stores are managed globally and keep a pointer to the original ArrayBuffer::Allocator, this means that when transferring an ArrayBuffer (e.g. from one Worker to another through postMessage()), the original Allocator has to be kept alive until the ArrayBuffer no longer exists in the receiving Isolate (or until that Isolate is disposed). See [1] for an example Node.js test that fails with V8 7.9. This problem also existed for SharedArrayBuffers, where Node.js was broken by V8 earlier for the same reasons (see [2] for the bug report on that and [3] for the resolution in Node.js). For SharedArrayBuffers, we already had extensive tracking logic, so adding a shared_ptr to keep alive the ArrayBuffer::Allocator was not a significant amount of work. However, the mechanism for transferring non-shared ArrayBuffers is quite different, and it seems both easier for us and better for V8 from an API standpoint to keep the Allocator alive from where it is being referenced. By sharing memory with the custom deleter function/data pair, this comes at no memory overhead. [1]: https://github.com/nodejs/node/pull/30044 [2]: https://github.com/nodejs/node-v8/issues/115 [3]: https://github.com/nodejs/node/pull/29637 Bug: v8:9380 Change-Id: Ibc2c4fb6341b53653cbd637bd8cb3d4ac43809c7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1874347 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#64542}
-
- 23 Oct, 2019 3 commits
-
-
Jakob Gruber authored
Previously, embedders had to fetch the 'exec' property off the RegExp prototype in order to call exec (and such calls involve two transitions between C++ and JS). This CL exposes a convenient RegExp::Exec method through the API. Bug: v8:9695 Change-Id: I57a9174626143d26f2ea34676b8e55fef64932cf Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1864940 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#64508}
-
Jakob Gruber authored
Bug: v8:9695 Change-Id: I401a18c84a9ec1af7e14f44004a0788cbfd4a34b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1864657Reviewed-by:
Yang Guo <yangguo@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#64501}
-
Jakob Gruber authored
These counters track how often the slow path of these two builtins is hit. Exec is very permissive, its fast-path check doesn't look at the regexp prototype at all. Replace is strict; any change on the prototype will trigger the slow path. Chromium CL: https://crrev.com/c/1875250 Bug: v8:5577 Change-Id: I9807f43829981445b75b5c5d29800cbdac9bc26a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1873698Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Peter Marshall <petermarshall@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#64496}
-
- 22 Oct, 2019 3 commits
-
-
Ulan Degenbaev authored
The new predicate indicates whether the backing store was created for an ArrayBuffer or a SharedArrayBuffer. It is useful for some embedders. Bug: v8:9380 Change-Id: I804063bb8c4c17815defd6538ce6a1b32f6a4531 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1873689 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#64479}
-
Ulan Degenbaev authored
These are useful for the cases when an embedder works with backing stores without creating JS ArrayBuffer objects. Bug: v8:9380 Change-Id: I452bd911e7b20fb38568f18f9d15ea1a7ffb5a57 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1825339 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#64460}
-
Jakob Gruber authored
The natives blob was deprecated in V8 7.8. This CL removes all related functionality, including: - Build system support, i.e.: generation of natives_blob.bin and the v8_extra_library_files gn flag. - Related scripts (js2c.py, concatenate-files.py). - Related API functions (SetNativesDataBlob, InitializeExternalStartupData). - Natives bootstrapping logic. - The InternalArray type (previously exposed through natives). - Other natives-exposed builtins. - Inlining of these builtins. - The dedicated 'uncached external one byte string' type. Step 1 landed in https://crrev.com/c/1824944. Step 2 landed in https://crrev.com/c/1835536. Step 3 (this CL) removes these all functionality related to natives support in V8. Bug: v8:7624 Change-Id: Ice6c2662781efe8417231805276476d32bc5a625 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1844771 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Reviewed-by:
Tamer Tas <tmrts@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#64446}
-
- 21 Oct, 2019 2 commits
-
-
Daniel Clark authored
Per spec, Module::SetSyntheticModuleExport should throw a ReferenceError when called with an export name that was not supplied when constructing that SyntheticModule. Instead, the current implementation crashes with a failed CHECK(). Add a new Module::SyntheticModuleSetExport that throws (without an ensuing crash) for this case, and deprecate the old Module::SetSyntheticModuleExport. Bug: v8:9828 Change-Id: I3b3d353064c3851882781818099bd8f6ee74c809 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1860996Reviewed-by:
Adam Klein <adamk@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Commit-Queue: Dan Clark <daniec@microsoft.com> Cr-Commit-Position: refs/heads/master@{#64438}
-
Seth Brenith authored
On Windows ARM64, it is insufficient to just follow the linked list of frame pointers in all cases. This is similar to logic added in https://crrev.com/c/v8/v8/+/1701133 except this affects the Unwinder methods rather than the function metadata for RtlVirtualUnwind. Together with https://crrev.com/c/chromium/src/+/1844276 , this allows the Chromium unit test V8UnwinderTest.UnwindThroughV8Frames to pass on Windows ARM64. Change-Id: I82d4d894be14d4a6ace75bba10c13b10342d0b12 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1845189Reviewed-by:
Peter Marshall <petermarshall@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Seth Brenith <seth.brenith@microsoft.com> Cr-Commit-Position: refs/heads/master@{#64432}
-
- 18 Oct, 2019 1 commit
-
-
Michael Lippautz authored
- Move foward deprecations in EmbedderHeapTracer - Deprecate SetFinalizationCallback in v8::TraceReference Change-Id: Ic68402096ce8f5fe08521253836d3b19d73326ae Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1863941 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Auto-Submit: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#64388}
-
- 17 Oct, 2019 1 commit
-
-
Zhou, Zhiguo authored
This CL logs debug information of WASM in Intel VTune Amplifer via VTune's JIT Profiling API. With this CL, the profiling information of JITted code and its corresponding C/C++ source code is displayed optionally. To use this feature, a runtime flag "vtune_prof_annotat e_wasm" should be passed to the VTune-enabled V8 engine. Currently, the inline function in C/C++ is not well supported due to the limitation of source map. As a drive-by fix, the dynamically allocated event-specific data of JavaScript (src/third_party/vtune/vtune-jit.cc) is managed with C++ containers for safety. Change-Id: Ic27420fcdcd775bc5c7778abf5cff6edf0fb38b6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1782126Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Commit-Queue: Zhiguo Zhou <zhiguo.zhou@intel.com> Cr-Commit-Position: refs/heads/master@{#64351}
-
- 15 Oct, 2019 1 commit
-
-
Michael Lippautz authored
Use v8::Data as basetype for managed objects that can integrate with v8::EmbedderHeapTracer. Bug: v8:9841 Change-Id: Id3e06701207a23870cea89e1d7d334c48fcd3006 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1856002Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#64283}
-
- 12 Oct, 2019 1 commit
-
-
Zhang, Shiyu authored
... for the case we haven't seen any elements on the entire prototype chain. Contributed by tao.pan@intel.com Change-Id: Ied7d1a918b545e71d94ab1521bf0d233ea15cfce Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1848960Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Shiyu Zhang <shiyu.zhang@intel.com> Cr-Commit-Position: refs/heads/master@{#64261}
-
- 11 Oct, 2019 1 commit
-
-
Clemens Backes authored
The API was marked to be depracated soon in https://crrev.com/c/1847366. Chromium switched to the new APIs in https://crrev.com/c/1855822. R=ulan@chromium.org Bug: v8:9810 Change-Id: I0befb06e180b57ec21ca4c2d56fa8e10a36b0d9e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1856001Reviewed-by:
Yang Guo <yangguo@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#64252}
-
- 10 Oct, 2019 1 commit
-
-
Clemens Backes authored
The flag is enabled since M-70, and we do not use the previous behaviour anywhere. Hence, remove the flag and clean up some API code. In particular, the concept of {TransferrableModule} is not needed any more, we can just use {CompiledWasmModule}. R=mstarzinger@chromium.org, adamk@chromium.org Bug: v8:9810 Change-Id: I9b3aa4972277a9262b58da70b141e90d1de31f35 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1847366 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by:
Adam Klein <adamk@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#64209}
-
- 09 Oct, 2019 2 commits
-
-
Clemens Backes authored
The method was deprecated in https://crrev.com/c/1581640 (part of M-76). R=ulan@chromium.org Bug: v8:9810 Change-Id: I08db459356273239f1d340b8792e2b57857d1076 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1849518Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#64188}
-
Clemens Backes authored
Since C++14, there is a spec'ed attribute for deprecation of methods, functions, types, aliases or anything else. This CL switches from the GCC __attribute__ to this standard attribute. This allows to use the V8_DEPRECATED and V8_DEPRECATE_SOON macros on anything where the standard attribute can be used (including {using} statements that were not working before). It also avoids the need to nest the whole declaration in the macro, making the code more readable. R=adamk@chromium.org Bug: v8:9810 Change-Id: I7adab7694af75423fb31ade2fc982dbf9c9bc699 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1847361Reviewed-by:
Adam Klein <adamk@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#64174}
-
- 08 Oct, 2019 1 commit
-
-
Irina Yatsenko authored
Bug: chromium:1010312 Change-Id: I46ca9349f15f3dac896a4ab631be672c1979cc48 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1838927 Commit-Queue: Irina Yatsenko <irinayat@microsoft.com> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#64167}
-
- 07 Oct, 2019 1 commit
-
-
Michael Lippautz authored
TracedGlobalTrait was unable to override v8::TracedGlobal<v8::Object> for avoiding the destructor because it is needed on the API surface itself and C++ ODR which prohibits specialization after template instantiation. Avoid this problem by providing a separate type TracedReference that, similar to TracedGlobal, is purely traced but avoids the destructor completely. This only works for embedders that have their memory management tied to V8 as it is prone to accessing already reclaimed objects otherwise. Bug: chromium:995684 Change-Id: Iab4332ed417b26c58638a8f9389174cc355a305b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1840972 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#64150}
-
- 04 Oct, 2019 2 commits
-
-
Michael Lippautz authored
Change-Id: I0751c1761a2d07dd89d831ca6370ae01bc569b6a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1841351 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#64116}
-
Jakob Gruber authored
The natives blob is deprecated and will be removed in the next release. Step 1 landed in https://crrev.com/c/1824944. Step 2 (this CL) is to mark API functions as V8_DEPRECATED. Step 3, in the next V8 release, is to remove these functions and all other natives support in V8. Bug: v8:7624 Change-Id: I177fa6197e06a3ca21787b4e2d74dd1689038b6b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1835536 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#64101}
-
- 02 Oct, 2019 1 commit
-
-
Jakob Gruber authored
The natives blob is deprecated and will be removed in the next release. This commit does two things, 1. it disables the v8_extra_library_files gn argument which will make building natives_blob.bin through gn impossible; 2. it marks API functions associated with the natives blob as V8_DEPRECATE_SOON. Embedders should remove any uses of SetNativesDataBlob and replace all calls to InitializeExternalStartupData(const char*, const char*) with the new function InitializeExternalStartupDataFromFile(const char*) Step 2 is to mark API functions as V8_DEPRECATED. Step 3, in the next V8 release, is to remove these functions and all other natives support in V8. Bug: v8:7624 Change-Id: I745e96c60204a9b94d9240be65dd59bb9bdd0699 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1824944 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Auto-Submit: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#64080}
-
- 01 Oct, 2019 1 commit
-
-
Jaime Bernardo authored
Explicitly #include<string> in v8.h, since std::string is referenced in it. In the C++ STL shipped with Visual Studio 2019, none of the headers included in v8.h ends up including the C++ string header, which caused a compile error. Bug: v8:9793 Change-Id: I84a133dd10dd6dcc7b70287af393e82cf0dc97df Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1834321Reviewed-by:
Adam Klein <adamk@chromium.org> Commit-Queue: Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/master@{#64074}
-
- 19 Sep, 2019 2 commits
-
-
Ulan Degenbaev authored
This complements [Shared]ArrayBuffer::GetBackingStore and allows the embedder to transfer (shared) array buffers using only BackingStores. Bug: v8:9380 Change-Id: I4714a27e06d5be43aef06dc633f11f2d43e4ee75 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1811037 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#63889}
-
Ulan Degenbaev authored
This adds an additional V8 API to get the backing store of an array buffer. Unlike the existing API, the backing store comes wrapped in a std::shared_ptr, making lifetime management with the embedder explicit. This obviates the need for the old GetContents() and Externalize() APIs, which will be deprecated in a future CL. Contributed by titzer@chromium.org Bug: v8:9380 Change-Id: I8a87f5dc141dab684693fe536b636e33f6e45173 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1807354Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#63883}
-
- 13 Sep, 2019 1 commit
-
-
Peter Marshall authored
These were deprecated in 7.8 via: https://chromium-review.googlesource.com/c/v8/v8/+/1735316 Use Detach() instead. Bug: chromium:913887, v8:9396 Change-Id: I7d0b0c0273188c99f5afee18d4880852f5e59d10 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1801850 Commit-Queue: Peter Marshall <petermarshall@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Auto-Submit: Peter Marshall <petermarshall@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#63748}
-
- 11 Sep, 2019 1 commit
-
-
Ulan Degenbaev authored
This adds a new API function and provides a simple implementation of performance.measureMemory() in d8. The implementation currently immediately resolves the result promise with the current heap size. Bug: chromium:973627 Change-Id: Ia8e1963a49b7df628b5487a2c0d601473f0cb039 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1796502 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#63694}
-
- 09 Sep, 2019 1 commit
-
-
Ulan Degenbaev authored
This reverts commit 9da34831 Original change's description: > "Reland x4 [arraybuffer] Rearchitect backing store ownership" > > This is a reland of bc33f5ae > > Contributed by titzer@chromium.org > > Original change's description: > > [arraybuffer] Rearchitect backing store ownership > > > > This CL completely rearchitects the ownership of array buffer backing stores, > > consolidating ownership into a {BackingStore} C++ object that is tracked > > throughout V8 using unique_ptr and shared_ptr where appropriate. > > > > Overall, lifetime management is simpler and more explicit. The numerous > > ways that array buffers were initialized have been streamlined to one > > Attach() method on JSArrayBuffer. The array buffer tracker in the > > GC implementation now manages std::shared_ptr<BackingStore> pointers, > > and the construction and destruction of the BackingStore object itself > > handles the underlying page or embedder-allocated memory. > > > > The embedder API remains unchanged for now. We use the > > v8::ArrayBuffer::Contents struct to hide an additional shared_ptr to > > keep the backing store alive properly, even in the case of aliases > > from live heap objects. Thus the embedder has a lower chance of making > > a mistake. Long-term, we should move the embedder to a model where they > > manage backing stores using shared_ptr to an opaque backing store object. > > TBR=yangguo@chromium.org > > BUG=v8:9380,v8:9221,chromium:986318 > > Change-Id: If671a4a9ca0476e8f084efae46e0d2bf99ed99ef > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1731005 > Commit-Queue: Ulan Degenbaev <ulan@chromium.org> > Reviewed-by: Clemens Hammacher <clemensh@chromium.org> > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> > Cr-Commit-Position: refs/heads/master@{#63041} TBR=yangguo@chromium.org Change-Id: I3cc4bb80081c662b1751234bc16a821c20e744be Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1792166 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#63617}
-
- 30 Aug, 2019 1 commit
-
-
Ulan Degenbaev authored
This reverts commit 62e16830. Reason for revert: it will be relanded after branch Original change's description: > Reland x5 [arraybuffer] Rearchitect backing store ownership > > This reverts commit 8fdb2387. > > Original change's description: > > "Reland x4 [arraybuffer] Rearchitect backing store ownership" > > > > This is a reland of bc33f5ae > > > > Contributed by titzer@chromium.org > > > > Original change's description: > > > [arraybuffer] Rearchitect backing store ownership > > > > > > This CL completely rearchitects the ownership of array buffer backing stores, > > > consolidating ownership into a {BackingStore} C++ object that is tracked > > > throughout V8 using unique_ptr and shared_ptr where appropriate. > > > > > > Overall, lifetime management is simpler and more explicit. The numerous > > > ways that array buffers were initialized have been streamlined to one > > > Attach() method on JSArrayBuffer. The array buffer tracker in the > > > GC implementation now manages std::shared_ptr<BackingStore> pointers, > > > and the construction and destruction of the BackingStore object itself > > > handles the underlying page or embedder-allocated memory. > > > > > > The embedder API remains unchanged for now. We use the > > > v8::ArrayBuffer::Contents struct to hide an additional shared_ptr to > > > keep the backing store alive properly, even in the case of aliases > > > from live heap objects. Thus the embedder has a lower chance of making > > > a mistake. Long-term, we should move the embedder to a model where they > > > manage backing stores using shared_ptr to an opaque backing store object. > > > > TBR=yangguo@chromium.org > > > > BUG=v8:9380,v8:9221,chromium:986318 > > > > Change-Id: If671a4a9ca0476e8f084efae46e0d2bf99ed99ef > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1731005 > > Commit-Queue: Ulan Degenbaev <ulan@chromium.org> > > Reviewed-by: Clemens Hammacher <clemensh@chromium.org> > > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#63041} > > TBR=yangguo@chromium.org,clemensh@chromium.org,mstarzinger@chromium.org > > Change-Id: Iba55c7ab71e5642b5cb6aeb699d6fc9cf9061486 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1771795 > Reviewed-by: Michael Lippautz <mlippautz@chromium.org> > Commit-Queue: Ulan Degenbaev <ulan@chromium.org> > Cr-Commit-Position: refs/heads/master@{#63461} TBR=ulan@chromium.org,mlippautz@chromium.org Change-Id: Id8f67a68ab398032eb2975b1b24ee125394d9c4b No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1776095Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#63471}
-
- 29 Aug, 2019 1 commit
-
-
Michael Lippautz authored
Allow querying whether an object is capable of holding information that is relevant to the embedder in its embedder fields. Bug: chromium:999262 Change-Id: Iced1a1cc78142481990d40d91d8e70e6e5518c5b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1773268Reviewed-by:
Adam Klein <adamk@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/master@{#63463}
-