forked from cloudflare/workerd
-
Notifications
You must be signed in to change notification settings - Fork 0
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
Add (Web) Worker API #1
Merged
Merged
Conversation
This file contains 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
nhynes
force-pushed
the
nhynes/worker-api
branch
2 times, most recently
from
May 28, 2023 03:01
b24512c
to
2b7855a
Compare
Fixes cloudflare#729 - supported in the previous Wasm prototype.
This is needed to get symbolized stacks in wd_tests. Since it is a no-op if LLVM_SYMBOLIZER is not defined, it shouldn't affect production uses.
Using `temp_store=MEMORY` to use in-memory temporary DBs, which are now allow-listed in the authorizer. Adding the full suite of sqlite alteration functions from https://sqlite.org/src/file?name=src/alter.c&ci=trunk (see end of file) Also moving the testing of renaming tables to be at the end of the test file, so it doesn't conflict with the other expectations.
The underlying io Trace objects are kj heap allocated. They cannot be referenced unprotected by the TraceItem jsg object and we do not want to restrict them to the IoContext lifetime. Instead we'll extract the detail we need on TraceItem creation.
nhynes
force-pushed
the
nhynes/worker-api
branch
2 times, most recently
from
June 8, 2023 09:57
599f41a
to
fefd997
Compare
…nted-trace-items
…-unspecifiederror
Co-authored-by: Kian <kian@kian.org.uk>
[SQLite] Allow RENAME TABLE
In V8 11.5, things changed so that the `ResetRoot()` callback might be called on a background thread. A new method, `TryResetRoot()`, can be implemented to return false in order to prevent this and force `ResetRoot()` back to the main thread. However, its default implementation just calls `ResetRoot()` (on the background thread), hence the default behavior changed. https://chromium-review.googlesource.com/c/v8/v8/+/4474708 Our `ResetRoot()` must be called on the main thread, so we must implement `TryResetRoot()` to return false. This allows us to remove the `single_threaded_gc` flag we added recently as a work-around. It turns out that flag isn't actually sufficient to avoid the problem anyway.
Implement `EmbedderRootsHandler::TryResetRoot()`.
SQLite: Add point-in-time recovery API.
Although kj::hashCode() is based on a good hash, it is only a 32-bit hash and certainly not cryptographic, so collisions will happen sometimes.
The documentation for V8's `GetIdentityHash()` says that it is not guaranteed to be unique.
Enable LLVM_SYMBOLIZER by default in tests
When attempting to use the websocket hibernation api while running `wrangler dev`, we saw `a.getHibernationEventType() != nullptr` errors pop up because the hibernation event ID is defined in our internal codebase. Note that this change only affects server.c++, which durable objects does not rely upon in production. This also does not enable the actual hibernation of websockets/DOs, it's only a step towards getting hibernatable websocket events to deliver locally.
…ally Hardcode ws hibernation event type in workerd
To get accurate metrics when load testing an optimized build, the GC pass that is normally done per test is now disabled.
…e-for-gc Noop for test GC pass when not in debug
We were only removing the queued websocket when a handler was exported so the websocket could be delivered to the hibernatable websocket event.
…ble-websocket Remove queued websocket if no handler exported
…ompression Update capnp
…nd-limit-incr sql: increase SQLITE_LIMIT_COMPOUND_SELECT to 5
This commit add a new method for hibernatable web sockets that enables a ping/pong application autoresponse, storing the last received pong timestamp. There's also a method to access the last received timestamp.
…onse Application-level auto-response for hibernatable web sockets
Consecutive requests could lead to calling into the isolate whilst code pages are being collected. This problem has only been observed on macOS arm64. Bug: CUSTESC-29094 Bug: cloudflare/workers-sdk#2386 Review: cloudflare#803
This reverts commit d0ac3f3. The preceding commit adding --single-threaded-gc addresses the issue. Bug: CUSTESC-29094 Bug: cloudflare/workers-sdk#2386
nhynes
force-pushed
the
nhynes/worker-api
branch
from
June 26, 2023 09:46
503265a
to
4520d1a
Compare
macOS 11 is the oldest version still being maintained, V8 also depends on multithreading-related functions introduced with it.
) With the `strict_crypto_checks` flag enabled, imported ECDH keys were required to have empty usages, but for private keys the usage set should be allowed to include deriveBits and deriveKey. Since the compatibility date for the flag has not yet passed, this is unlikely to have had a significant effect.
Generally non-functional change.
nhynes
force-pushed
the
nhynes/worker-api
branch
from
June 26, 2023 09:58
4520d1a
to
dee9080
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
No description provided.