sunfishcode opened PR #1299 from templates
to master
:
Rename "global values" to "templates", to better describe their role as
expressions which can be provided by frontends and expanded by the code
generator as needed. And, start to generalize them, by introducing
Call
andIfElse
templates.This is a step towards generalizing templates into a form that can be
independent of Cranelift, and allow embedding environments to provide a
single description of their data structures which is independent of any
specific JIT. And, it's a step toward being able to use templates to
describe GC barrier instruction sequences.This also helps avoid some confusion between Cranelift IR global values,
wasm global variables, global variable data objects, and "global"
variables in regalloc.
- [x] No issue; this is a largely mechanical change that didn't take too long to put together, so it seemed easier to just stand up a patch so that we can talk about it. Reviewers shouldn't hesitate to push back or ask for broad changes.
- [x] See the commit message above for a description.
- [X] This PR updates existing tests as needed.
- [X] Reviewers selected.
sunfishcode requested fitzgen, and bnjbvr for a review on PR #1299.
sunfishcode requested fitzgen, and bnjbvr for a review on PR #1299.
sunfishcode updated PR #1299 from templates
to master
:
Rename "global values" to "templates", to better describe their role as
expressions which can be provided by frontends and expanded by the code
generator as needed. And, start to generalize them, by introducing
Call
andIfElse
templates.This is a step towards generalizing templates into a form that can be
independent of Cranelift, and allow embedding environments to provide a
single description of their data structures which is independent of any
specific JIT. And, it's a step toward being able to use templates to
describe GC barrier instruction sequences.This also helps avoid some confusion between Cranelift IR global values,
wasm global variables, global variable data objects, and "global"
variables in regalloc.
- [x] No issue; this is a largely mechanical change that didn't take too long to put together, so it seemed easier to just stand up a patch so that we can talk about it. Reviewers shouldn't hesitate to push back or ask for broad changes.
- [x] See the commit message above for a description.
- [X] This PR updates existing tests as needed.
- [X] Reviewers selected.
sunfishcode edited PR #1299 from templates
to master
:
Rename "global values" to "templates", to better describe their role as
expressions which can be provided by frontends and expanded by the code
generator as needed. And, start to generalize them, by introducing
Call
andIfElse
templates.This is a step towards generalizing templates into a form that can be
independent of Cranelift, and allow embedding environments to provide a
single description of their data structures which is independent of any
specific JIT. And, it's a step toward being able to use templates to
describe GC barrier instruction sequences.This also helps avoid some confusion between Cranelift IR global values,
wasm global variables, global variable data objects, and "global"
variables in regalloc.
- [x] This is partly in support of the discussion in https://github.com/bytecodealliance/cranelift/issues/1176#issuecomment-567180969.
- [x] See the commit message above for a description.
- [X] This PR updates existing tests as needed.
- [X] Reviewers selected.
[Edited - added the bug that discusses this]
bnjbvr submitted PR Review.
sunfishcode closed without merge PR #1299.
Last updated: Dec 23 2024 at 14:03 UTC