You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
JRuby currently supports several trace events like class and raise as "always-on" events. Others like line are only enabled in debug mode.
We have not recently evaluated how these trace hooks affect JIT-compiled code.
Events like line and some of the call events are hooked into code using safe points, which means activating them will potentially invalidate a large amount of code. In the case of line this is largely unavoidable; all lines need to suddenly start reporting events to any trace hook or TracePoint that has been installed. Others, however, like call and certainly class and raise are already very heavy, potentially-invalidating events, so always checking for trace hooks would probably be acceptable.
We should do some analysis of the current set of trace events and how they impact compiled and optimized code, to avoid their casual use wiping out optimizations unnecessarily.
The text was updated successfully, but these errors were encountered:
JRuby currently supports several trace events like
class
andraise
as "always-on" events. Others likeline
are only enabled in debug mode.We have not recently evaluated how these trace hooks affect JIT-compiled code.
Events like
line
and some of thecall
events are hooked into code using safe points, which means activating them will potentially invalidate a large amount of code. In the case ofline
this is largely unavoidable; all lines need to suddenly start reporting events to any trace hook or TracePoint that has been installed. Others, however, likecall
and certainlyclass
andraise
are already very heavy, potentially-invalidating events, so always checking for trace hooks would probably be acceptable.We should do some analysis of the current set of trace events and how they impact compiled and optimized code, to avoid their casual use wiping out optimizations unnecessarily.
The text was updated successfully, but these errors were encountered: