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

WebKit upgrade #12246

Merged
merged 54 commits into from
Jul 2, 2024
Merged

WebKit upgrade #12246

merged 54 commits into from
Jul 2, 2024

Conversation

Jarred-Sumner
Copy link
Collaborator

@Jarred-Sumner Jarred-Sumner commented Jun 29, 2024

What does this PR do?

WIP.

JavaScriptCore functions on Windows now must use the (unix) SysV ABI

  • All of our functions which are directly called from JavaScript must be changed to use the SysV ABI. In most cases in C++, there's not much to change. In Zig, many functions need to use callconv(JSC.conv) instead of callconv(.C). JSC.conv will do the right thing for the target platform.
  • This change will break TinyCC (bun:ffi) on Windows. Still need to figure out what to do about this. Worst case: we add a wrapper function when used on Windows

Fixes #12084
Fixes #11667 (thanks to @Constellation)
#5970 does not fix that one

How did you verify your code works?

Copy link
Contributor

github-actions bot commented Jun 29, 2024

clang-tidy nits are fixed! Thank you.

Copy link
Contributor

github-actions bot commented Jun 29, 2024

@Jarred-Sumner, your commit has failing tests :(

🪟💻 4 failing tests Windows x64 baseline

  • test/cli/install/registry/bun-install-registry.test.ts 1 failing
  • test/cli/install/registry/bun-install-windowsshim.test.ts code 1
  • test/js/bun/shell/leak.test.ts 1 failing
  • test/js/node/child_process/child_process.test.ts 1 failing

🪟💻 3 failing tests Windows x64

  • test/cli/install/registry/bun-install-registry.test.ts 1 failing
  • test/cli/install/registry/bun-install-windowsshim.test.ts code 1
  • test/js/node/child_process/child_process.test.ts 1 failing

View logs

@dylan-conway
Copy link
Collaborator

Is it intentional some functions didn't have callconv(.C) replaced with callconv(JSC.conv) and only removed?

src/bun.js/base.zig Outdated Show resolved Hide resolved
@Jarred-Sumner Jarred-Sumner marked this pull request as ready for review July 2, 2024 06:27
@Jarred-Sumner Jarred-Sumner merged commit b001846 into main Jul 2, 2024
51 of 53 checks passed
@Jarred-Sumner Jarred-Sumner deleted the jarred/zig-upgrade branch July 2, 2024 06:28
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.

Object expansion is broken Incorrect WebAssembly result
2 participants