Summary: | B3 should have a Depend operation | ||
---|---|---|---|
Product: | WebKit | Reporter: | Filip Pizlo <fpizlo> |
Component: | JavaScriptCore | Assignee: | Nobody <webkit-unassigned> |
Status: | NEW --- | ||
Severity: | Normal | CC: | jfbastien |
Priority: | P2 | ||
Version: | WebKit Nightly Build | ||
Hardware: | All | ||
OS: | All | ||
Bug Depends on: | 162343 | ||
Bug Blocks: |
Description
Filip Pizlo
2016-09-21 11:16:30 PDT
Dependency should also support straight pointer chasing dependency. The key is that the compiler can't dematerialize the original pointer load. If you express this dependency then you can skip acquire fences as well. The address dependency rule is an extra complication for non-pointer-chasing dependencies. (In reply to comment #1) > Dependency should also support straight pointer chasing dependency. The key > is that the compiler can't dematerialize the original pointer load. If you > express this dependency then you can skip acquire fences as well. > > The address dependency rule is an extra complication for non-pointer-chasing > dependencies. I think that B3 already supports pointer chasing dependencies correctly. Depend fills in the non-pointer-chasing case. It's interesting that the way that B3 defines a load-load dependency as: load A load-depends on load B if the address of A cannot be computed without B. The Depend operation is only necessary if you want to build a dependency like this for code where B is unnecessary for computing the address of A. This is going to be fun to document. |