Skip to content

Conversation

@psmarshall
Copy link
Contributor

Checklist
  • make -j4 test (UNIX), or vcbuild test (Windows) passes
  • commit message follows commit guidelines

Here is the ABI compat patch for v8 6.8 (to make it look like 6.7, which is currently in Node 10).

Here is the result of git diff master -- deps/v8/include with this patch: https://gist.github.com/psmarshall/75376dbb81dbfbf17cfc47d62cb2e80b

One thing to fix:
I guess we also need to get rid of the kRead field from the PageAllocator::Permission enum in v8-platform.h - that is going to be a bit more involved. Could that break an embedder?

For now, I built this on top of #21079.

@addaleax@targos@hashseed

@nodejs-github-botnodejs-github-bot added build Issues and PRs related to build files or the CI. v8 engine Issues and PRs related to the V8 dependency. labels Jul 5, 2018
@addaleax
Copy link
Member

I think the HeapCodeStatistics diff could be a real ABI issue too? The others are probably not ones that we really have to care about

@mhdawson
Copy link
Member

Any idea if this removes the need for the newer compiler on OSX? If it does that would help as we could avoid deciding if its ok to up the level we build on for 10.X

@psmarshallpsmarshallforce-pushed the v8-api-combat-6.8 branch 2 times, most recently from 77e28af to ec846b9CompareJuly 6, 2018 09:15
@psmarshall
Copy link
ContributorAuthor

I reverted the changes to HeapCodeStatistics and updated the gist.

targosand others added 14 commits July 26, 2018 09:28
PR-URL: nodejs#21079 Reviewed-By: James M Snell <[email protected]> Reviewed-By: Matteo Collina <[email protected]> Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: Yang Guo <[email protected]>
PR-URL: nodejs#21079 Reviewed-By: James M Snell <[email protected]> Reviewed-By: Matteo Collina <[email protected]> Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: Yang Guo <[email protected]>
Synchronize source files list with upstream's BUILD.gn. Teach v8.gyp to build and run torque, V8's DSL for generating builtins. On Windows, the torque binary needs to be compiled and linked with exception semantics and assume V8 is embedded. Fixes: nodejs/node-v8#57 Co-Authored-By: Ben Noordhuis <[email protected]> Co-Authored-By: Refael Ackermann <[email protected]> PR-URL: nodejs#21079 Reviewed-By: James M Snell <[email protected]> Reviewed-By: Matteo Collina <[email protected]> Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: Yang Guo <[email protected]>
Original commit message: [log] improve --perf-basic-prof-only-functions Change --perf-basic-prof-only-functions to also log builtin code creation events, otherwise InterpretedFunctions generated by --interpreted-frames-native-stack will be filtered out. [email protected] Change-Id: Ib0623fca88e25c514473a43de56ebbbdcb146f97 Reviewed-on: https://chromium-review.googlesource.com/1100014 Reviewed-by: Yang Guo <[email protected]> Commit-Queue: Yang Guo <[email protected]> Cr-Commit-Position: refs/heads/master@{nodejs#53760} Refs: v8/v8@5dd3395 PR-URL: nodejs#21386 Reviewed-By: Yang Guo <[email protected]> Reviewed-By: Gus Caplan <[email protected]> Reviewed-By: James M Snell <[email protected]>
Original commit message: [log][api] introduce public CodeEventListener API Introduce a new public API called CodeEventListener to allow embedders to better support external profilers and other diagnostic tools without relying on unsupported methods like --perf-basic-prof. Bug: v8:7694 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: I063cc965394d59401358757634c9ea84c11517e9 Co-authored-by: Daniel Beckert <[email protected]> Reviewed-on: https://chromium-review.googlesource.com/1028770 Commit-Queue: Yang Guo <[email protected]> Reviewed-by: Hannes Payer <[email protected]> Reviewed-by: Yang Guo <[email protected]> Reviewed-by: Andreas Haas <[email protected]> Cr-Commit-Position: refs/heads/master@{nodejs#53382} Refs: v8/v8@aa6ce3e PR-URL: nodejs#21079 Reviewed-By: James M Snell <[email protected]> Reviewed-By: Matteo Collina <[email protected]> Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: Yang Guo <[email protected]>
Original commit message: [log] fix ExistingCodeLogger behavior on edge case ExistingCodeLogger was behaving incorrectly when the CodeEventHandler API was used in combination with --interpreted-frames-native-stack. Instead of collecting copied trampolines as InterpretedFunction:functionName, they were being collected as Builtin:IntepreterEntryTrampolines. This patch adds special handling for copied trampolines when using ExistingCodeLogger. [email protected] Change-Id: I3ee4be03800122d28d53b51b20c60dcf6263e4c1 Reviewed-on: https://chromium-review.googlesource.com/1087813 Reviewed-by: Yang Guo <[email protected]> Commit-Queue: Yang Guo <[email protected]> Cr-Commit-Position: refs/heads/master@{#53624} Refs: v8/v8@b20faff PR-URL: nodejs#21126 Refs: v8/v8@aa6ce3e Reviewed-By: Michaël Zasso <[email protected]> Reviewed-By: Michael Dawson <[email protected]> Reviewed-By: James M Snell <[email protected]>
Original commit message: [log] fix boolean logic on LogCodeObject [email protected] Change-Id: Icb4825344991e5b2d15050e037064c60eeb9617e Reviewed-on: https://chromium-review.googlesource.com/1097578 Reviewed-by: Benedikt Meurer <[email protected]> Reviewed-by: Yang Guo <[email protected]> Commit-Queue: Benedikt Meurer <[email protected]> Cr-Commit-Position: refs/heads/master@{nodejs#53777} Refs: v8/v8@acc336c PR-URL: nodejs#21126 Refs: v8/v8@aa6ce3e Reviewed-By: Michaël Zasso <[email protected]> Reviewed-By: Michael Dawson <[email protected]> Reviewed-By: James M Snell <[email protected]>
Original commit message: [log][api] Fix GCC 4.9 build failure GCC 4.9 used on some Node.js CI machines complains when the control reaches the end of a non-void function and no return is encountered. [email protected], [email protected], [email protected] Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: I5af0192cb187eccbf34dbb60ff3ac2e4774af803 Reviewed-on: https://chromium-review.googlesource.com/1105619 Reviewed-by: Yang Guo <[email protected]> Commit-Queue: Yang Guo <[email protected]> Cr-Commit-Position: refs/heads/master@{nodejs#53861} Refs: v8/v8@70c4340 PR-URL: nodejs#21126 Refs: v8/v8@aa6ce3e Reviewed-By: Michaël Zasso <[email protected]> Reviewed-By: Michael Dawson <[email protected]> Reviewed-By: James M Snell <[email protected]>
Original commit message: [API] Expand BigInt API Provide a more complete BigInt API. Bug: v8:7712 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: Ic8562d616f3125deabdf8b52c7019b191bef0e07 Reviewed-on: chromium-review.googlesource.com/1101198 Commit-Queue: Yang Guo <[email protected]> Reviewed-by: Jakob Kummerow <[email protected]> Reviewed-by: Yang Guo <[email protected]> Cr-Commit-Position: refs/heads/master@{nodejs#54122} PR-URL: nodejs#21644 Reviewed-By: Tiancheng "Timothy" Gu <[email protected]> Reviewed-By: Anna Henningsen <[email protected]>
Original commit message: [api] Switch from `SetBuildEmbedderGraphCallback` to `AddBuildEmbedderGraphCallback` `SetBuildEmbedderGraphCallback`, unlike `SetWrapperClassInfoProvider`, assumes a monolithic embedder that can provide all necessary information. That is not the case for e.g. Node.js, which can e.g. provide multiple Node.js instances per V8 Isolate, as well as native addons that may allocate resources on their own. Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: Ib53dfde82416dd69934b08623e27d674a483ac2d Reviewed-on: https://chromium-review.googlesource.com/1082441 Commit-Queue: Ulan Degenbaev <[email protected]> Reviewed-by: Ulan Degenbaev <[email protected]> Reviewed-by: Yang Guo <[email protected]> Cr-Commit-Position: refs/heads/master@{nodejs#53545} Refs: v8/v8@555c811 PR-URL: nodejs#21741 Reviewed-By: James M Snell <[email protected]> Reviewed-By: Joyee Cheung <[email protected]> Reviewed-By: Refael Ackermann <[email protected]>
Original commit message: [turbofan] Remove optimization of default Promise capability functions. The JSCallReducer could in theory inline the default resolve and reject functions passed to the executor in the Promise constructor. But that inlining is almost never triggered because we don't have SFI based feedback in the CallIC. Also the use of the Promise constructor is discouraged, so we shouldn't really need to squeeze the last bit of performance out of this even in the future. Getting rid of this optimization will make significantly easier to implement the Swallowed Rejection Hook, as there's less churn on the TurboFan side then. Bug: v8:7919 Change-Id: If0c54f1c6c7ce95686cd74232be6b8693ac688c9 Reviewed-on: https://chromium-review.googlesource.com/1125926 Commit-Queue: Benedikt Meurer <[email protected]> Reviewed-by: Jaroslav Sevcik <[email protected]> Cr-Commit-Position: refs/heads/master@{nodejs#54210} Refs: v8/v8@2075910 PR-URL: nodejs#21838 Refs: nodejs/promises-debugging#8 Reviewed-By: Gus Caplan <[email protected]> Reviewed-By: Benjamin Gruenbaum <[email protected]> Reviewed-By: James M Snell <[email protected]> Reviewed-By: Yang Guo <[email protected]> Reviewed-By: Benedikt Meurer <[email protected]>
Original commit message: [promise] Implement Swallowed Rejection Hook. This extends the current Promise Rejection Hook with two new events kPromiseRejectAfterResolved kPromiseResolveAfterResolved which are used to detect (and signal) misuse of the Promise constructor. Specifically the common bug like new Promise((res, rej) =>{res(1); throw new Error("something") }); where the error is silently swallowed by the Promise constructor without the user ever noticing can be caught via this hook. Doc: https://goo.gl/2stLUY Bug: v8:7919 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: I890a7e766cdd1be88db94844fb744f72823dba33 Reviewed-on: https://chromium-review.googlesource.com/1126099 Reviewed-by: Maya Lekova <[email protected]> Reviewed-by: Benedikt Meurer <[email protected]> Reviewed-by: Yang Guo <[email protected]> Commit-Queue: Benedikt Meurer <[email protected]> Cr-Commit-Position: refs/heads/master@{nodejs#54309} Refs: v8/v8@907d7bc PR-URL: nodejs#21838 Refs: nodejs/promises-debugging#8 Reviewed-By: Gus Caplan <[email protected]> Reviewed-By: Benjamin Gruenbaum <[email protected]> Reviewed-By: James M Snell <[email protected]> Reviewed-By: Yang Guo <[email protected]> Reviewed-By: Benedikt Meurer <[email protected]>
Original commit message: Reland "[builtins] Add %IsTraceCategoryEnabled and %Trace builtins" This is a reland of 8d4572a Original change's description: > [builtins] Add %IsTraceCategoryEnabled and %Trace builtins > > Adds the builtin Trace and IsTraceCategoryEnabled functions > exposed via extra bindings. These are intended to use by > embedders to allow basic trace event support from JavaScript. > > ```js > isTraceCategoryEnabled('v8.some-category') > > trace('e'.charCodeAt(0), 'v8.some-category', > 'Foo', 0,{abc: 'xyz'}) > ``` > > Bug: v8:7851 > Change-Id: I7bfb9bb059efdf87d92a56a0aae326650730c250 > Reviewed-on: chromium-review.googlesource.com/1103294 > Commit-Queue: Yang Guo <[email protected]> > Reviewed-by: Yang Guo <[email protected]> > Reviewed-by: Fadi Meawad <[email protected]> > Reviewed-by: Camillo Bruni <[email protected]> > Reviewed-by: Benedikt Meurer <[email protected]> > Cr-Commit-Position: refs/heads/master@{nodejs#54121} [email protected] Bug: v8:7851 Change-Id: Id063754b2834b3b6a2b2654e76e8637bcd6aa5f8 Reviewed-on: chromium-review.googlesource.com/1137071 Commit-Queue: Yang Guo <[email protected]> Reviewed-by: Yang Guo <[email protected]> Reviewed-by: Camillo Bruni <[email protected]> Reviewed-by: Benedikt Meurer <[email protected]> Cr-Commit-Position: refs/heads/master@{nodejs#54532} PR-URL: nodejs#21899 Reviewed-By: Ali Ijaz Sheikh <[email protected]>
Original commit message: [postmortem] add JS_ERROR_TYPE and context embedder index * JS_ERROR_TYPE is required for postmortem tools to inspect JSError objects (see nodejs/llnode#215 for a usage example) * The context embedder index is required for postmortem tools to access embedder data stored in the context (see nodejs/llnode#204 for a usage example) [email protected], [email protected] Change-Id: Ib7c7eb44f6ad327fc71a1d45f510c49377db7a25 Reviewed-on: https://chromium-review.googlesource.com/1138493 Reviewed-by: Benedikt Meurer <[email protected]> Commit-Queue: Benedikt Meurer <[email protected]> Cr-Commit-Position: refs/heads/master@{#54475} Refs: v8/v8@804a693 PR-URL: nodejs#21855 Reviewed-By: Michaël Zasso <[email protected]> Reviewed-By: Gus Caplan <[email protected]> Reviewed-By: James M Snell <[email protected]> Reviewed-By: Richard Lau <[email protected]> Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: Yang Guo <[email protected]>
@targos
Copy link
Member

targos commented Jul 26, 2018

V8 6.8 just landed on master.

I think it would be best to retarget this PR to v10.x-staging. It would become the backport PR.
I prepared and tested a branch for this:

  • Based on v10.x-staging
  • Cherry-pick V8 6.8 update except the NODE_MODULE_VERSION bump
  • Cherry-pick both of your commits

@psmarshall Can I force push it to this PR's branch?

@psmarshall
Copy link
ContributorAuthor

@targos Yes please do 👍

@targostargosforce-pushed the v8-api-combat-6.8 branch from ec846b9 to a2aae79CompareJuly 26, 2018 11:55
@targostargos changed the base branch from master to v10.x-stagingJuly 26, 2018 11:55
RReverserand others added 3 commits July 26, 2018 14:02
As per Node.js docs, vm.Script instance is not bound to any context. However, this test was expecting otherwise and depended on implementation details which are going to change. Refs: https://chromium-review.googlesource.com/c/v8/v8/+/1013581 PR-URL: nodejs#21079 Reviewed-By: James M Snell <[email protected]> Reviewed-By: Matteo Collina <[email protected]> Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: Yang Guo <[email protected]>
This commit updates the following postmortem metadata constant: - v8dbg_context_idx_closure - Renamed: v8dbg_context_idx_scope_info - V8 commit: v8/v8@39496a9#diff-f3f182b0510ba2ee39ae87e421ff110bFixes: nodejs/node-v8#59 PR-URL: nodejs#21079 Reviewed-By: James M Snell <[email protected]> Reviewed-By: Matteo Collina <[email protected]> Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: Yang Guo <[email protected]>
@targos
Copy link
Member

Done!
I also excluded 0f3c2c6 instead of applying and immediately reverting it.

firass111 pushed a commit to firass111/Project_node1 that referenced this pull request Apr 16, 2025
Backport-PR-URL: nodejs/node#21668 PR-URL: nodejs/node#21079 Reviewed-By: James M Snell <[email protected]> Reviewed-By: Matteo Collina <[email protected]> Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: Yang Guo <[email protected]>
firass111 pushed a commit to firass111/Project_node1 that referenced this pull request Apr 16, 2025
Backport-PR-URL: nodejs/node#21668 PR-URL: nodejs/node#21079 Reviewed-By: James M Snell <[email protected]> Reviewed-By: Matteo Collina <[email protected]> Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: Yang Guo <[email protected]>
firass111 pushed a commit to firass111/Project_node1 that referenced this pull request Apr 16, 2025
Synchronize source files list with upstream's BUILD.gn. Teach v8.gyp to build and run torque, V8's DSL for generating builtins. On Windows, the torque binary needs to be compiled and linked with exception semantics and assume V8 is embedded. Fixes: nodejs/node-v8#57 Co-Authored-By: Ben Noordhuis <[email protected]> Co-Authored-By: Refael Ackermann <[email protected]> Backport-PR-URL: nodejs/node#21668 PR-URL: nodejs/node#21079 Reviewed-By: James M Snell <[email protected]> Reviewed-By: Matteo Collina <[email protected]> Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: Yang Guo <[email protected]>
firass111 pushed a commit to firass111/Project_node1 that referenced this pull request Apr 16, 2025
Original commit message: [log] improve --perf-basic-prof-only-functions Change --perf-basic-prof-only-functions to also log builtin code creation events, otherwise InterpretedFunctions generated by --interpreted-frames-native-stack will be filtered out. [email protected] Change-Id: Ib0623fca88e25c514473a43de56ebbbdcb146f97 Reviewed-on: https://chromium-review.googlesource.com/1100014 Reviewed-by: Yang Guo <[email protected]> Commit-Queue: Yang Guo <[email protected]> Cr-Commit-Position: refs/heads/master@{#53760} Refs: v8/v8@5dd3395 Backport-PR-URL: nodejs/node#21668 PR-URL: nodejs/node#21386 Reviewed-By: Yang Guo <[email protected]> Reviewed-By: Gus Caplan <[email protected]> Reviewed-By: James M Snell <[email protected]>
firass111 pushed a commit to firass111/Project_node1 that referenced this pull request Apr 16, 2025
Original commit message: [log][api] introduce public CodeEventListener API Introduce a new public API called CodeEventListener to allow embedders to better support external profilers and other diagnostic tools without relying on unsupported methods like --perf-basic-prof. Bug: v8:7694 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: I063cc965394d59401358757634c9ea84c11517e9 Co-authored-by: Daniel Beckert <[email protected]> Reviewed-on: https://chromium-review.googlesource.com/1028770 Commit-Queue: Yang Guo <[email protected]> Reviewed-by: Hannes Payer <[email protected]> Reviewed-by: Yang Guo <[email protected]> Reviewed-by: Andreas Haas <[email protected]> Cr-Commit-Position: refs/heads/master@{#53382} Refs: v8/v8@aa6ce3e Backport-PR-URL: nodejs/node#21668 PR-URL: nodejs/node#21079 Reviewed-By: James M Snell <[email protected]> Reviewed-By: Matteo Collina <[email protected]> Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: Yang Guo <[email protected]>
firass111 pushed a commit to firass111/Project_node1 that referenced this pull request Apr 16, 2025
Original commit message: [log] fix ExistingCodeLogger behavior on edge case ExistingCodeLogger was behaving incorrectly when the CodeEventHandler API was used in combination with --interpreted-frames-native-stack. Instead of collecting copied trampolines as InterpretedFunction:functionName, they were being collected as Builtin:IntepreterEntryTrampolines. This patch adds special handling for copied trampolines when using ExistingCodeLogger. [email protected] Change-Id: I3ee4be03800122d28d53b51b20c60dcf6263e4c1 Reviewed-on: https://chromium-review.googlesource.com/1087813 Reviewed-by: Yang Guo <[email protected]> Commit-Queue: Yang Guo <[email protected]> Cr-Commit-Position: refs/heads/master@{#53624} Refs: v8/v8@b20faff Backport-PR-URL: nodejs/node#21668 PR-URL: nodejs/node#21126 Refs: v8/v8@aa6ce3e Reviewed-By: Michaël Zasso <[email protected]> Reviewed-By: Michael Dawson <[email protected]> Reviewed-By: James M Snell <[email protected]>
firass111 pushed a commit to firass111/Project_node1 that referenced this pull request Apr 16, 2025
Original commit message: [log] fix boolean logic on LogCodeObject [email protected] Change-Id: Icb4825344991e5b2d15050e037064c60eeb9617e Reviewed-on: https://chromium-review.googlesource.com/1097578 Reviewed-by: Benedikt Meurer <[email protected]> Reviewed-by: Yang Guo <[email protected]> Commit-Queue: Benedikt Meurer <[email protected]> Cr-Commit-Position: refs/heads/master@{#53777} Refs: v8/v8@acc336c Backport-PR-URL: nodejs/node#21668 PR-URL: nodejs/node#21126 Refs: v8/v8@aa6ce3e Reviewed-By: Michaël Zasso <[email protected]> Reviewed-By: Michael Dawson <[email protected]> Reviewed-By: James M Snell <[email protected]>
firass111 pushed a commit to firass111/Project_node1 that referenced this pull request Apr 16, 2025
Original commit message: [log][api] Fix GCC 4.9 build failure GCC 4.9 used on some Node.js CI machines complains when the control reaches the end of a non-void function and no return is encountered. [email protected], [email protected], [email protected] Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: I5af0192cb187eccbf34dbb60ff3ac2e4774af803 Reviewed-on: https://chromium-review.googlesource.com/1105619 Reviewed-by: Yang Guo <[email protected]> Commit-Queue: Yang Guo <[email protected]> Cr-Commit-Position: refs/heads/master@{#53861} Refs: v8/v8@70c4340 Backport-PR-URL: nodejs/node#21668 PR-URL: nodejs/node#21126 Refs: v8/v8@aa6ce3e Reviewed-By: Michaël Zasso <[email protected]> Reviewed-By: Michael Dawson <[email protected]> Reviewed-By: James M Snell <[email protected]>
firass111 pushed a commit to firass111/Project_node1 that referenced this pull request Apr 16, 2025
Original commit message: [API] Expand BigInt API Provide a more complete BigInt API. Bug: v8:7712 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: Ic8562d616f3125deabdf8b52c7019b191bef0e07 Reviewed-on: chromium-review.googlesource.com/1101198 Commit-Queue: Yang Guo <[email protected]> Reviewed-by: Jakob Kummerow <[email protected]> Reviewed-by: Yang Guo <[email protected]> Cr-Commit-Position: refs/heads/master@{#54122} Backport-PR-URL: nodejs/node#21668 PR-URL: nodejs/node#21644 Reviewed-By: Tiancheng "Timothy" Gu <[email protected]> Reviewed-By: Anna Henningsen <[email protected]>
firass111 pushed a commit to firass111/Project_node1 that referenced this pull request Apr 16, 2025
Original commit message: [api] Switch from `SetBuildEmbedderGraphCallback` to `AddBuildEmbedderGraphCallback` `SetBuildEmbedderGraphCallback`, unlike `SetWrapperClassInfoProvider`, assumes a monolithic embedder that can provide all necessary information. That is not the case for e.g. Node.js, which can e.g. provide multiple Node.js instances per V8 Isolate, as well as native addons that may allocate resources on their own. Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: Ib53dfde82416dd69934b08623e27d674a483ac2d Reviewed-on: https://chromium-review.googlesource.com/1082441 Commit-Queue: Ulan Degenbaev <[email protected]> Reviewed-by: Ulan Degenbaev <[email protected]> Reviewed-by: Yang Guo <[email protected]> Cr-Commit-Position: refs/heads/master@{#53545} Refs: v8/v8@555c811 Backport-PR-URL: nodejs/node#21668 PR-URL: nodejs/node#21741 Reviewed-By: James M Snell <[email protected]> Reviewed-By: Joyee Cheung <[email protected]> Reviewed-By: Refael Ackermann <[email protected]>
firass111 pushed a commit to firass111/Project_node1 that referenced this pull request Apr 16, 2025
Original commit message: [turbofan] Remove optimization of default Promise capability functions. The JSCallReducer could in theory inline the default resolve and reject functions passed to the executor in the Promise constructor. But that inlining is almost never triggered because we don't have SFI based feedback in the CallIC. Also the use of the Promise constructor is discouraged, so we shouldn't really need to squeeze the last bit of performance out of this even in the future. Getting rid of this optimization will make significantly easier to implement the Swallowed Rejection Hook, as there's less churn on the TurboFan side then. Bug: v8:7919 Change-Id: If0c54f1c6c7ce95686cd74232be6b8693ac688c9 Reviewed-on: https://chromium-review.googlesource.com/1125926 Commit-Queue: Benedikt Meurer <[email protected]> Reviewed-by: Jaroslav Sevcik <[email protected]> Cr-Commit-Position: refs/heads/master@{#54210} Refs: v8/v8@2075910 Backport-PR-URL: nodejs/node#21668 PR-URL: nodejs/node#21838 Refs: nodejs/promises-debugging#8 Reviewed-By: Gus Caplan <[email protected]> Reviewed-By: Benjamin Gruenbaum <[email protected]> Reviewed-By: James M Snell <[email protected]> Reviewed-By: Yang Guo <[email protected]> Reviewed-By: Benedikt Meurer <[email protected]>
firass111 pushed a commit to firass111/Project_node1 that referenced this pull request Apr 16, 2025
Original commit message: [promise] Implement Swallowed Rejection Hook. This extends the current Promise Rejection Hook with two new events kPromiseRejectAfterResolved kPromiseResolveAfterResolved which are used to detect (and signal) misuse of the Promise constructor. Specifically the common bug like new Promise((res, rej) =>{res(1); throw new Error("something") }); where the error is silently swallowed by the Promise constructor without the user ever noticing can be caught via this hook. Doc: https://goo.gl/2stLUY Bug: v8:7919 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: I890a7e766cdd1be88db94844fb744f72823dba33 Reviewed-on: https://chromium-review.googlesource.com/1126099 Reviewed-by: Maya Lekova <[email protected]> Reviewed-by: Benedikt Meurer <[email protected]> Reviewed-by: Yang Guo <[email protected]> Commit-Queue: Benedikt Meurer <[email protected]> Cr-Commit-Position: refs/heads/master@{#54309} Refs: v8/v8@907d7bc Backport-PR-URL: nodejs/node#21668 PR-URL: nodejs/node#21838 Refs: nodejs/promises-debugging#8 Reviewed-By: Gus Caplan <[email protected]> Reviewed-By: Benjamin Gruenbaum <[email protected]> Reviewed-By: James M Snell <[email protected]> Reviewed-By: Yang Guo <[email protected]> Reviewed-By: Benedikt Meurer <[email protected]>
firass111 pushed a commit to firass111/Project_node1 that referenced this pull request Apr 16, 2025
Original commit message: Reland "[builtins] Add %IsTraceCategoryEnabled and %Trace builtins" This is a reland of 8d4572a Original change's description: > [builtins] Add %IsTraceCategoryEnabled and %Trace builtins > > Adds the builtin Trace and IsTraceCategoryEnabled functions > exposed via extra bindings. These are intended to use by > embedders to allow basic trace event support from JavaScript. > > ```js > isTraceCategoryEnabled('v8.some-category') > > trace('e'.charCodeAt(0), 'v8.some-category', > 'Foo', 0,{abc: 'xyz'}) > ``` > > Bug: v8:7851 > Change-Id: I7bfb9bb059efdf87d92a56a0aae326650730c250 > Reviewed-on: chromium-review.googlesource.com/1103294 > Commit-Queue: Yang Guo <[email protected]> > Reviewed-by: Yang Guo <[email protected]> > Reviewed-by: Fadi Meawad <[email protected]> > Reviewed-by: Camillo Bruni <[email protected]> > Reviewed-by: Benedikt Meurer <[email protected]> > Cr-Commit-Position: refs/heads/master@{#54121} [email protected] Bug: v8:7851 Change-Id: Id063754b2834b3b6a2b2654e76e8637bcd6aa5f8 Reviewed-on: chromium-review.googlesource.com/1137071 Commit-Queue: Yang Guo <[email protected]> Reviewed-by: Yang Guo <[email protected]> Reviewed-by: Camillo Bruni <[email protected]> Reviewed-by: Benedikt Meurer <[email protected]> Cr-Commit-Position: refs/heads/master@{#54532} Backport-PR-URL: nodejs/node#21668 PR-URL: nodejs/node#21899 Reviewed-By: Ali Ijaz Sheikh <[email protected]>
firass111 pushed a commit to firass111/Project_node1 that referenced this pull request Apr 16, 2025
Original commit message: [postmortem] add JS_ERROR_TYPE and context embedder index * JS_ERROR_TYPE is required for postmortem tools to inspect JSError objects (see nodejs/llnode#215 for a usage example) * The context embedder index is required for postmortem tools to access embedder data stored in the context (see nodejs/llnode#204 for a usage example) [email protected], [email protected] Change-Id: Ib7c7eb44f6ad327fc71a1d45f510c49377db7a25 Reviewed-on: https://chromium-review.googlesource.com/1138493 Reviewed-by: Benedikt Meurer <[email protected]> Commit-Queue: Benedikt Meurer <[email protected]> Cr-Commit-Position: refs/heads/master@{#54475} Refs: v8/v8@804a693 Backport-PR-URL: nodejs/node#21668 PR-URL: nodejs/node#21855 Reviewed-By: Michaël Zasso <[email protected]> Reviewed-By: Gus Caplan <[email protected]> Reviewed-By: James M Snell <[email protected]> Reviewed-By: Richard Lau <[email protected]> Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: Yang Guo <[email protected]>
firass111 pushed a commit to firass111/Project_node1 that referenced this pull request Apr 16, 2025
As per Node.js docs, vm.Script instance is not bound to any context. However, this test was expecting otherwise and depended on implementation details which are going to change. Refs: https://chromium-review.googlesource.com/c/v8/v8/+/1013581 Backport-PR-URL: nodejs/node#21668 PR-URL: nodejs/node#21079 Reviewed-By: James M Snell <[email protected]> Reviewed-By: Matteo Collina <[email protected]> Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: Yang Guo <[email protected]>
firass111 pushed a commit to firass111/Project_node1 that referenced this pull request Apr 16, 2025
This commit updates the following postmortem metadata constant: - v8dbg_context_idx_closure - Renamed: v8dbg_context_idx_scope_info - V8 commit: v8/v8@39496a9#diff-f3f182b0510ba2ee39ae87e421ff110bFixes: nodejs/node-v8#59 Backport-PR-URL: nodejs/node#21668 PR-URL: nodejs/node#21079 Reviewed-By: James M Snell <[email protected]> Reviewed-By: Matteo Collina <[email protected]> Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: Yang Guo <[email protected]>
firass111 pushed a commit to firass111/Project_node1 that referenced this pull request Apr 16, 2025
firass111 pushed a commit to firass111/Project_node1 that referenced this pull request Apr 16, 2025
Mostly reorders lists of source files to match more BUILD.gn. Fixes a few wrong entries. Backport-PR-URL: nodejs/node#21668 PR-URL: nodejs/node#22017 Reviewed-By: Refael Ackermann <[email protected]> Reviewed-By: Richard Lau <[email protected]> Reviewed-By: James M Snell <[email protected]>
firass111 pushed a commit to firass111/Project_node1 that referenced this pull request Apr 16, 2025
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

buildIssues and PRs related to build files or the CI.semver-minorPRs that contain new features and should be released in the next minor version.v8 engineIssues and PRs related to the V8 dependency.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

11 participants

@psmarshall@addaleax@mhdawson@targos@MylesBorins@refack@nodejs-github-bot@devsnek@jasnell@RReverser@cjihrig