- 27 May, 2021 2 commits
-
-
Paolo Severini authored
To support Fast API calls with overloads, implement compile-time function resolution based on the number of arguments passed to the JS function. Bug: v8:11739 Change-Id: I96839dc0b6fc540eff94573ac9e77f678908fc3a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2901249Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Reviewed-by:
Maya Lekova <mslekova@chromium.org> Commit-Queue: Paolo Severini <paolosev@microsoft.com> Cr-Commit-Position: refs/heads/master@{#74837}
-
Vicky Kontoura authored
This CL renames the --d8-web-snapshot-api flag to explicitly mark it as experimental, so that it is ignored by fuzzers. Bug: v8:11525, v8:11706 Change-Id: Iff8a9d5697b60d0ade841773d1f0b537fcb19b70 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2922109Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Commit-Queue: Vicky Kontoura <vkont@google.com> Cr-Commit-Position: refs/heads/master@{#74820}
-
- 26 May, 2021 1 commit
-
-
Vicky Kontoura authored
This CL adds support for testing web snapshots through mjsunit tests. To allow for taking and using web snapshots from JavaScript, two methods, Realm.takeWebSnapshot() and Realm.useWebSnapshot(), are introduced in d8. Both of these methods accept a Realm as a parameter, allowing for mjsunit tests to create and use the snapshot in different realms. To return the snapshot data, Realm.takeWebSnapshot() creates and returns a snapshot object with the snapshot data stored as an embedder field. Bug: v8:11525, v8:11706 Change-Id: I6e514e10eabf5bdb96d81e2697d4ddc49d92de73 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2905610Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Marja Hölttä <marja@chromium.org> Commit-Queue: Vicky Kontoura <vkont@google.com> Cr-Commit-Position: refs/heads/master@{#74783}
-
- 25 May, 2021 1 commit
-
-
Mythri A authored
Bug: chromium:1197053, chromium:324812 Change-Id: I2cccabf838e3a3acbb3adfed33aa59400ec91b11 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2821547Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Commit-Queue: Mythri Alle <mythria@chromium.org> Cr-Commit-Position: refs/heads/master@{#74740}
-
- 18 May, 2021 2 commits
-
-
Paolo Severini authored
In order to support Fast API calls with overloads, store a FixedArray of c-function addresses and a FixedArray of the corresponding FunctionInfo*. For now keep using only the first function in the array. Bug: v8:11739 Change-Id: If23381aa9d04c5cd830043951da9c53836a36328 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2876592Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Maya Lekova <mslekova@chromium.org> Commit-Queue: Paolo Severini <paolosev@microsoft.com> Cr-Commit-Position: refs/heads/master@{#74643}
-
Patrick Thier authored
Different runs of the correctness fuzzer might flush the bytecode of the function passed to d8.test.verifySourcePositions, resulting in spurious errors. Therefore don't expose verifySourcePositions for correctness fuzzing. Bug: chromium:1209242 Change-Id: I0395afcd5a5e109779d7b79d9f6939899eaaf99c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2903144 Commit-Queue: Camillo Bruni <cbruni@chromium.org> Auto-Submit: Patrick Thier <pthier@chromium.org> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#74635}
-
- 14 May, 2021 1 commit
-
-
Camillo Bruni authored
Make sure we have no pending promises if correctness fuzzing is active. Due to fast-paths we might not create all intermediate promises that aren't spec visible. However, promise hooks might expose them and cause different output which in turn breaks correctness fuzzing. Drive-by-fix: - Replace IsAnyPromiseHookEnabledOrDebugIsActiveOrHasAsyncEventDelegate with NeedsAnyPromiseHooks Bug: v8:1207791 Change-Id: I5b956336c43348e029c3e283993d4140a8897439 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2886862Reviewed-by:
Igor Sheludko <ishell@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#74565}
-
- 12 May, 2021 1 commit
-
-
Maya Lekova authored
This CL enhances the fast C API in a way to allow passing the receiver to the fast callback as Local<Object> instead of Local<Value>. It also fixes documentation comments. Bug: chromium:1052746 Change-Id: I424aa83023c2e6633b9df08ee040bf170db32b3d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2887510 Commit-Queue: Maya Lekova <mslekova@chromium.org> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#74519}
-
- 10 May, 2021 3 commits
-
-
Paolo Severini authored
As a first step to support Fast API calls with overloads, adds a new FunctionTemplate constructor that accepts a vector of CFunction*. Bug: v8:11739 Change-Id: I112b1746768f52df52c893a4f1fb799b6bd90856 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2860838Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Maya Lekova <mslekova@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Commit-Queue: Paolo Severini <paolosev@microsoft.com> Cr-Commit-Position: refs/heads/master@{#74481}
-
Dan Elphick authored
Disable the checksum comparison for the read-only snapshot when --stress-snapshot is used, since it's possible that it would be corrupted. This corruption is not important as the purpose of stress-snapshot is not to produce a useable snapshot, but to test that the serialization/deserialization does not fail for any given objects. Since the --stress-snapshot flag's value is now used outside of d8, this also moves it to flag-definitions.h. Cq-Include-Trybots: luci.v8.try:v8_linux64_gc_stress_custom_snapshot_dbg_ng Bug: v8:11750 Change-Id: Iedcf1cfb5afa5f16ac19a76820b62b5b93948f2c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2882810 Commit-Queue: Dan Elphick <delphick@chromium.org> Auto-Submit: Dan Elphick <delphick@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#74480}
-
Maya Lekova authored
This reverts commit 1f504c36. Reason for revert: Failures in Chromium tests causing a blocked roll - https://ci.chromium.org/ui/p/chromium/builders/try/linux_chromium_tsan_rel_ng/848645/overview Original change's description: > Reland "[ptr-cage] Turn on shared pointer cage by default for arm64 and x64" > > This is a reland of 6c65e858 > > Changes since revert: > > - Add --disable-shared-ro-heap-for-testing flag that is implied by > d8's --stress-snapshot, since RO heap sharing currently > does not support deserializing/serializing while original Isolate > is still running > - Add BUILD.gn assert that v8_enable_pointer_compression_shared_cage > requires x64 or arm64 > > Original change's description: > > [ptr-cage] Turn on shared pointer cage by default for arm64 and x64 > > > > Bug: v8:11460 > > Change-Id: I9ab419b5e90fbe677e1d63b41699d90552839e98 > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2873226 > > Commit-Queue: Shu-yu Guo <syg@chromium.org> > > Reviewed-by: Igor Sheludko <ishell@chromium.org> > > Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> > > Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#74422} > > Bug: v8:11460 > Change-Id: I7eb189b7f8ac3e30da96b0dadd2c085f08a1a0b1 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2878855 > Commit-Queue: Shu-yu Guo <syg@chromium.org> > Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> > Reviewed-by: Adam Klein <adamk@chromium.org> > Reviewed-by: Igor Sheludko <ishell@chromium.org> > Reviewed-by: Dan Elphick <delphick@chromium.org> > Cr-Commit-Position: refs/heads/master@{#74448} Bug: v8:11460 Change-Id: Ice601be4826adbae1288f3314192bdf6566a366c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2883660 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Reviewed-by:
Maya Lekova <mslekova@chromium.org> Commit-Queue: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#74473}
-
- 07 May, 2021 1 commit
-
-
Shu-yu Guo authored
This is a reland of 6c65e858 Changes since revert: - Add --disable-shared-ro-heap-for-testing flag that is implied by d8's --stress-snapshot, since RO heap sharing currently does not support deserializing/serializing while original Isolate is still running - Add BUILD.gn assert that v8_enable_pointer_compression_shared_cage requires x64 or arm64 Original change's description: > [ptr-cage] Turn on shared pointer cage by default for arm64 and x64 > > Bug: v8:11460 > Change-Id: I9ab419b5e90fbe677e1d63b41699d90552839e98 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2873226 > Commit-Queue: Shu-yu Guo <syg@chromium.org> > Reviewed-by: Igor Sheludko <ishell@chromium.org> > Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> > Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> > Cr-Commit-Position: refs/heads/master@{#74422} Bug: v8:11460 Change-Id: I7eb189b7f8ac3e30da96b0dadd2c085f08a1a0b1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2878855 Commit-Queue: Shu-yu Guo <syg@chromium.org> Reviewed-by:
Dominik Inführ <dinfuehr@chromium.org> Reviewed-by:
Adam Klein <adamk@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Reviewed-by:
Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#74448}
-
- 27 Apr, 2021 3 commits
-
-
Nico Weber authored
Bug: v8:11699 Change-Id: I286ea7d3a6455528c66eee3f479455bfc49f190c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2852039 Commit-Queue: Nico Weber <thakis@chromium.org> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#74232}
-
Michael Lippautz authored
- Move ASAN and MSAN support to base/ - Eval arguments for builds without sanitizer to preserve same semantics - IWYU fixes Bug: chromium:1056170 Change-Id: I212becf205e03b155c188ffd13cf5629df6f2cb8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2851887Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Omer Katz <omerkatz@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#74225}
-
Maya Lekova authored
This CL makes the object passed as argument to IsLeafTemplateForApiObject be received as a handle instead of a raw C++ pointer. From the codegen point of view, the memory representation is the same, so this doesn't change its semantics. Bug: chromium:1052746 Change-Id: Ibc116aa4d577ba95f30d1014f15f34ef3fbb1a35 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2851884Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Commit-Queue: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#74220}
-
- 21 Apr, 2021 2 commits
-
-
Maya Lekova authored
This CL hardens the test function for unwrapping the C++ object to only do so if the correct API object is passed from JS. Bug: chromium:1201057 Change-Id: I81eb16efe2711bd788c775e3bcb712720bbe4782 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2843347Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Commit-Queue: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#74102}
-
Maya Lekova authored
This CL hardens the test facility in d8 for interface types for the fast C API. Bug: chromium:1201011 Change-Id: Ibfe1bb242f86b4a5edd0d195e049852430f8a2fe Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2843344 Commit-Queue: Maya Lekova <mslekova@chromium.org> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#74079}
-
- 20 Apr, 2021 3 commits
-
-
Stephen Belanger authored
This is a reland of d5457f5f after a speculative revert. Additionally it fixes an issue with throwing promise hooks. Original change's description: > [api] JSFunction PromiseHook for v8::Context > > This will enable Node.js to get much better performance from async_hooks > as currently PromiseHook delegates to C++ for the hook function and then > Node.js delegates it right back to JavaScript, introducing several > unnecessary barrier hops in code that gets called very, very frequently > in modern, promise-heavy applications. > > This API mirrors the form of the original C++ function based PromiseHook > API, however it is intentionally separate to allow it to use JSFunctions > triggered within generated code to, as much as possible, avoid entering > runtime functions entirely. > > Because PromiseHook has internal use also, beyond just the Node.js use, > I have opted to leave the existing API intact and keep this separate to > avoid conflicting with any possible behaviour expectations of other API > users. > > The design ideas for this new API stemmed from discussion with some V8 > team members at a previous Node.js Diagnostics Summit hosted by Google > in Munich, and the relevant documentation of the discussion can be found > here: https://docs.google.com/document/d/1g8OrG5lMIUhRn1zbkutgY83MiTSMx-0NHDs8Bf-nXxM/edit#heading=h.w1bavzz80l1e > > A summary of the reasons for why this new design is important can be > found here: https://docs.google.com/document/d/1vtgoT4_kjgOr-Bl605HR2T6_SC-C8uWzYaOPDK5pmRo/edit?usp=sharing > > Bug: v8:11025 > Change-Id: I0b403b00c37d3020b5af07b654b860659d3a7697 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2759188 > Reviewed-by: Marja Hölttä <marja@chromium.org> > Reviewed-by: Camillo Bruni <cbruni@chromium.org> > Reviewed-by: Anton Bikineev <bikineev@chromium.org> > Reviewed-by: Igor Sheludko <ishell@chromium.org> > Commit-Queue: Camillo Bruni <cbruni@chromium.org> > Cr-Commit-Position: refs/heads/master@{#73858} Bug: v8:11025 Bug: chromium:1197475 Change-Id: I73a71e97d9c3dff89a2b092c3fe4adff81ede8ef Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2823917Reviewed-by:
Marja Hölttä <marja@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Reviewed-by:
Anton Bikineev <bikineev@chromium.org> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#74071}
-
Maya Lekova authored
This is a reland of 6124a534 It fixes a UAF issue in the d8 test by moving the test API object constructor to PerIsolateData. It also fixes a crash in Chromium caused by current usage of v8::ApiObject, which should be migrated to v8::Value*. Original change's description: > [fastcall] Add support for leaf interface type checks > > This CL adds an IsTemplateForApiObject method to FunctionTemplate > allowing the embedder to check whether a given API object was > instantiated by this template without including parent templates > in the search. It also replaces the v8::ApiObject in the fast API > with a raw v8::Value pointer to allow use of standard C++ casts. > > Bug: chromium:1052746 > Change-Id: I0812ec8b4daaa5f5005aabf10b63e1e84e0b8f03 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2595310 > Commit-Queue: Maya Lekova <mslekova@chromium.org> > Reviewed-by: Georg Neis <neis@chromium.org> > Reviewed-by: Camillo Bruni <cbruni@chromium.org> > Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> > Cr-Commit-Position: refs/heads/master@{#73999} Bug: chromium:1052746, chromium:1199900 Change-Id: I4b7f0c9e9152919dde4a1d0c48fbf5ac8c5b13d8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2835711Reviewed-by:
Georg Neis <neis@chromium.org> Reviewed-by:
Sathya Gunasekaran <gsathya@chromium.org> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Commit-Queue: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#74064}
-
Sathya Gunasekaran authored
This is a reland of c83c9590 Changes since revert: nothing, issue was crbug.com/v8/11666 Original change's description: > [ic] Add a new MegaDOM IC > > This patch implements the MegaDOM IC setup and access. A new MegaDOM > IC state indicates that we've seen only DOM accessors at this access > site. > > This CL only adds support for DOM getters in LoadIC, other kinds of > access will be added in follow on CLs. > > Still remaining TODO before shipping: > 1. Have a mechanism to invalidate the protector > 2. Have a mechanism to find the accessors that aren't overloaded > 3. Use a new builtin to miss to runtime on access check failure > > Change-Id: Ie12efe5e9fa284f023043b996d61e7d74e710ee2 > Bug: v8:11321 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2618239 > Reviewed-by: Omer Katz <omerkatz@chromium.org> > Reviewed-by: Camillo Bruni <cbruni@chromium.org> > Reviewed-by: Dan Elphick <delphick@chromium.org> > Reviewed-by: Mythri Alle <mythria@chromium.org> > Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> > Cr-Commit-Position: refs/heads/master@{#73733} Bug: v8:11321 Change-Id: I2bec54465542b5b40c42adb6eb12b6ce72cce5bd Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2794439Reviewed-by:
Dan Elphick <delphick@chromium.org> Reviewed-by:
Mythri Alle <mythria@chromium.org> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Omer Katz <omerkatz@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#74056}
-
- 16 Apr, 2021 4 commits
-
-
Shu-yu Guo authored
This reverts commit 6124a534. Reason for revert: On suspicion of blocking V8 roll: https://ci.chromium.org/ui/p/chromium/builders/try/win10_chromium_x64_rel_ng/839568/overview Original change's description: > [fastcall] Add support for leaf interface type checks > > This CL adds an IsTemplateForApiObject method to FunctionTemplate > allowing the embedder to check whether a given API object was > instantiated by this template without including parent templates > in the search. It also replaces the v8::ApiObject in the fast API > with a raw v8::Value pointer to allow use of standard C++ casts. > > Bug: chromium:1052746 > Change-Id: I0812ec8b4daaa5f5005aabf10b63e1e84e0b8f03 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2595310 > Commit-Queue: Maya Lekova <mslekova@chromium.org> > Reviewed-by: Georg Neis <neis@chromium.org> > Reviewed-by: Camillo Bruni <cbruni@chromium.org> > Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> > Cr-Commit-Position: refs/heads/master@{#73999} Bug: chromium:1052746 Change-Id: Ic99ec616310f0f75800c3dad393b5d2d685b76ab No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2829988 Auto-Submit: Shu-yu Guo <syg@chromium.org> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Cr-Commit-Position: refs/heads/master@{#74016}
-
Maya Lekova authored
This CL adds an IsTemplateForApiObject method to FunctionTemplate allowing the embedder to check whether a given API object was instantiated by this template without including parent templates in the search. It also replaces the v8::ApiObject in the fast API with a raw v8::Value pointer to allow use of standard C++ casts. Bug: chromium:1052746 Change-Id: I0812ec8b4daaa5f5005aabf10b63e1e84e0b8f03 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2595310 Commit-Queue: Maya Lekova <mslekova@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#73999}
-
Camillo Bruni authored
- This is a reland of d435eaa5 - Fix vtunedomain Original change's description: > [api] Add v8::Isolate::ThrowError helper > > Add a ThrowError helper to encourage throwing full Error objects > instead of just v8::Strings. > > Bug: v8:11195 > Change-Id: I15d75b1d39b817de3b9026a836b57a70d7c16a28 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2811738 > Commit-Queue: Camillo Bruni <cbruni@chromium.org> > Reviewed-by: Dan Elphick <delphick@chromium.org> > Reviewed-by: Yang Guo <yangguo@chromium.org> > Reviewed-by: Marja Hölttä <marja@chromium.org> > Cr-Commit-Position: refs/heads/master@{#73958} Bug: v8:11195 Change-Id: I3cffaa4f122d74705476c3f8791b549f85d8c87b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2826534Reviewed-by:
Dan Elphick <delphick@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Marja Hölttä <marja@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#73993}
-
Leszek Swirski authored
Add --compile-only and --repeat-compile=N options for benchmarking compilation performance. Change-Id: Ibcdce94ef0d2a24374badeca114f44b693adb2ac Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2827903 Auto-Submit: Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#73987}
-
- 14 Apr, 2021 2 commits
-
-
Maya Lekova authored
This reverts commit d435eaa5. Reason for revert: Breaks compilation on the vtunejit bot, see https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Linux%20-%20vtunejit/41247/overview Original change's description: > [api] Add v8::Isolate::ThrowError helper > > Add a ThrowError helper to encourage throwing full Error objects > instead of just v8::Strings. > > Bug: v8:11195 > Change-Id: I15d75b1d39b817de3b9026a836b57a70d7c16a28 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2811738 > Commit-Queue: Camillo Bruni <cbruni@chromium.org> > Reviewed-by: Dan Elphick <delphick@chromium.org> > Reviewed-by: Yang Guo <yangguo@chromium.org> > Reviewed-by: Marja Hölttä <marja@chromium.org> > Cr-Commit-Position: refs/heads/master@{#73958} Bug: v8:11195 Change-Id: I2773d8ca7d73e7952d274381e2e0a2e5733a83da No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2826533 Auto-Submit: Maya Lekova <mslekova@chromium.org> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Cr-Commit-Position: refs/heads/master@{#73959}
-
Camillo Bruni authored
Add a ThrowError helper to encourage throwing full Error objects instead of just v8::Strings. Bug: v8:11195 Change-Id: I15d75b1d39b817de3b9026a836b57a70d7c16a28 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2811738 Commit-Queue: Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Dan Elphick <delphick@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#73958}
-
- 13 Apr, 2021 1 commit
-
-
Sara Tang authored
Original CL: https://chromium-review.googlesource.com/c/v8/v8/+/2807157 Bug: v8:11043 Change-Id: I49d29323bf3ae6ede7e48e63645f4ee0a750c83e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2818573Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Commit-Queue: Sara Tang <sartang@microsoft.com> Cr-Commit-Position: refs/heads/master@{#73931}
-
- 12 Apr, 2021 2 commits
-
-
Shu-yu Guo authored
With a shared cage, there's no easy way to recover an Isolate from a heap pointer. Symbol::Description relies on RO symbols' description slot being uncompressed so a Handle could point to it. This isn't possible with a shared cage without going through TLS to get an Isolate for Handle construction, so deprecate the method in favor of one that takes an Isolate directly. Bug: v8:11460 Change-Id: I69b2b7d77f4c00d0f58954cd80e22cba5ff222e3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2802860 Commit-Queue: Shu-yu Guo <syg@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#73924}
-
Maya Lekova authored
This CL makes more assumptions in the fast-api-call mjsunit test explicit and specifies --deopt-every-n-times=0 for it, as it relies on particular optimization/deoptimization sequences. It also fixes an inconsistency between the fast/slow path results. Bug: v8:11620 Change-Id: I385949a04534cd1658236878875efa6622936bc5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2817607Reviewed-by:
Georg Neis <neis@chromium.org> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Commit-Queue: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#73905}
-
- 08 Apr, 2021 4 commits
-
-
Michael Achenbach authored
This reverts commit d5457f5f. Reason for revert: https://ci.chromium.org/p/v8/builders/ci/V8%20Linux%20-%20gc%20stress/32999 Original change's description: > [api] JSFunction PromiseHook for v8::Context > > This will enable Node.js to get much better performance from async_hooks > as currently PromiseHook delegates to C++ for the hook function and then > Node.js delegates it right back to JavaScript, introducing several > unnecessary barrier hops in code that gets called very, very frequently > in modern, promise-heavy applications. > > This API mirrors the form of the original C++ function based PromiseHook > API, however it is intentionally separate to allow it to use JSFunctions > triggered within generated code to, as much as possible, avoid entering > runtime functions entirely. > > Because PromiseHook has internal use also, beyond just the Node.js use, > I have opted to leave the existing API intact and keep this separate to > avoid conflicting with any possible behaviour expectations of other API > users. > > The design ideas for this new API stemmed from discussion with some V8 > team members at a previous Node.js Diagnostics Summit hosted by Google > in Munich, and the relevant documentation of the discussion can be found > here: https://docs.google.com/document/d/1g8OrG5lMIUhRn1zbkutgY83MiTSMx-0NHDs8Bf-nXxM/edit#heading=h.w1bavzz80l1e > > A summary of the reasons for why this new design is important can be > found here: https://docs.google.com/document/d/1vtgoT4_kjgOr-Bl605HR2T6_SC-C8uWzYaOPDK5pmRo/edit?usp=sharing > > Bug: v8:11025 > Change-Id: I0b403b00c37d3020b5af07b654b860659d3a7697 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2759188 > Reviewed-by: Marja Hölttä <marja@chromium.org> > Reviewed-by: Camillo Bruni <cbruni@chromium.org> > Reviewed-by: Anton Bikineev <bikineev@chromium.org> > Reviewed-by: Igor Sheludko <ishell@chromium.org> > Commit-Queue: Camillo Bruni <cbruni@chromium.org> > Cr-Commit-Position: refs/heads/master@{#73858} Bug: v8:11025 Change-Id: Ie7345c4505f39c973f9f0dbca745b591cff63f3f No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2814740 Auto-Submit: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Cr-Commit-Position: refs/heads/master@{#73862}
-
Stephen Belanger authored
This will enable Node.js to get much better performance from async_hooks as currently PromiseHook delegates to C++ for the hook function and then Node.js delegates it right back to JavaScript, introducing several unnecessary barrier hops in code that gets called very, very frequently in modern, promise-heavy applications. This API mirrors the form of the original C++ function based PromiseHook API, however it is intentionally separate to allow it to use JSFunctions triggered within generated code to, as much as possible, avoid entering runtime functions entirely. Because PromiseHook has internal use also, beyond just the Node.js use, I have opted to leave the existing API intact and keep this separate to avoid conflicting with any possible behaviour expectations of other API users. The design ideas for this new API stemmed from discussion with some V8 team members at a previous Node.js Diagnostics Summit hosted by Google in Munich, and the relevant documentation of the discussion can be found here: https://docs.google.com/document/d/1g8OrG5lMIUhRn1zbkutgY83MiTSMx-0NHDs8Bf-nXxM/edit#heading=h.w1bavzz80l1e A summary of the reasons for why this new design is important can be found here: https://docs.google.com/document/d/1vtgoT4_kjgOr-Bl605HR2T6_SC-C8uWzYaOPDK5pmRo/edit?usp=sharing Bug: v8:11025 Change-Id: I0b403b00c37d3020b5af07b654b860659d3a7697 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2759188Reviewed-by:
Marja Hölttä <marja@chromium.org> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Anton Bikineev <bikineev@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#73858}
-
Sara Tang authored
This CL implements the equivalent of ETW in macos (called Signposts) Bug: v8:11043 Change-Id: Ifa72cfd17fca81b18e3e8b1003fd6ab72de3c986 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2807157 Commit-Queue: Sara Tang <sartang@microsoft.com> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#73856}
-
Maya Lekova authored
This CL adds handling of unexpected argument types to the functions provided by d8.test.fast_c_api. Bug: chromium:1196598 Change-Id: I7c62280f168817b73e89fdb7457ee9054b51a318 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2808948Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Commit-Queue: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#73852}
-
- 07 Apr, 2021 3 commits
-
-
Maya Lekova authored
This CL fixes the behaviour of the d8.test.fast_c_api constructor when the global object has been modified by not allowing calls to it without the `new` keyword. Bug: chromium:1196597 Change-Id: I49b4a412d501f5c9adaa72b63beec1483ab4c449 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2808943 Commit-Queue: Maya Lekova <mslekova@chromium.org> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#73831}
-
Maya Lekova authored
This CL disables exposing the d8.test.fast_c_api constructor when we're doing correctness fuzzing to prevent TypeError when the object is not defined (which happens when --turbo-fast-api-calls is not passed). Bug: chromium:1196569 Change-Id: I39069c736d11326419b7562189931afc69a485b0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2808940Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Commit-Queue: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#73822}
-
Patrick Thier authored
Add check, that passed argument is a HeapObject. Bug: chromium:1196503 Change-Id: I23d951b5581781ad3c6867d81c765d13c329d3a8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2808936 Commit-Queue: Camillo Bruni <cbruni@chromium.org> Auto-Submit: Patrick Thier <pthier@chromium.org> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#73820}
-
- 06 Apr, 2021 2 commits
-
-
Patrick Thier authored
Explicitly check for JSFunction or JSBoundFunction and throw if any other JS type is passed to d8.test.verifySourcePositions. Bug: chromium:1195717 Change-Id: Id65875526d5d6b3f720850d41d0a8192ec407035 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2807607 Auto-Submit: Patrick Thier <pthier@chromium.org> Commit-Queue: Patrick Thier <pthier@chromium.org> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#73811}
-
Maya Lekova authored
This is a reland of 9eba2d85. The reland fixes a global state variable which was incompatible with the --isolate flag in d8, which runs the same script in a different isolate. Original change's description: > [fastcall] Add fast API testing facilities to d8 > > This CL provides the minimum necessary functionality to expose fast API > for testing in mjsunit, exposing the fast path for fuzzing. It exposes > a d8.test.fast_c_api with an `add_all` method, which exercises primitive > types. On x64, all integer and floating point types are supported. On > other platforms currently only 32-bit integers are included in the test. > > Design doc: > https://docs.google.com/document/d/1KUKPfXkSRZTA2gMwaWbpQKlYfw0C-T6AE3XzC4viHbo/ > > Bug: chromium:1052746 > Change-Id: Icc824199a26dd2abd2b869f5483a39d38e4dce3e > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2749154 > Reviewed-by: Camillo Bruni <cbruni@chromium.org> > Reviewed-by: Georg Neis <neis@chromium.org> > Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> > Commit-Queue: Maya Lekova <mslekova@chromium.org> > Cr-Commit-Position: refs/heads/master@{#73670} Bug: chromium:1052746 Change-Id: I33b265b97bf7c797eee7d4cce5066999358a8c66 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2790174Reviewed-by:
Georg Neis <neis@chromium.org> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Sathya Gunasekaran <gsathya@chromium.org> Commit-Queue: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#73801}
-
- 01 Apr, 2021 1 commit
-
-
Sara Tang authored
Feedback from Microsoft partners indicates that it would be beneficial to enable ETW stack-walking events by default. This is difficult, because the --interpreted-frames-native-stack flag comes with a significant perf degradation. Ideally, we would turn this flag on dynamically, only when a ETW recorder is actively triggering the provider. Unfortunately, the flag in its current state cannot be enabled dynamically. In light of this, we have decided to only flip the build flag. Bug: v8:11043 Change-Id: Id883b9bcd635b41139450ab2d5c92511422525a3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2773792Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Commit-Queue: Sara Tang <sartang@microsoft.com> Cr-Commit-Position: refs/heads/master@{#73784}
-
- 31 Mar, 2021 1 commit
-
-
Maya Lekova authored
This reverts commit c83c9590. Reason for revert: Speculatively reverting for a failure on Arm GC stress bot - https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Arm%20GC%20Stress/b8851256837192083520/overview Original change's description: > [ic] Add a new MegaDOM IC > > This patch implements the MegaDOM IC setup and access. A new MegaDOM > IC state indicates that we've seen only DOM accessors at this access > site. > > This CL only adds support for DOM getters in LoadIC, other kinds of > access will be added in follow on CLs. > > Still remaining TODO before shipping: > 1. Have a mechanism to invalidate the protector > 2. Have a mechanism to find the accessors that aren't overloaded > 3. Use a new builtin to miss to runtime on access check failure > > Change-Id: Ie12efe5e9fa284f023043b996d61e7d74e710ee2 > Bug: v8:11321 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2618239 > Reviewed-by: Omer Katz <omerkatz@chromium.org> > Reviewed-by: Camillo Bruni <cbruni@chromium.org> > Reviewed-by: Dan Elphick <delphick@chromium.org> > Reviewed-by: Mythri Alle <mythria@chromium.org> > Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> > Cr-Commit-Position: refs/heads/master@{#73733} Bug: v8:11321 Change-Id: Ib6a55796f2a3c345d4923f9eaa215a6ff55ed15b No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2794437 Auto-Submit: Maya Lekova <mslekova@chromium.org> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Cr-Commit-Position: refs/heads/master@{#73734}
-