-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Migrate NapiJsiRuntime from V8-JSI #8617
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🕐
Please make sure that we run the JSI tests for the new code. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
* Add NapiJsiRuntime source and headers * Implement up to NapiJsiRuntime::JsiHostFunctionCallback * Change files * Finished Shared NAPI wrappers * Implemented miscellaneous utility methods * Move macros into CPP * yarn format * Add TODO to rename MakeNapiJsiRuntime2 * Fix typo * Consume MakeNapiJsiRuntime2 * Conditionally build NapiJsiRuntime.cpp * Migrate test * Move declarations into NapiJsiRuntime.cpp * Delete NapiJsiRuntime_detail.h * Re-enable NAPI_EXPERIMENTAL * Added :NapiPointerValue definitions * Use explicit captures * Add export symbol for x86 * Ensure CreateExternalObject deletes scalars and arrays properly * Use constants for RefHolder names * Only run test if USE_V8 is defined * Rename NapiTests to JsiTests * Conditionally include Jsi Tests * Rename MakeNapiJsiRuntime2 to MakeNodeApiJsiRuntime Co-authored-by: dannyvv <dannyvv@microsoft.com> * Move Shared\NapiJsiRuntime.* to MSRN.Cxx\NodeApiJsiRuntime.* * Move JsiTest into MSRN.Cxx.UnitTests * clang format * Revert ABITests.vcxproj to main * Default Cxx.UnitTests to NOT use V8 * Compile JsiTest only when using V8 Co-authored-by: dannyvv <dannyvv@microsoft.com>
* Add NapiJsiRuntime source and headers * Implement up to NapiJsiRuntime::JsiHostFunctionCallback * Change files * Finished Shared NAPI wrappers * Implemented miscellaneous utility methods * Move macros into CPP * yarn format * Add TODO to rename MakeNapiJsiRuntime2 * Fix typo * Consume MakeNapiJsiRuntime2 * Conditionally build NapiJsiRuntime.cpp * Migrate test * Move declarations into NapiJsiRuntime.cpp * Delete NapiJsiRuntime_detail.h * Re-enable NAPI_EXPERIMENTAL * Added :NapiPointerValue definitions * Use explicit captures * Add export symbol for x86 * Ensure CreateExternalObject deletes scalars and arrays properly * Use constants for RefHolder names * Only run test if USE_V8 is defined * Rename NapiTests to JsiTests * Conditionally include Jsi Tests * Rename MakeNapiJsiRuntime2 to MakeNodeApiJsiRuntime Co-authored-by: dannyvv <dannyvv@microsoft.com> * Move Shared\NapiJsiRuntime.* to MSRN.Cxx\NodeApiJsiRuntime.* * Move JsiTest into MSRN.Cxx.UnitTests * clang format * Revert ABITests.vcxproj to main * Default Cxx.UnitTests to NOT use V8 * Compile JsiTest only when using V8 Co-authored-by: dannyvv <dannyvv@microsoft.com>
* Add NapiJsiRuntime source and headers * Implement up to NapiJsiRuntime::JsiHostFunctionCallback * Change files * Finished Shared NAPI wrappers * Implemented miscellaneous utility methods * Move macros into CPP * yarn format * Add TODO to rename MakeNapiJsiRuntime2 * Fix typo * Consume MakeNapiJsiRuntime2 * Conditionally build NapiJsiRuntime.cpp * Migrate test * Move declarations into NapiJsiRuntime.cpp * Delete NapiJsiRuntime_detail.h * Re-enable NAPI_EXPERIMENTAL * Added :NapiPointerValue definitions * Use explicit captures * Add export symbol for x86 * Ensure CreateExternalObject deletes scalars and arrays properly * Use constants for RefHolder names * Only run test if USE_V8 is defined * Rename NapiTests to JsiTests * Conditionally include Jsi Tests * Rename MakeNapiJsiRuntime2 to MakeNodeApiJsiRuntime Co-authored-by: dannyvv <dannyvv@microsoft.com> * Move Shared\NapiJsiRuntime.* to MSRN.Cxx\NodeApiJsiRuntime.* * Move JsiTest into MSRN.Cxx.UnitTests * clang format * Revert ABITests.vcxproj to main * Default Cxx.UnitTests to NOT use V8 * Compile JsiTest only when using V8 Co-authored-by: dannyvv <dannyvv@microsoft.com>
* Add NapiJsiRuntime source and headers * Implement up to NapiJsiRuntime::JsiHostFunctionCallback * Change files * Finished Shared NAPI wrappers * Implemented miscellaneous utility methods * Move macros into CPP * yarn format * Add TODO to rename MakeNapiJsiRuntime2 * Fix typo * Consume MakeNapiJsiRuntime2 * Conditionally build NapiJsiRuntime.cpp * Migrate test * Move declarations into NapiJsiRuntime.cpp * Delete NapiJsiRuntime_detail.h * Re-enable NAPI_EXPERIMENTAL * Added :NapiPointerValue definitions * Use explicit captures * Add export symbol for x86 * Ensure CreateExternalObject deletes scalars and arrays properly * Use constants for RefHolder names * Only run test if USE_V8 is defined * Rename NapiTests to JsiTests * Conditionally include Jsi Tests * Rename MakeNapiJsiRuntime2 to MakeNodeApiJsiRuntime Co-authored-by: dannyvv <dannyvv@microsoft.com> * Move Shared\NapiJsiRuntime.* to MSRN.Cxx\NodeApiJsiRuntime.* * Move JsiTest into MSRN.Cxx.UnitTests * clang format * Revert ABITests.vcxproj to main * Default Cxx.UnitTests to NOT use V8 * Compile JsiTest only when using V8 Co-authored-by: dannyvv <dannyvv@microsoft.com>
* Migrate NapiJsiRuntime from V8-JSI (#8617) * Add NapiJsiRuntime source and headers * Implement up to NapiJsiRuntime::JsiHostFunctionCallback * Change files * Finished Shared NAPI wrappers * Implemented miscellaneous utility methods * Move macros into CPP * yarn format * Add TODO to rename MakeNapiJsiRuntime2 * Fix typo * Consume MakeNapiJsiRuntime2 * Conditionally build NapiJsiRuntime.cpp * Migrate test * Move declarations into NapiJsiRuntime.cpp * Delete NapiJsiRuntime_detail.h * Re-enable NAPI_EXPERIMENTAL * Added :NapiPointerValue definitions * Use explicit captures * Add export symbol for x86 * Ensure CreateExternalObject deletes scalars and arrays properly * Use constants for RefHolder names * Only run test if USE_V8 is defined * Rename NapiTests to JsiTests * Conditionally include Jsi Tests * Rename MakeNapiJsiRuntime2 to MakeNodeApiJsiRuntime Co-authored-by: dannyvv <dannyvv@microsoft.com> * Move Shared\NapiJsiRuntime.* to MSRN.Cxx\NodeApiJsiRuntime.* * Move JsiTest into MSRN.Cxx.UnitTests * clang format * Revert ABITests.vcxproj to main * Default Cxx.UnitTests to NOT use V8 * Compile JsiTest only when using V8 Co-authored-by: dannyvv <dannyvv@microsoft.com> * Remove backported change file * Change files Co-authored-by: dannyvv <dannyvv@microsoft.com>
* Migrate NapiJsiRuntime from V8-JSI #8617 * Change files * Drop HermesSamplingProfiler.cpp
* Migrate NapiJsiRuntime from V8-JSI (#8617) * Add NapiJsiRuntime source and headers * Implement up to NapiJsiRuntime::JsiHostFunctionCallback * Change files * Finished Shared NAPI wrappers * Implemented miscellaneous utility methods * Move macros into CPP * yarn format * Add TODO to rename MakeNapiJsiRuntime2 * Fix typo * Consume MakeNapiJsiRuntime2 * Conditionally build NapiJsiRuntime.cpp * Migrate test * Move declarations into NapiJsiRuntime.cpp * Delete NapiJsiRuntime_detail.h * Re-enable NAPI_EXPERIMENTAL * Added :NapiPointerValue definitions * Use explicit captures * Add export symbol for x86 * Ensure CreateExternalObject deletes scalars and arrays properly * Use constants for RefHolder names * Only run test if USE_V8 is defined * Rename NapiTests to JsiTests * Conditionally include Jsi Tests * Rename MakeNapiJsiRuntime2 to MakeNodeApiJsiRuntime Co-authored-by: dannyvv <dannyvv@microsoft.com> * Move Shared\NapiJsiRuntime.* to MSRN.Cxx\NodeApiJsiRuntime.* * Move JsiTest into MSRN.Cxx.UnitTests * clang format * Revert ABITests.vcxproj to main * Default Cxx.UnitTests to NOT use V8 * Compile JsiTest only when using V8 Co-authored-by: dannyvv <dannyvv@microsoft.com> * Change files * Set V8/JSI version to 0.64.24 * Drop HermesSamplingProfiler.cpp and InspectorPackagerConnection.cpp * Update to older facebook::jsi::Runtime Co-authored-by: dannyvv <dannyvv@microsoft.com>
* Migrate NapiJsiRuntime from V8-JSI (#8617) * Add NapiJsiRuntime source and headers * Implement up to NapiJsiRuntime::JsiHostFunctionCallback * Change files * Finished Shared NAPI wrappers * Implemented miscellaneous utility methods * Move macros into CPP * yarn format * Add TODO to rename MakeNapiJsiRuntime2 * Fix typo * Consume MakeNapiJsiRuntime2 * Conditionally build NapiJsiRuntime.cpp * Migrate test * Move declarations into NapiJsiRuntime.cpp * Delete NapiJsiRuntime_detail.h * Re-enable NAPI_EXPERIMENTAL * Added :NapiPointerValue definitions * Use explicit captures * Add export symbol for x86 * Ensure CreateExternalObject deletes scalars and arrays properly * Use constants for RefHolder names * Only run test if USE_V8 is defined * Rename NapiTests to JsiTests * Conditionally include Jsi Tests * Rename MakeNapiJsiRuntime2 to MakeNodeApiJsiRuntime Co-authored-by: dannyvv <dannyvv@microsoft.com> * Move Shared\NapiJsiRuntime.* to MSRN.Cxx\NodeApiJsiRuntime.* * Move JsiTest into MSRN.Cxx.UnitTests * clang format * Revert ABITests.vcxproj to main * Default Cxx.UnitTests to NOT use V8 * Compile JsiTest only when using V8 Co-authored-by: dannyvv <dannyvv@microsoft.com> * Change files * Update to older facebook::jsi::Runtime Co-authored-by: dannyvv <dannyvv@microsoft.com>
Description
Moves the implementation of MakeNapiJsiRuntime from V8-JSI into React Native Windows.
Motivation
MakeNapiJsiRuntime exposes non-ABI-safe C++ JSI APIs.
Thus, it should not reside in the V8-JSI DLL boundary.
As an intermediate measure, moving such method and supporting types into RNW.
Pre-merge Checklist
Microsoft Reviewers: Open in CodeFlow