Skip to content

Tags: mattbfb/hermes

Tags

hermes-2024-09-30-RNv0.74.6-6f503f52cbf98b2b37c4d3900e7f1193d6512548

Toggle hermes-2024-09-30-RNv0.74.6-6f503f52cbf98b2b37c4d3900e7f1193d6512548's commit message
Recycle block local registers in fast pass (facebook#1448)

Summary:
Original Author: neildhar@meta.com
Original Git: 6b69a06
Original Reviewed By: avp
Original Revision: D59072005

The register allocator has the ability to honour a memory limit that is
proportional to the product of the number of instructions and basic
blocks in the function being allocated. Unfortunately, functions that
hit this limit by definition have a lot of instructions Even in the
most degenerate case where every block has one instruction, you need
4000 instructions to hit the 10M limit.

This diff tries to improve the quality of generated code in cases where
most values are used within the basic block they are defined in. In such
cases, we currently make the register available after the end of the
block. With this diff, the registers become available after their last
use in the block.

This is useful for functions with extremely large basic blocks, where
the current approach would end up allocating a huge number of registers
since the registers cannot be used within the same block.

Closes facebook#1448

Reviewed By: avp

Differential Revision: D60241766

fbshipit-source-id: 5196333862517cd546d675cf8fe005eb1ed5a790

hermes-2024-09-09-RNv0.76.0-db6d12e202e15f7a446d8848d6ca8f7abb3cfb32

Toggle hermes-2024-09-09-RNv0.76.0-db6d12e202e15f7a446d8848d6ca8f7abb3cfb32's commit message
JSError: look for stack data in the prototype chain

Summary:
Imported from static_h
Original Author: tmikov@meta.com
Original Git: 8b7a9f8
Original Reviewed By: avp
Original Revision: D61870728

Look for stack data in the entire prototype chain in order to accommodate
usage like the one in the test.

See facebook#1496

Reviewed By: fbmal7

Differential Revision: D62357838

fbshipit-source-id: 3873bfd8bcb5c16998dbec67f44ad4c098179758

hermes-2024-08-19-RNv0.72.17-8db50ff842863990bff1f2ec6e982ccbffbc0e14

Toggle hermes-2024-08-19-RNv0.72.17-8db50ff842863990bff1f2ec6e982ccbffbc0e14's commit message

Unverified

This commit is not signed, but one or more authors requires that any commit attributed to them is signed.
[LOCAL] Migrate to M1 machines

v0.13.0

Toggle v0.13.0's commit message

Unverified

The email in this signature doesn’t match the committer email.
Recycle block local registers in fast pass (facebook#1448)

Summary:
Original Author: neildhar@meta.com
Original Git: 6b69a06
Original Reviewed By: avp
Original Revision: D59072005

The register allocator has the ability to honour a memory limit that is
proportional to the product of the number of instructions and basic
blocks in the function being allocated. Unfortunately, functions that
hit this limit by definition have a lot of instructions Even in the
most degenerate case where every block has one instruction, you need
4000 instructions to hit the 10M limit.

This diff tries to improve the quality of generated code in cases where
most values are used within the basic block they are defined in. In such
cases, we currently make the register available after the end of the
block. With this diff, the registers become available after their last
use in the block.

This is useful for functions with extremely large basic blocks, where
the current approach would end up allocating a huge number of registers
since the registers cannot be used within the same block.

Closes facebook#1448

Reviewed By: avp

Differential Revision: D60241766

fbshipit-source-id: 5196333862517cd546d675cf8fe005eb1ed5a790

hermes-2024-08-15-RNv0.75.1-4b3bf912cc0f705b51b71ce1a5b8bd79b93a451b

Toggle hermes-2024-08-15-RNv0.75.1-4b3bf912cc0f705b51b71ce1a5b8bd79b93a451b's commit message

Unverified

The email in this signature doesn’t match the committer email.
Recycle block local registers in fast pass (facebook#1448)

Summary:
Original Author: neildhar@meta.com
Original Git: 6b69a06
Original Reviewed By: avp
Original Revision: D59072005

The register allocator has the ability to honour a memory limit that is
proportional to the product of the number of instructions and basic
blocks in the function being allocated. Unfortunately, functions that
hit this limit by definition have a lot of instructions Even in the
most degenerate case where every block has one instruction, you need
4000 instructions to hit the 10M limit.

This diff tries to improve the quality of generated code in cases where
most values are used within the basic block they are defined in. In such
cases, we currently make the register available after the end of the
block. With this diff, the registers become available after their last
use in the block.

This is useful for functions with extremely large basic blocks, where
the current approach would end up allocating a huge number of registers
since the registers cannot be used within the same block.

Closes facebook#1448

Reviewed By: avp

Differential Revision: D60241766

fbshipit-source-id: 5196333862517cd546d675cf8fe005eb1ed5a790

hermes-2024-07-01-RNv0.75.0-1edbe36ce92fef2c4d427f5c4e104f2758f4b692

Toggle hermes-2024-07-01-RNv0.75.0-1edbe36ce92fef2c4d427f5c4e104f2758f4b692's commit message

Unverified

The email in this signature doesn’t match the committer email.
Add missing `WithRuntimeDecorator` methods

Summary:
This PR adds missing `WithRuntimeDecorator` methods related to `NativeState`. This pattern is used by reanimated to ensure no concurrent access to the runtime. Without this `override` the `RuntimeDecorator` implementation was used, bypassing our mutex.

Changelog:
[GENERAL] [FIXED] - Add missing `NativeState` methods to the `WithRuntimeDecorator` class.

X-link: facebook/react-native#45042

Reviewed By: fbmal7

Differential Revision: D58744051

Pulled By: neildhar

fbshipit-source-id: 3f5c85d0bf7cd6445d0c434ac4ae7ed54df203ba

hermes-2024-06-28-RNv0.74.3-7bda0c267e76d11b68a585f84cfdd65000babf85

Toggle hermes-2024-06-28-RNv0.74.3-7bda0c267e76d11b68a585f84cfdd65000babf85's commit message

Unverified

This commit is not signed, but one or more authors requires that any commit attributed to them is signed.
Make queueMicrotask pure virtual (facebook#1337)

Summary:
X-link: facebook/react-native#43311

Pull Request resolved: facebook#1337

Changelog: [internal]

We've done this in a separate diff because the changes in Hermes don't propagate immediately to the React Native repository. We need to land the changes in JSI and Hermes first (in a backwards-compatible way) and then land this in a separate commit to make the method mandatory.

Reviewed By: neildhar

Differential Revision: D54413830

fbshipit-source-id: 3b89fe0e6697b0019544b73daa89d932db97b63a

hermes-2024-06-17-RNv0.75.0-c2c4ee7dfcf4b006268ee215b63f79e9cbeedcf4

Toggle hermes-2024-06-17-RNv0.75.0-c2c4ee7dfcf4b006268ee215b63f79e9cbeedcf4's commit message

Unverified

The email in this signature doesn’t match the committer email.
Revert "Disable DateTimeFormat::formatToParts for Apple platform (fac…

…ebook#1155)"

This reverts commit c5a633f.

hermes-2024-06-03-RNv0.74.2-bb1e74fe1e95c2b5a2f4f9311152da052badc2bc

Toggle hermes-2024-06-03-RNv0.74.2-bb1e74fe1e95c2b5a2f4f9311152da052badc2bc's commit message

Unverified

This commit is not signed, but one or more authors requires that any commit attributed to them is signed.
Revert "Disable DateTimeFormat::formatToParts for Apple platform (fac…

…ebook#1155)"

This reverts commit c5a633f.

hermes-2024-04-29-RNv0.73.8-644c8be78af1eae7c138fa4093fb87f0f4f8db85

Toggle hermes-2024-04-29-RNv0.73.8-644c8be78af1eae7c138fa4093fb87f0f4f8db85's commit message

Unverified

This commit is not signed, but one or more authors requires that any commit attributed to them is signed.
Removing API usage not applicable on iOS (stat and fstat) in libhermes

Summary:
This diff just removes references to functions that use (either
directly or transitively) those functions, and relies on linker DCE
to clean up the rest. Trying to extricate all uses of these functions
would otherwise result in very significant changes.

This diff makes two changes:
1. In raw_fd_ostream, fall back to a default buffer size when building
for iOS.
2. Update a function in LLVM that was marked as "used" to suppress
warnings, to instead use the new `[[maybe_unused]]` attribute. This
allows the function, and the calls to stat it retains, to be stripped.

Reviewed By: tmikov, TheSavior

Differential Revision: D53133166

fbshipit-source-id: f425762bc6b7072cbd8235c65e9cf652cecb981c