FIRST_JVM_TRANSLATION

The initial translation into Level Two instructions customized to a particular raw function. This at least should avoid the cost of fetching nybblecodes. It also avoids looking up monomorphic methods at execution time, and can inline or even fold calls to suitable primitives. The inlined calls to infallible primitives are simpler than the calls to fallible ones or non-primitives or polymorphic methods. Inlined primitive attempts avoid having to reify the calling continuation in the case that they're successful, but have to reify if the primitive fails.

Functions

Link copied to clipboard
open override fun optimize(code: A_RawFunction, interpreter: Interpreter)

Perform this level of optimization on the given A_RawFunction.

Properties

Link copied to clipboard
val countdown: Long

The value to use for the countdown after the translation at this level has taken place (i.e., how many calls to endure before the next level of optimization is attempted).

Link copied to clipboard
val name: String
Link copied to clipboard
val ordinal: Int