Shopify / yjit

Optimizing JIT compiler built inside CRuby
658 stars 19 forks source link

Add comments about special runtime routines YJIT calls #285

Closed XrXr closed 3 years ago

XrXr commented 3 years ago

When YJIT make calls to routines without reconstructing interpreter state through jit_prepare_routine_call(), it relies on the routine to never allocate, raise, and push/pop control frames. Comment about this on the routines that YJTI calls.

This is probably something we should dynamically verify on debug builds. It's hard to statically verify this as it requires verifying all functions in the call tree. Maybe something to look at in the future.