Skip to content

@react-native/js-polyfills: polyfill console.timeStamp #52168

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

Closed
wants to merge 5 commits into from

Conversation

hoxyq
Copy link
Contributor

@hoxyq hoxyq commented Jun 20, 2025

Summary:

Changelog: [Internal]

The main reason for stubbing-out this is to make sure this method is always installed. The actual implementation will be part of the jsinspector-modern stack, which is fully initialized in production builds.

Once there is a gurantee that RuntimeTarget globals are always installed in any environments, we can remove polyfills altogether.

Differential Revision: D76987507

@facebook-github-bot facebook-github-bot added CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. p: Facebook Partner: Facebook Partner labels Jun 20, 2025
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D76987507

@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D76987507

hoxyq added 5 commits June 25, 2025 03:15
Summary:
Pull Request resolved: facebook#52187

# Changelog: [Internal]

- `tracing_` is now `std::atomic<bool>`.
- `performanceMeasureCount_` is now`std::atomic<uint32_t>`.
- `mutex_` -> `tracingMutex_`.

The biggest change is that we no longer read from `tracing_` directly for an early-return when not tracing. This should not significantly regress performance of the subsystem, see the test plan for numbers.

Differential Revision: D77053030
Summary:
# Changelog: [Internal]

`buffer_.push_back` -> `buffer_.emplace_back`

I didn't measure if there were any runtime wins from this, because I don't expect there would be. Let's avoid potential copies, if possible.

Differential Revision: D77053032
Summary:
# Changelog: [Internal]

Probably been overlooked for quite some time, but shouldn't be a bottleneck.

Differential Revision: D77148271
…er operations

Summary:
# Changelog: [Internal]

Mainly, 2 changes:
1. `PerformanceTracer::serializeTraceEvent(const TraceEvent& event)` -> `PerformanceTracer::serializeTraceEvent(TraceEvent&& event)` for less copies, actually move strings from the `TraceEvent` into the serialized `folly:object`.
2. When collecting events from the buffer, only lock when accessing buffer, not when serializing.

Differential Revision: D77164969
Summary:
# Changelog: [Internal]

The main reason for the stub is to make sure this method is always installed. The actual implementation will be part of the `jsinspector-modern` stack, which is fully initialized in production builds.

Once there is a gurantee that RuntimeTarget globals are always installed in any environments, we can remove polyfills altogether.

Reviewed By: rubennorte, GijsWeterings

Differential Revision: D76987507
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D76987507

@facebook-github-bot
Copy link
Contributor

This pull request has been merged in c612ae4.

@facebook-github-bot facebook-github-bot added the Merged This PR has been merged. label Jun 26, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. fb-exported Merged This PR has been merged. p: Facebook Partner: Facebook Partner
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants