Skip to content
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

Re-sync URL from WebKit + set ERR_MISSING_ARGS #10129

Merged
merged 8 commits into from
Apr 10, 2024
Merged

Conversation

Jarred-Sumner
Copy link
Collaborator

@Jarred-Sumner Jarred-Sumner commented Apr 9, 2024

What does this PR do?

  • Re-sync URL from WebKit, which should 1/2 the size of the JS URL object in memory
  • Sets ERR_MISSING_ARGS everywhere we throw createNotEnoughArguments

5%-ish perf improvement to new URL
image

How did you verify your code works?

There is a test

Copy link

github-actions bot commented Apr 9, 2024

Copy link

github-actions bot commented Apr 9, 2024

Copy link

github-actions bot commented Apr 9, 2024

Copy link

github-actions bot commented Apr 10, 2024

Copy link
Collaborator

@paperdave paperdave left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

good

@Jarred-Sumner Jarred-Sumner merged commit f5c8914 into main Apr 10, 2024
26 of 31 checks passed
@Jarred-Sumner Jarred-Sumner deleted the jarred/url-code branch April 10, 2024 06:21
Vylpes pushed a commit to Vylpes/Droplet that referenced this pull request May 28, 2024
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [core-js](https://github.com/zloirock/core-js) | dependencies | minor | [`3.36.1` -> `3.37.1`](https://renovatebot.com/diffs/npm/core-js/3.36.1/3.37.1) |

---

### Release Notes

<details>
<summary>zloirock/core-js (core-js)</summary>

### [`v3.37.1`](https://github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3371---20240514)

[Compare Source](zloirock/core-js@v3.37.0...v3.37.1)

-   Changes [v3.37.0...v3.37.1](zloirock/core-js@v3.37.0...v3.37.1)
-   Fixed [`URL.parse`](https://url.spec.whatwg.org/#dom-url-parse) feature detection for some specific cases
-   Compat data improvements:
    -   [`Set` methods proposal](https://github.com/tc39/proposal-set-methods) added and marked as [supported from FF 127](https://bugzilla.mozilla.org/show_bug.cgi?id=1868423)
    -   [`Symbol.dispose`](https://github.com/tc39/proposal-explicit-resource-management) added and marked as supported from V8 ~ Chromium 125
    -   [`Math.f16round` and `DataView.prototype.{ getFloat16, setFloat16 }`](https://github.com/tc39/proposal-float16array) added and marked as [supported from Deno 1.43](denoland/deno#23490)
    -   [`URL.parse`](https://url.spec.whatwg.org/#dom-url-parse) added and marked as [supported from Chromium 126](https://chromestatus.com/feature/6301071388704768)
    -   [`URL.parse`](https://url.spec.whatwg.org/#dom-url-parse) added and marked as [supported from NodeJS 22.0](nodejs/node#52280)
    -   [`URL.parse`](https://url.spec.whatwg.org/#dom-url-parse) added and marked as [supported from Deno 1.43](denoland/deno#23318)
    -   Added [Rhino 1.7.15](https://github.com/mozilla/rhino/releases/tag/Rhino1\_7\_15\_Release) compat data, many features marked as supported
    -   Added [NodeJS 22.0](https://nodejs.org/en/blog/release/v22.0.0) compat data mapping
    -   Added [Deno 1.43](https://github.com/denoland/deno/releases/tag/v1.43.0) compat data mapping
    -   Added Electron 31 compat data mapping
    -   Updated [Opera Android 82](https://forums.opera.com/topic/71513/opera-for-android-82) compat data mapping
    -   Added Samsung Internet 26 compat data mapping
    -   Added Oculus Quest Browser 33 compat data mapping

### [`v3.37.0`](https://github.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3370---20240417)

[Compare Source](zloirock/core-js@v3.36.1...v3.37.0)

-   Changes [v3.36.1...v3.37.0](zloirock/core-js@v3.36.1...v3.37.0)
-   [New `Set` methods proposal](https://github.com/tc39/proposal-set-methods):
    -   Built-ins:
        -   `Set.prototype.intersection`
        -   `Set.prototype.union`
        -   `Set.prototype.difference`
        -   `Set.prototype.symmetricDifference`
        -   `Set.prototype.isSubsetOf`
        -   `Set.prototype.isSupersetOf`
        -   `Set.prototype.isDisjointFrom`
    -   Moved to stable ES, [April 2024 TC39 meeting](tc39/proposals@bda5a6b)
    -   Added `es.` namespace modules, `/es/` and `/stable/` namespaces entries
-   [Explicit Resource Management stage 3 proposal](https://github.com/tc39/proposal-explicit-resource-management):
    -   Some minor updates like [explicit-resource-management/217](tc39/proposal-explicit-resource-management#217)
-   Added [`Math.sumPrecise` stage 2.7 proposal](https://github.com/tc39/proposal-math-sum/):
    -   Built-ins:
        -   `Math.sumPrecise`
-   [`Promise.try` proposal](https://github.com/tc39/proposal-promise-try):
    -   Built-ins:
        -   `Promise.try`
    -   Added optional arguments support, [promise-try/16](tc39/proposal-promise-try#16)
    -   Moved to stage 2.7, [April 2024 TC39 meeting](tc39/proposals@301fc9c)
-   [`RegExp.escape` stage 2 proposal](https://github.com/tc39/proposal-regex-escaping):
    -   Moved to hex-escape semantics, [regex-escaping/67](tc39/proposal-regex-escaping#67)
        -   It's not the final change of the way of escaping, waiting for [regex-escaping/77](tc39/proposal-regex-escaping#77) soon
-   [Pattern matching stage 1 proposal](https://github.com/tc39/proposal-pattern-matching):
    -   Built-ins:
        -   `Symbol.customMatcher`
    -   Once again, [the used well-known symbol was renamed](tc39/proposal-pattern-matching#295)
    -   Added new entries for that
-   Added [Extractors stage 1 proposal](https://github.com/tc39/proposal-extractors):
    -   Built-ins:
        -   `Symbol.customMatcher`
    -   Since the `Symbol.customMatcher` well-known symbol from the pattern matching proposal is also used in the exactors proposal, added an entry also for this proposal
-   Added [`URL.parse`](https://url.spec.whatwg.org/#dom-url-parse), [url/825](whatwg/url#825)
-   Engines bugs fixes:
    -   Added a fix of [Safari `{ Object, Map }.groupBy` bug that does not support iterable primitives](https://bugs.webkit.org/show_bug.cgi?id=271524)
    -   Added a fix of [Safari bug with double call of constructor in `Array.fromAsync`](https://bugs.webkit.org/show_bug.cgi?id=271703)
-   Compat data improvements:
    -   [`URL.parse`](https://url.spec.whatwg.org/#dom-url-parse) added and marked as supported [from FF 126](https://bugzilla.mozilla.org/show_bug.cgi?id=1887611)
    -   [`URL.parse`](https://url.spec.whatwg.org/#dom-url-parse) added and marked as supported [from Bun 1.1.4](oven-sh/bun#10129)
    -   [`URL.canParse`](https://url.spec.whatwg.org/#dom-url-canparse) fixed and marked as supported [from Bun 1.1.0](oven-sh/bun#9710)
    -   [New `Set` methods](https://github.com/tc39/proposal-set-methods) fixed in JavaScriptCore and marked as supported from Bun 1.1.1
    -   Added Opera Android 82 compat data mapping

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4wLjAiLCJ1cGRhdGVkSW5WZXIiOiIzNy4wLjAiLCJ0YXJnZXRCcmFuY2giOiJkZXZlbG9wIn0=-->

Reviewed-on: https://git.vylpes.xyz/RabbitLabs/Droplet/pulls/306
Co-authored-by: Renovate Bot <renovate@vylpes.com>
Co-committed-by: Renovate Bot <renovate@vylpes.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants