tryToGenerateGeneralPrimitiveInvocation

fun tryToGenerateGeneralPrimitiveInvocation(    rawFunction: A_RawFunction,     arguments: List<L2ReadBoxedOperand>,     argumentTypes: List<A_Type>,     translator: L1Translator,     callSiteHelper: L1Translator.CallSiteHelper): Boolean

The primitive couldn't be folded out, and the primitive failed to produce specialized L2 instructions for itself. If the primitive is still known to be infallible (and does not affect the continuation stack) at this site, generate an L2_RUN_INFALLIBLE_PRIMITIVE for it and answer true, ensuring control flow will go to the appropriate CallSiteHelper exit point, and leave the translator NOT at a currentReachable() point.

If the primitive might fail for this site, do not generate anything, answer false, and generate nothing.

Return

true if a specialized L2Instruction sequence was generated, false if nothing was emitted and the general mechanism should be used instead.

Parameters

rawFunction

The primitive raw function whose invocation is being generated.

arguments

The argument L2ReadBoxedOperands supplied to the function.

argumentTypes

The list of A_Types of the arguments.

translator

The L1Translator on which to emit code, if possible.

callSiteHelper

Information about the call site being generated.