-
Notifications
You must be signed in to change notification settings - Fork 23
Hermes #176
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
Open
CedricGuillemet
wants to merge
26
commits into
BabylonJS:main
Choose a base branch
from
CedricGuillemet:hermes-integration
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Hermes #176
Changes from all commits
Commits
Show all changes
26 commits
Select commit
Hold shift + click to select a range
6989c65
Hermes + Napi
CedricGuillemet 8283e4b
CI: use Ninja for macOS Hermes builds to bypass Xcode dual-target error
CedricGuillemet 64b45d2
CI: gate Hermes /wdNNNN warning suppressions on MSVC
CedricGuillemet bc85108
CI: explicitly link Foundation/CoreFoundation on Apple in AppRuntime
CedricGuillemet d149cca
CI: disable HERMES_SLOW_DEBUG so embed teardown does not SIGABRT
CedricGuillemet 2b68f36
Hermes: swallow Runtime teardown exceptions in Napi::Detach
CedricGuillemet e7564e3
Hermes: swallow drainJobs() exceptions too
CedricGuillemet 16c0a37
CI: run macOS Hermes UnitTests under lldb to capture backtrace
CedricGuillemet c26960e
Hermes: route Eval through hermes_run_script's copy path to fix heap …
CedricGuillemet 23e8dec
CI: have lldb intercept SIGABRT to get real backtrace
CedricGuillemet c823546
CI: use lldb -k (one-line-on-crash) to capture backtrace
CedricGuillemet 047f373
Hermes: patch shutdown() to fix napi_ref double-free during teardown
CedricGuillemet cdf898b
CI: temporarily narrow matrix to Hermes-only jobs to iterate faster
CedricGuillemet a48366d
CI: retrigger after startup_failure on previous run
CedricGuillemet cfc6717
CI: drop Android and iOS Hermes jobs from narrowed matrix
CedricGuillemet e97292e
Hermes: regenerate shutdown patch via git diff + add marker print
CedricGuillemet 0addb5f
patches: lock patch files to LF line endings
CedricGuillemet fb5d0e4
CI: restore matrix without Apple Hermes
CedricGuillemet 7b722ae
CI: fix Android and Windows test runs
CedricGuillemet 62abc20
CI: revert Apple workflow cleanup
CedricGuillemet 0fb9ff3
Merge remote-tracking branch 'upstream/main' into hermes-integration
CedricGuillemet dea0031
Use Win32 fiber Boost.Context impl on Windows for Hermes
web-flow 23c91d8
Merge remote-tracking branch 'upstream/main' into hermes-integration
CedricGuillemet afa311d
msvc warning
CedricGuillemet 69df92a
back to windows2022
CedricGuillemet 9d7b1a3
Potential fix for pull request finding
CedricGuillemet File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,28 @@ | ||
| #include "AppRuntime.h" | ||
| #include <napi/env.h> | ||
|
|
||
| namespace Babylon | ||
| { | ||
| void AppRuntime::RunEnvironmentTier(const char*) | ||
| { | ||
| // All Hermes runtime + napi_env setup is encapsulated inside the napi | ||
| // library's env_hermes.cc (see Napi::Attach/Detach). Keeping the | ||
| // engine-specific machinery there avoids dragging Hermes headers into | ||
| // AppRuntime's translation unit. | ||
| Napi::Env env = Napi::Attach(); | ||
|
|
||
| Run(env); | ||
|
|
||
| Napi::Detach(env); | ||
| } | ||
|
|
||
| void AppRuntime::DrainMicrotasks(Napi::Env env) | ||
| { | ||
| // Hermes does not auto-drain its job queue. Promise continuations, | ||
| // queueMicrotask callbacks, and pending NAPI finalizers all run via | ||
| // Runtime::drainJobs(). We pump it after each user callback so async | ||
| // code (Promises, Mocha's async tests, polyfill schedulers, etc.) | ||
| // observes the same "between turns" semantics it gets on V8/Chakra. | ||
| Napi::DrainJobs(env); | ||
| } | ||
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.