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

[JSC] Vector operations should work with CSE #9979

Conversation

Constellation
Copy link
Member

@Constellation Constellation commented Feb 11, 2023

151366f

[JSC] Vector operations should work with CSE
https://bugs.webkit.org/show_bug.cgi?id=252114
rdar://105334819

Reviewed by Keith Miller.

This patch integrates Vector operations into B3 CSE by defining Value::key and ValueKey for them.
We also clean up some vector related code for generating code.

* Source/JavaScriptCore/b3/B3LowerToAir.cpp:
* Source/JavaScriptCore/b3/B3SIMDValue.h:
* Source/JavaScriptCore/b3/B3Value.cpp:
(JSC::B3::Value::key const):
* Source/JavaScriptCore/b3/B3Value.h:
* Source/JavaScriptCore/b3/B3ValueKey.cpp:
(JSC::B3::ValueKey::materialize const):
* Source/JavaScriptCore/b3/B3ValueKey.h:
(JSC::B3::ValueKey::simdInfo const):
(JSC::B3::ValueKey::operator== const):
* Source/JavaScriptCore/b3/B3ValueKeyInlines.h:
(JSC::B3::ValueKey::ValueKey):
* Source/JavaScriptCore/jit/SIMDInfo.h:
(JSC::SIMDInfo::operator==):
(JSC::SIMDInfo::operator!=):

Canonical link: https://commits.webkit.org/260223@main

4bfb374

Misc iOS, tvOS & watchOS macOS Linux Windows
❌ πŸ§ͺ style βœ… πŸ›  ios βœ… πŸ›  mac βœ… πŸ›  wpe   πŸ›  wincairo
βœ… πŸ›  ios-sim βœ… πŸ›  mac-AS-debug βœ… πŸ›  gtk
βœ… πŸ§ͺ webkitperl   πŸ§ͺ ios-wk2   πŸ§ͺ api-mac   πŸ§ͺ gtk-wk2
  πŸ§ͺ api-ios   πŸ§ͺ mac-wk1   πŸ§ͺ api-gtk
  πŸ›  πŸ§ͺ jsc   πŸ›  tv   πŸ§ͺ mac-wk2   πŸ›  jsc-armv7
βœ… πŸ›  πŸ§ͺ jsc-arm64 βœ… πŸ›  tv-sim   πŸ§ͺ mac-AS-debug-wk2   πŸ§ͺ jsc-armv7-tests
  πŸ›  watch   πŸ§ͺ mac-wk2-stress   πŸ›  jsc-mips
βœ… πŸ›  watch-sim   πŸ§ͺ jsc-mips-tests
βœ… πŸ›  πŸ§ͺ unsafe-merge

@Constellation Constellation requested a review from a team as a code owner February 11, 2023 18:53
@Constellation Constellation self-assigned this Feb 11, 2023
@Constellation Constellation added the JavaScriptCore For bugs in JavaScriptCore, the JS engine used by WebKit, other than kxmlcore issues. label Feb 11, 2023
@Constellation Constellation force-pushed the eng/JSC-Vector-operations-should-work-with-CSE branch from 240c2d3 to 0ca1e20 Compare February 11, 2023 19:04
@Constellation Constellation force-pushed the eng/JSC-Vector-operations-should-work-with-CSE branch from 0ca1e20 to 7a46965 Compare February 11, 2023 19:53
@Constellation Constellation force-pushed the eng/JSC-Vector-operations-should-work-with-CSE branch from 7a46965 to 9846b4f Compare February 12, 2023 06:47
Copy link
Contributor

@kmiller68 kmiller68 left a comment

Choose a reason for hiding this comment

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

r=me. I'm kinda trusting you that the number of children for each Vector B3 op is correct. Otherwise I hope tests would have exploded.

@Constellation
Copy link
Member Author

Added assertions for them.

@Constellation Constellation force-pushed the eng/JSC-Vector-operations-should-work-with-CSE branch from 9846b4f to 4bfb374 Compare February 13, 2023 21:58
@Constellation Constellation added the unsafe-merge-queue Applied to send a pull request to merge-queue, but skip building and testing label Feb 13, 2023
https://bugs.webkit.org/show_bug.cgi?id=252114
rdar://105334819

Reviewed by Keith Miller.

This patch integrates Vector operations into B3 CSE by defining Value::key and ValueKey for them.
We also clean up some vector related code for generating code.

* Source/JavaScriptCore/b3/B3LowerToAir.cpp:
* Source/JavaScriptCore/b3/B3SIMDValue.h:
* Source/JavaScriptCore/b3/B3Value.cpp:
(JSC::B3::Value::key const):
* Source/JavaScriptCore/b3/B3Value.h:
* Source/JavaScriptCore/b3/B3ValueKey.cpp:
(JSC::B3::ValueKey::materialize const):
* Source/JavaScriptCore/b3/B3ValueKey.h:
(JSC::B3::ValueKey::simdInfo const):
(JSC::B3::ValueKey::operator== const):
* Source/JavaScriptCore/b3/B3ValueKeyInlines.h:
(JSC::B3::ValueKey::ValueKey):
* Source/JavaScriptCore/jit/SIMDInfo.h:
(JSC::SIMDInfo::operator==):
(JSC::SIMDInfo::operator!=):

Canonical link: https://commits.webkit.org/260223@main
@webkit-early-warning-system webkit-early-warning-system force-pushed the eng/JSC-Vector-operations-should-work-with-CSE branch from 4bfb374 to 151366f Compare February 13, 2023 22:41
@webkit-commit-queue
Copy link
Collaborator

Committed 260223@main (151366f): https://commits.webkit.org/260223@main

Reviewed commits have been landed. Closing PR #9979 and removing active labels.

@webkit-early-warning-system webkit-early-warning-system merged commit 151366f into WebKit:main Feb 13, 2023
@webkit-commit-queue webkit-commit-queue removed the unsafe-merge-queue Applied to send a pull request to merge-queue, but skip building and testing label Feb 13, 2023
@Constellation Constellation deleted the eng/JSC-Vector-operations-should-work-with-CSE branch February 13, 2023 23:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
JavaScriptCore For bugs in JavaScriptCore, the JS engine used by WebKit, other than kxmlcore issues.
Projects
None yet
4 participants