Add reference types to Cranelift#871
Conversation
|
Looks good! Other than the issue @philipc pointed out, this is in good shape! |
bnjbvr
left a comment
There was a problem hiding this comment.
Looking great! First round of comments on the first commit, mostly nits / naming suggestions, and small changes to remove the ref-to-bool conversions that don't feel type safe. (I'll continue the review later today.)
|
Also, wanted to point out that you can give attribution to several authors on Github commits with this feature, if you're in the mood for doing so. |
bnjbvr
left a comment
There was a problem hiding this comment.
Second commit's feedback. I imagine the trapnf instruction is used thereafter.
bnjbvr
left a comment
There was a problem hiding this comment.
Great work there! I think it is moving into the right direction. Many comments, but most of them are nits. I suspect some generated code is dead, we'll see.
I am still a bit unclear about what the new non-fatal trap does or allows; can you explain it a bit more, please? Thanks!
|
|
||
| fn add_stackmap(&mut self, val_list: &[Value], func: &Function, isa: &dyn TargetIsa) { | ||
| let ofs = self.offset(); | ||
| let sm = Stackmap::from_values(&val_list, func, isa); |
There was a problem hiding this comment.
nit: can you expand these two variable names to "offset" and "stack_map", please?
There was a problem hiding this comment.
I'll expand sm to stackmap, but ofs is more consistent with the rest of the impl for CodeSink. We use ofs inside of reloc_ebb , reloc_external, and reloc_jt. In general, the variable names in this impl are very short.
|
Ok, I looked at the last commit, which resolves some of the comments I've opened :) If possible, it'd be nice to play a bit with Great work overall. Two open-ended questions:
Thanks! |
|
@bnjbvr About |
|
@c27kwan Thanks for the explanation for |
ee60042 to
f288568
Compare
bnjbvr
left a comment
There was a problem hiding this comment.
I've skimmed this again, and this looks in great shape for landing! (One minor comment, but we could take care of it after landing.)
Congratulations and great work here, thanks!
-Add resumable_trap, safepoint, isnull, and null instructions -Add Stackmap struct and StackmapSink trait Co-authored-by: Mir Ahmed <mirahmed753@gmail.com> Co-authored-by: Dan Gohman <sunfish@mozilla.com>
sunfishcode
left a comment
There was a problem hiding this comment.
This looks good to me to!
No description provided.