Skip to content

Instantly share code, notes, and snippets.

@fjolnir
Created July 2, 2012 05:37
Show Gist options
  • Save fjolnir/3031294 to your computer and use it in GitHub Desktop.
Save fjolnir/3031294 to your computer and use it in GitHub Desktop.
// This file was autogenerated so don't modify it.
// (Compiled with support for up to 32 arguments)
#import <Tranquil/TQDebug.h>
#import <Tranquil/Runtime/TQRuntime.h>
// Passing the sentinel represents that no argument was passed for that slot
#define TQS TQSentinel
extern "C" {
id TQDispatchBlock0(struct TQBlockLiteral *block)
{
static void *underflowJmpTbl[] = { &&underflow0, &&underflow1, &&underflow2, &&underflow3, &&underflow4, &&underflow5, &&underflow6, &&underflow7, &&underflow8, &&underflow9, &&underflow10, &&underflow11, &&underflow12, &&underflow13, &&underflow14, &&underflow15, &&underflow16, &&underflow17, &&underflow18, &&underflow19, &&underflow20, &&underflow21, &&underflow22, &&underflow23, &&underflow24, &&underflow25, &&underflow26, &&underflow27, &&underflow28, &&underflow29, &&underflow30, &&underflow31, &&underflow32 };
if(block->flags & TQ_BLOCK_IS_TRANQUIL_BLOCK) {
if(block->descriptor->numArgs > 32)
TQAssert(NO, @"Tranquil was compiled with support for 32 block arguments. You tried to call a block that takes %d.", block->descriptor->numArgs);
else if(block->descriptor->isVariadic) {
if(block->descriptor->numArgs <= 0)
goto *underflowJmpTbl[0];
else
goto *underflowJmpTbl[block->descriptor->numArgs];
} else {
if(block->descriptor->numArgs == 0)
return block->invoke(block);
else if(block->descriptor->numArgs > 0)
goto *underflowJmpTbl[block->descriptor->numArgs];
else if(block->descriptor->numArgs < 0)
TQAssert(NO, @"Too many arguments to %@! 0 for %d", block, block->descriptor->numArgs);
}
} else // Foreign block -> no validation possible
return block->invoke(block);
underflow0:
return block->invoke(block, TQS);
underflow1:
return block->invoke(block, TQS, TQS);
underflow2:
return block->invoke(block, TQS, TQS, TQS);
underflow3:
return block->invoke(block, TQS, TQS, TQS, TQS);
underflow4:
return block->invoke(block, TQS, TQS, TQS, TQS, TQS);
underflow5:
return block->invoke(block, TQS, TQS, TQS, TQS, TQS, TQS);
underflow6:
return block->invoke(block, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow7:
return block->invoke(block, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow8:
return block->invoke(block, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow9:
return block->invoke(block, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow10:
return block->invoke(block, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow11:
return block->invoke(block, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow12:
return block->invoke(block, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow13:
return block->invoke(block, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow14:
return block->invoke(block, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow15:
return block->invoke(block, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow16:
return block->invoke(block, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow17:
return block->invoke(block, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow18:
return block->invoke(block, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow19:
return block->invoke(block, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow20:
return block->invoke(block, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow21:
return block->invoke(block, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow22:
return block->invoke(block, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow23:
return block->invoke(block, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow24:
return block->invoke(block, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow25:
return block->invoke(block, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow26:
return block->invoke(block, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow27:
return block->invoke(block, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow28:
return block->invoke(block, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow29:
return block->invoke(block, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow30:
return block->invoke(block, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow31:
return block->invoke(block, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow32:
return block->invoke(block, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
}
id TQDispatchBlock1(struct TQBlockLiteral *block, id a1)
{
static void *underflowJmpTbl[] = { &&underflow0, &&underflow1, &&underflow2, &&underflow3, &&underflow4, &&underflow5, &&underflow6, &&underflow7, &&underflow8, &&underflow9, &&underflow10, &&underflow11, &&underflow12, &&underflow13, &&underflow14, &&underflow15, &&underflow16, &&underflow17, &&underflow18, &&underflow19, &&underflow20, &&underflow21, &&underflow22, &&underflow23, &&underflow24, &&underflow25, &&underflow26, &&underflow27, &&underflow28, &&underflow29, &&underflow30, &&underflow31 };
if(block->flags & TQ_BLOCK_IS_TRANQUIL_BLOCK) {
if(block->descriptor->numArgs > 32)
TQAssert(NO, @"Tranquil was compiled with support for 32 block arguments. You tried to call a block that takes %d.", block->descriptor->numArgs);
else if(block->descriptor->isVariadic) {
if(block->descriptor->numArgs <= 1)
goto *underflowJmpTbl[0];
else
goto *underflowJmpTbl[block->descriptor->numArgs - 1];
} else {
if(block->descriptor->numArgs == 1)
return block->invoke(block, a1);
else if(block->descriptor->numArgs > 1)
goto *underflowJmpTbl[block->descriptor->numArgs- 2];
else if(block->descriptor->numArgs < 1)
TQAssert(NO, @"Too many arguments to %@! 1 for %d", block, block->descriptor->numArgs);
}
} else // Foreign block -> no validation possible
return block->invoke(block, a1);
underflow0:
return block->invoke(block, a1, TQS);
underflow1:
return block->invoke(block, a1, TQS, TQS);
underflow2:
return block->invoke(block, a1, TQS, TQS, TQS);
underflow3:
return block->invoke(block, a1, TQS, TQS, TQS, TQS);
underflow4:
return block->invoke(block, a1, TQS, TQS, TQS, TQS, TQS);
underflow5:
return block->invoke(block, a1, TQS, TQS, TQS, TQS, TQS, TQS);
underflow6:
return block->invoke(block, a1, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow7:
return block->invoke(block, a1, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow8:
return block->invoke(block, a1, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow9:
return block->invoke(block, a1, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow10:
return block->invoke(block, a1, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow11:
return block->invoke(block, a1, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow12:
return block->invoke(block, a1, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow13:
return block->invoke(block, a1, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow14:
return block->invoke(block, a1, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow15:
return block->invoke(block, a1, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow16:
return block->invoke(block, a1, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow17:
return block->invoke(block, a1, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow18:
return block->invoke(block, a1, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow19:
return block->invoke(block, a1, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow20:
return block->invoke(block, a1, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow21:
return block->invoke(block, a1, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow22:
return block->invoke(block, a1, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow23:
return block->invoke(block, a1, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow24:
return block->invoke(block, a1, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow25:
return block->invoke(block, a1, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow26:
return block->invoke(block, a1, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow27:
return block->invoke(block, a1, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow28:
return block->invoke(block, a1, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow29:
return block->invoke(block, a1, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow30:
return block->invoke(block, a1, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow31:
return block->invoke(block, a1, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
}
id TQDispatchBlock2(struct TQBlockLiteral *block, id a1, id a2)
{
static void *underflowJmpTbl[] = { &&underflow0, &&underflow1, &&underflow2, &&underflow3, &&underflow4, &&underflow5, &&underflow6, &&underflow7, &&underflow8, &&underflow9, &&underflow10, &&underflow11, &&underflow12, &&underflow13, &&underflow14, &&underflow15, &&underflow16, &&underflow17, &&underflow18, &&underflow19, &&underflow20, &&underflow21, &&underflow22, &&underflow23, &&underflow24, &&underflow25, &&underflow26, &&underflow27, &&underflow28, &&underflow29, &&underflow30 };
if(block->flags & TQ_BLOCK_IS_TRANQUIL_BLOCK) {
if(block->descriptor->numArgs > 32)
TQAssert(NO, @"Tranquil was compiled with support for 32 block arguments. You tried to call a block that takes %d.", block->descriptor->numArgs);
else if(block->descriptor->isVariadic) {
if(block->descriptor->numArgs <= 2)
goto *underflowJmpTbl[0];
else
goto *underflowJmpTbl[block->descriptor->numArgs - 2];
} else {
if(block->descriptor->numArgs == 2)
return block->invoke(block, a1, a2);
else if(block->descriptor->numArgs > 2)
goto *underflowJmpTbl[block->descriptor->numArgs- 3];
else if(block->descriptor->numArgs < 2)
TQAssert(NO, @"Too many arguments to %@! 2 for %d", block, block->descriptor->numArgs);
}
} else // Foreign block -> no validation possible
return block->invoke(block, a1, a2);
underflow0:
return block->invoke(block, a1, a2, TQS);
underflow1:
return block->invoke(block, a1, a2, TQS, TQS);
underflow2:
return block->invoke(block, a1, a2, TQS, TQS, TQS);
underflow3:
return block->invoke(block, a1, a2, TQS, TQS, TQS, TQS);
underflow4:
return block->invoke(block, a1, a2, TQS, TQS, TQS, TQS, TQS);
underflow5:
return block->invoke(block, a1, a2, TQS, TQS, TQS, TQS, TQS, TQS);
underflow6:
return block->invoke(block, a1, a2, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow7:
return block->invoke(block, a1, a2, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow8:
return block->invoke(block, a1, a2, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow9:
return block->invoke(block, a1, a2, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow10:
return block->invoke(block, a1, a2, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow11:
return block->invoke(block, a1, a2, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow12:
return block->invoke(block, a1, a2, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow13:
return block->invoke(block, a1, a2, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow14:
return block->invoke(block, a1, a2, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow15:
return block->invoke(block, a1, a2, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow16:
return block->invoke(block, a1, a2, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow17:
return block->invoke(block, a1, a2, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow18:
return block->invoke(block, a1, a2, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow19:
return block->invoke(block, a1, a2, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow20:
return block->invoke(block, a1, a2, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow21:
return block->invoke(block, a1, a2, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow22:
return block->invoke(block, a1, a2, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow23:
return block->invoke(block, a1, a2, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow24:
return block->invoke(block, a1, a2, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow25:
return block->invoke(block, a1, a2, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow26:
return block->invoke(block, a1, a2, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow27:
return block->invoke(block, a1, a2, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow28:
return block->invoke(block, a1, a2, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow29:
return block->invoke(block, a1, a2, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow30:
return block->invoke(block, a1, a2, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
}
id TQDispatchBlock3(struct TQBlockLiteral *block, id a1, id a2, id a3)
{
static void *underflowJmpTbl[] = { &&underflow0, &&underflow1, &&underflow2, &&underflow3, &&underflow4, &&underflow5, &&underflow6, &&underflow7, &&underflow8, &&underflow9, &&underflow10, &&underflow11, &&underflow12, &&underflow13, &&underflow14, &&underflow15, &&underflow16, &&underflow17, &&underflow18, &&underflow19, &&underflow20, &&underflow21, &&underflow22, &&underflow23, &&underflow24, &&underflow25, &&underflow26, &&underflow27, &&underflow28, &&underflow29 };
if(block->flags & TQ_BLOCK_IS_TRANQUIL_BLOCK) {
if(block->descriptor->numArgs > 32)
TQAssert(NO, @"Tranquil was compiled with support for 32 block arguments. You tried to call a block that takes %d.", block->descriptor->numArgs);
else if(block->descriptor->isVariadic) {
if(block->descriptor->numArgs <= 3)
goto *underflowJmpTbl[0];
else
goto *underflowJmpTbl[block->descriptor->numArgs - 3];
} else {
if(block->descriptor->numArgs == 3)
return block->invoke(block, a1, a2, a3);
else if(block->descriptor->numArgs > 3)
goto *underflowJmpTbl[block->descriptor->numArgs- 4];
else if(block->descriptor->numArgs < 3)
TQAssert(NO, @"Too many arguments to %@! 3 for %d", block, block->descriptor->numArgs);
}
} else // Foreign block -> no validation possible
return block->invoke(block, a1, a2, a3);
underflow0:
return block->invoke(block, a1, a2, a3, TQS);
underflow1:
return block->invoke(block, a1, a2, a3, TQS, TQS);
underflow2:
return block->invoke(block, a1, a2, a3, TQS, TQS, TQS);
underflow3:
return block->invoke(block, a1, a2, a3, TQS, TQS, TQS, TQS);
underflow4:
return block->invoke(block, a1, a2, a3, TQS, TQS, TQS, TQS, TQS);
underflow5:
return block->invoke(block, a1, a2, a3, TQS, TQS, TQS, TQS, TQS, TQS);
underflow6:
return block->invoke(block, a1, a2, a3, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow7:
return block->invoke(block, a1, a2, a3, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow8:
return block->invoke(block, a1, a2, a3, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow9:
return block->invoke(block, a1, a2, a3, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow10:
return block->invoke(block, a1, a2, a3, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow11:
return block->invoke(block, a1, a2, a3, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow12:
return block->invoke(block, a1, a2, a3, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow13:
return block->invoke(block, a1, a2, a3, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow14:
return block->invoke(block, a1, a2, a3, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow15:
return block->invoke(block, a1, a2, a3, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow16:
return block->invoke(block, a1, a2, a3, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow17:
return block->invoke(block, a1, a2, a3, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow18:
return block->invoke(block, a1, a2, a3, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow19:
return block->invoke(block, a1, a2, a3, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow20:
return block->invoke(block, a1, a2, a3, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow21:
return block->invoke(block, a1, a2, a3, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow22:
return block->invoke(block, a1, a2, a3, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow23:
return block->invoke(block, a1, a2, a3, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow24:
return block->invoke(block, a1, a2, a3, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow25:
return block->invoke(block, a1, a2, a3, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow26:
return block->invoke(block, a1, a2, a3, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow27:
return block->invoke(block, a1, a2, a3, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow28:
return block->invoke(block, a1, a2, a3, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow29:
return block->invoke(block, a1, a2, a3, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
}
id TQDispatchBlock4(struct TQBlockLiteral *block, id a1, id a2, id a3, id a4)
{
static void *underflowJmpTbl[] = { &&underflow0, &&underflow1, &&underflow2, &&underflow3, &&underflow4, &&underflow5, &&underflow6, &&underflow7, &&underflow8, &&underflow9, &&underflow10, &&underflow11, &&underflow12, &&underflow13, &&underflow14, &&underflow15, &&underflow16, &&underflow17, &&underflow18, &&underflow19, &&underflow20, &&underflow21, &&underflow22, &&underflow23, &&underflow24, &&underflow25, &&underflow26, &&underflow27, &&underflow28 };
if(block->flags & TQ_BLOCK_IS_TRANQUIL_BLOCK) {
if(block->descriptor->numArgs > 32)
TQAssert(NO, @"Tranquil was compiled with support for 32 block arguments. You tried to call a block that takes %d.", block->descriptor->numArgs);
else if(block->descriptor->isVariadic) {
if(block->descriptor->numArgs <= 4)
goto *underflowJmpTbl[0];
else
goto *underflowJmpTbl[block->descriptor->numArgs - 4];
} else {
if(block->descriptor->numArgs == 4)
return block->invoke(block, a1, a2, a3, a4);
else if(block->descriptor->numArgs > 4)
goto *underflowJmpTbl[block->descriptor->numArgs- 5];
else if(block->descriptor->numArgs < 4)
TQAssert(NO, @"Too many arguments to %@! 4 for %d", block, block->descriptor->numArgs);
}
} else // Foreign block -> no validation possible
return block->invoke(block, a1, a2, a3, a4);
underflow0:
return block->invoke(block, a1, a2, a3, a4, TQS);
underflow1:
return block->invoke(block, a1, a2, a3, a4, TQS, TQS);
underflow2:
return block->invoke(block, a1, a2, a3, a4, TQS, TQS, TQS);
underflow3:
return block->invoke(block, a1, a2, a3, a4, TQS, TQS, TQS, TQS);
underflow4:
return block->invoke(block, a1, a2, a3, a4, TQS, TQS, TQS, TQS, TQS);
underflow5:
return block->invoke(block, a1, a2, a3, a4, TQS, TQS, TQS, TQS, TQS, TQS);
underflow6:
return block->invoke(block, a1, a2, a3, a4, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow7:
return block->invoke(block, a1, a2, a3, a4, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow8:
return block->invoke(block, a1, a2, a3, a4, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow9:
return block->invoke(block, a1, a2, a3, a4, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow10:
return block->invoke(block, a1, a2, a3, a4, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow11:
return block->invoke(block, a1, a2, a3, a4, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow12:
return block->invoke(block, a1, a2, a3, a4, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow13:
return block->invoke(block, a1, a2, a3, a4, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow14:
return block->invoke(block, a1, a2, a3, a4, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow15:
return block->invoke(block, a1, a2, a3, a4, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow16:
return block->invoke(block, a1, a2, a3, a4, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow17:
return block->invoke(block, a1, a2, a3, a4, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow18:
return block->invoke(block, a1, a2, a3, a4, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow19:
return block->invoke(block, a1, a2, a3, a4, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow20:
return block->invoke(block, a1, a2, a3, a4, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow21:
return block->invoke(block, a1, a2, a3, a4, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow22:
return block->invoke(block, a1, a2, a3, a4, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow23:
return block->invoke(block, a1, a2, a3, a4, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow24:
return block->invoke(block, a1, a2, a3, a4, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow25:
return block->invoke(block, a1, a2, a3, a4, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow26:
return block->invoke(block, a1, a2, a3, a4, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow27:
return block->invoke(block, a1, a2, a3, a4, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow28:
return block->invoke(block, a1, a2, a3, a4, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
}
id TQDispatchBlock5(struct TQBlockLiteral *block, id a1, id a2, id a3, id a4, id a5)
{
static void *underflowJmpTbl[] = { &&underflow0, &&underflow1, &&underflow2, &&underflow3, &&underflow4, &&underflow5, &&underflow6, &&underflow7, &&underflow8, &&underflow9, &&underflow10, &&underflow11, &&underflow12, &&underflow13, &&underflow14, &&underflow15, &&underflow16, &&underflow17, &&underflow18, &&underflow19, &&underflow20, &&underflow21, &&underflow22, &&underflow23, &&underflow24, &&underflow25, &&underflow26, &&underflow27 };
if(block->flags & TQ_BLOCK_IS_TRANQUIL_BLOCK) {
if(block->descriptor->numArgs > 32)
TQAssert(NO, @"Tranquil was compiled with support for 32 block arguments. You tried to call a block that takes %d.", block->descriptor->numArgs);
else if(block->descriptor->isVariadic) {
if(block->descriptor->numArgs <= 5)
goto *underflowJmpTbl[0];
else
goto *underflowJmpTbl[block->descriptor->numArgs - 5];
} else {
if(block->descriptor->numArgs == 5)
return block->invoke(block, a1, a2, a3, a4, a5);
else if(block->descriptor->numArgs > 5)
goto *underflowJmpTbl[block->descriptor->numArgs- 6];
else if(block->descriptor->numArgs < 5)
TQAssert(NO, @"Too many arguments to %@! 5 for %d", block, block->descriptor->numArgs);
}
} else // Foreign block -> no validation possible
return block->invoke(block, a1, a2, a3, a4, a5);
underflow0:
return block->invoke(block, a1, a2, a3, a4, a5, TQS);
underflow1:
return block->invoke(block, a1, a2, a3, a4, a5, TQS, TQS);
underflow2:
return block->invoke(block, a1, a2, a3, a4, a5, TQS, TQS, TQS);
underflow3:
return block->invoke(block, a1, a2, a3, a4, a5, TQS, TQS, TQS, TQS);
underflow4:
return block->invoke(block, a1, a2, a3, a4, a5, TQS, TQS, TQS, TQS, TQS);
underflow5:
return block->invoke(block, a1, a2, a3, a4, a5, TQS, TQS, TQS, TQS, TQS, TQS);
underflow6:
return block->invoke(block, a1, a2, a3, a4, a5, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow7:
return block->invoke(block, a1, a2, a3, a4, a5, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow8:
return block->invoke(block, a1, a2, a3, a4, a5, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow9:
return block->invoke(block, a1, a2, a3, a4, a5, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow10:
return block->invoke(block, a1, a2, a3, a4, a5, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow11:
return block->invoke(block, a1, a2, a3, a4, a5, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow12:
return block->invoke(block, a1, a2, a3, a4, a5, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow13:
return block->invoke(block, a1, a2, a3, a4, a5, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow14:
return block->invoke(block, a1, a2, a3, a4, a5, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow15:
return block->invoke(block, a1, a2, a3, a4, a5, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow16:
return block->invoke(block, a1, a2, a3, a4, a5, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow17:
return block->invoke(block, a1, a2, a3, a4, a5, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow18:
return block->invoke(block, a1, a2, a3, a4, a5, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow19:
return block->invoke(block, a1, a2, a3, a4, a5, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow20:
return block->invoke(block, a1, a2, a3, a4, a5, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow21:
return block->invoke(block, a1, a2, a3, a4, a5, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow22:
return block->invoke(block, a1, a2, a3, a4, a5, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow23:
return block->invoke(block, a1, a2, a3, a4, a5, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow24:
return block->invoke(block, a1, a2, a3, a4, a5, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow25:
return block->invoke(block, a1, a2, a3, a4, a5, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow26:
return block->invoke(block, a1, a2, a3, a4, a5, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow27:
return block->invoke(block, a1, a2, a3, a4, a5, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
}
id TQDispatchBlock6(struct TQBlockLiteral *block, id a1, id a2, id a3, id a4, id a5, id a6)
{
static void *underflowJmpTbl[] = { &&underflow0, &&underflow1, &&underflow2, &&underflow3, &&underflow4, &&underflow5, &&underflow6, &&underflow7, &&underflow8, &&underflow9, &&underflow10, &&underflow11, &&underflow12, &&underflow13, &&underflow14, &&underflow15, &&underflow16, &&underflow17, &&underflow18, &&underflow19, &&underflow20, &&underflow21, &&underflow22, &&underflow23, &&underflow24, &&underflow25, &&underflow26 };
if(block->flags & TQ_BLOCK_IS_TRANQUIL_BLOCK) {
if(block->descriptor->numArgs > 32)
TQAssert(NO, @"Tranquil was compiled with support for 32 block arguments. You tried to call a block that takes %d.", block->descriptor->numArgs);
else if(block->descriptor->isVariadic) {
if(block->descriptor->numArgs <= 6)
goto *underflowJmpTbl[0];
else
goto *underflowJmpTbl[block->descriptor->numArgs - 6];
} else {
if(block->descriptor->numArgs == 6)
return block->invoke(block, a1, a2, a3, a4, a5, a6);
else if(block->descriptor->numArgs > 6)
goto *underflowJmpTbl[block->descriptor->numArgs- 7];
else if(block->descriptor->numArgs < 6)
TQAssert(NO, @"Too many arguments to %@! 6 for %d", block, block->descriptor->numArgs);
}
} else // Foreign block -> no validation possible
return block->invoke(block, a1, a2, a3, a4, a5, a6);
underflow0:
return block->invoke(block, a1, a2, a3, a4, a5, a6, TQS);
underflow1:
return block->invoke(block, a1, a2, a3, a4, a5, a6, TQS, TQS);
underflow2:
return block->invoke(block, a1, a2, a3, a4, a5, a6, TQS, TQS, TQS);
underflow3:
return block->invoke(block, a1, a2, a3, a4, a5, a6, TQS, TQS, TQS, TQS);
underflow4:
return block->invoke(block, a1, a2, a3, a4, a5, a6, TQS, TQS, TQS, TQS, TQS);
underflow5:
return block->invoke(block, a1, a2, a3, a4, a5, a6, TQS, TQS, TQS, TQS, TQS, TQS);
underflow6:
return block->invoke(block, a1, a2, a3, a4, a5, a6, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow7:
return block->invoke(block, a1, a2, a3, a4, a5, a6, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow8:
return block->invoke(block, a1, a2, a3, a4, a5, a6, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow9:
return block->invoke(block, a1, a2, a3, a4, a5, a6, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow10:
return block->invoke(block, a1, a2, a3, a4, a5, a6, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow11:
return block->invoke(block, a1, a2, a3, a4, a5, a6, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow12:
return block->invoke(block, a1, a2, a3, a4, a5, a6, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow13:
return block->invoke(block, a1, a2, a3, a4, a5, a6, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow14:
return block->invoke(block, a1, a2, a3, a4, a5, a6, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow15:
return block->invoke(block, a1, a2, a3, a4, a5, a6, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow16:
return block->invoke(block, a1, a2, a3, a4, a5, a6, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow17:
return block->invoke(block, a1, a2, a3, a4, a5, a6, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow18:
return block->invoke(block, a1, a2, a3, a4, a5, a6, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow19:
return block->invoke(block, a1, a2, a3, a4, a5, a6, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow20:
return block->invoke(block, a1, a2, a3, a4, a5, a6, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow21:
return block->invoke(block, a1, a2, a3, a4, a5, a6, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow22:
return block->invoke(block, a1, a2, a3, a4, a5, a6, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow23:
return block->invoke(block, a1, a2, a3, a4, a5, a6, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow24:
return block->invoke(block, a1, a2, a3, a4, a5, a6, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow25:
return block->invoke(block, a1, a2, a3, a4, a5, a6, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow26:
return block->invoke(block, a1, a2, a3, a4, a5, a6, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
}
id TQDispatchBlock7(struct TQBlockLiteral *block, id a1, id a2, id a3, id a4, id a5, id a6, id a7)
{
static void *underflowJmpTbl[] = { &&underflow0, &&underflow1, &&underflow2, &&underflow3, &&underflow4, &&underflow5, &&underflow6, &&underflow7, &&underflow8, &&underflow9, &&underflow10, &&underflow11, &&underflow12, &&underflow13, &&underflow14, &&underflow15, &&underflow16, &&underflow17, &&underflow18, &&underflow19, &&underflow20, &&underflow21, &&underflow22, &&underflow23, &&underflow24, &&underflow25 };
if(block->flags & TQ_BLOCK_IS_TRANQUIL_BLOCK) {
if(block->descriptor->numArgs > 32)
TQAssert(NO, @"Tranquil was compiled with support for 32 block arguments. You tried to call a block that takes %d.", block->descriptor->numArgs);
else if(block->descriptor->isVariadic) {
if(block->descriptor->numArgs <= 7)
goto *underflowJmpTbl[0];
else
goto *underflowJmpTbl[block->descriptor->numArgs - 7];
} else {
if(block->descriptor->numArgs == 7)
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7);
else if(block->descriptor->numArgs > 7)
goto *underflowJmpTbl[block->descriptor->numArgs- 8];
else if(block->descriptor->numArgs < 7)
TQAssert(NO, @"Too many arguments to %@! 7 for %d", block, block->descriptor->numArgs);
}
} else // Foreign block -> no validation possible
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7);
underflow0:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, TQS);
underflow1:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, TQS, TQS);
underflow2:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, TQS, TQS, TQS);
underflow3:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, TQS, TQS, TQS, TQS);
underflow4:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, TQS, TQS, TQS, TQS, TQS);
underflow5:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, TQS, TQS, TQS, TQS, TQS, TQS);
underflow6:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow7:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow8:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow9:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow10:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow11:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow12:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow13:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow14:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow15:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow16:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow17:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow18:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow19:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow20:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow21:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow22:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow23:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow24:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow25:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
}
id TQDispatchBlock8(struct TQBlockLiteral *block, id a1, id a2, id a3, id a4, id a5, id a6, id a7, id a8)
{
static void *underflowJmpTbl[] = { &&underflow0, &&underflow1, &&underflow2, &&underflow3, &&underflow4, &&underflow5, &&underflow6, &&underflow7, &&underflow8, &&underflow9, &&underflow10, &&underflow11, &&underflow12, &&underflow13, &&underflow14, &&underflow15, &&underflow16, &&underflow17, &&underflow18, &&underflow19, &&underflow20, &&underflow21, &&underflow22, &&underflow23, &&underflow24 };
if(block->flags & TQ_BLOCK_IS_TRANQUIL_BLOCK) {
if(block->descriptor->numArgs > 32)
TQAssert(NO, @"Tranquil was compiled with support for 32 block arguments. You tried to call a block that takes %d.", block->descriptor->numArgs);
else if(block->descriptor->isVariadic) {
if(block->descriptor->numArgs <= 8)
goto *underflowJmpTbl[0];
else
goto *underflowJmpTbl[block->descriptor->numArgs - 8];
} else {
if(block->descriptor->numArgs == 8)
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8);
else if(block->descriptor->numArgs > 8)
goto *underflowJmpTbl[block->descriptor->numArgs- 9];
else if(block->descriptor->numArgs < 8)
TQAssert(NO, @"Too many arguments to %@! 8 for %d", block, block->descriptor->numArgs);
}
} else // Foreign block -> no validation possible
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8);
underflow0:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, TQS);
underflow1:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, TQS, TQS);
underflow2:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, TQS, TQS, TQS);
underflow3:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, TQS, TQS, TQS, TQS);
underflow4:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, TQS, TQS, TQS, TQS, TQS);
underflow5:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, TQS, TQS, TQS, TQS, TQS, TQS);
underflow6:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow7:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow8:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow9:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow10:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow11:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow12:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow13:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow14:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow15:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow16:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow17:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow18:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow19:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow20:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow21:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow22:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow23:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow24:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
}
id TQDispatchBlock9(struct TQBlockLiteral *block, id a1, id a2, id a3, id a4, id a5, id a6, id a7, id a8, id a9)
{
static void *underflowJmpTbl[] = { &&underflow0, &&underflow1, &&underflow2, &&underflow3, &&underflow4, &&underflow5, &&underflow6, &&underflow7, &&underflow8, &&underflow9, &&underflow10, &&underflow11, &&underflow12, &&underflow13, &&underflow14, &&underflow15, &&underflow16, &&underflow17, &&underflow18, &&underflow19, &&underflow20, &&underflow21, &&underflow22, &&underflow23 };
if(block->flags & TQ_BLOCK_IS_TRANQUIL_BLOCK) {
if(block->descriptor->numArgs > 32)
TQAssert(NO, @"Tranquil was compiled with support for 32 block arguments. You tried to call a block that takes %d.", block->descriptor->numArgs);
else if(block->descriptor->isVariadic) {
if(block->descriptor->numArgs <= 9)
goto *underflowJmpTbl[0];
else
goto *underflowJmpTbl[block->descriptor->numArgs - 9];
} else {
if(block->descriptor->numArgs == 9)
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9);
else if(block->descriptor->numArgs > 9)
goto *underflowJmpTbl[block->descriptor->numArgs- 10];
else if(block->descriptor->numArgs < 9)
TQAssert(NO, @"Too many arguments to %@! 9 for %d", block, block->descriptor->numArgs);
}
} else // Foreign block -> no validation possible
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9);
underflow0:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, TQS);
underflow1:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, TQS, TQS);
underflow2:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, TQS, TQS, TQS);
underflow3:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, TQS, TQS, TQS, TQS);
underflow4:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, TQS, TQS, TQS, TQS, TQS);
underflow5:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, TQS, TQS, TQS, TQS, TQS, TQS);
underflow6:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow7:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow8:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow9:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow10:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow11:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow12:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow13:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow14:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow15:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow16:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow17:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow18:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow19:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow20:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow21:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow22:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow23:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
}
id TQDispatchBlock10(struct TQBlockLiteral *block, id a1, id a2, id a3, id a4, id a5, id a6, id a7, id a8, id a9, id a10)
{
static void *underflowJmpTbl[] = { &&underflow0, &&underflow1, &&underflow2, &&underflow3, &&underflow4, &&underflow5, &&underflow6, &&underflow7, &&underflow8, &&underflow9, &&underflow10, &&underflow11, &&underflow12, &&underflow13, &&underflow14, &&underflow15, &&underflow16, &&underflow17, &&underflow18, &&underflow19, &&underflow20, &&underflow21, &&underflow22 };
if(block->flags & TQ_BLOCK_IS_TRANQUIL_BLOCK) {
if(block->descriptor->numArgs > 32)
TQAssert(NO, @"Tranquil was compiled with support for 32 block arguments. You tried to call a block that takes %d.", block->descriptor->numArgs);
else if(block->descriptor->isVariadic) {
if(block->descriptor->numArgs <= 10)
goto *underflowJmpTbl[0];
else
goto *underflowJmpTbl[block->descriptor->numArgs - 10];
} else {
if(block->descriptor->numArgs == 10)
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10);
else if(block->descriptor->numArgs > 10)
goto *underflowJmpTbl[block->descriptor->numArgs- 11];
else if(block->descriptor->numArgs < 10)
TQAssert(NO, @"Too many arguments to %@! 10 for %d", block, block->descriptor->numArgs);
}
} else // Foreign block -> no validation possible
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10);
underflow0:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, TQS);
underflow1:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, TQS, TQS);
underflow2:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, TQS, TQS, TQS);
underflow3:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, TQS, TQS, TQS, TQS);
underflow4:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, TQS, TQS, TQS, TQS, TQS);
underflow5:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, TQS, TQS, TQS, TQS, TQS, TQS);
underflow6:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow7:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow8:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow9:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow10:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow11:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow12:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow13:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow14:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow15:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow16:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow17:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow18:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow19:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow20:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow21:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow22:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
}
id TQDispatchBlock11(struct TQBlockLiteral *block, id a1, id a2, id a3, id a4, id a5, id a6, id a7, id a8, id a9, id a10, id a11)
{
static void *underflowJmpTbl[] = { &&underflow0, &&underflow1, &&underflow2, &&underflow3, &&underflow4, &&underflow5, &&underflow6, &&underflow7, &&underflow8, &&underflow9, &&underflow10, &&underflow11, &&underflow12, &&underflow13, &&underflow14, &&underflow15, &&underflow16, &&underflow17, &&underflow18, &&underflow19, &&underflow20, &&underflow21 };
if(block->flags & TQ_BLOCK_IS_TRANQUIL_BLOCK) {
if(block->descriptor->numArgs > 32)
TQAssert(NO, @"Tranquil was compiled with support for 32 block arguments. You tried to call a block that takes %d.", block->descriptor->numArgs);
else if(block->descriptor->isVariadic) {
if(block->descriptor->numArgs <= 11)
goto *underflowJmpTbl[0];
else
goto *underflowJmpTbl[block->descriptor->numArgs - 11];
} else {
if(block->descriptor->numArgs == 11)
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11);
else if(block->descriptor->numArgs > 11)
goto *underflowJmpTbl[block->descriptor->numArgs- 12];
else if(block->descriptor->numArgs < 11)
TQAssert(NO, @"Too many arguments to %@! 11 for %d", block, block->descriptor->numArgs);
}
} else // Foreign block -> no validation possible
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11);
underflow0:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, TQS);
underflow1:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, TQS, TQS);
underflow2:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, TQS, TQS, TQS);
underflow3:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, TQS, TQS, TQS, TQS);
underflow4:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, TQS, TQS, TQS, TQS, TQS);
underflow5:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, TQS, TQS, TQS, TQS, TQS, TQS);
underflow6:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow7:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow8:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow9:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow10:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow11:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow12:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow13:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow14:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow15:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow16:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow17:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow18:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow19:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow20:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow21:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
}
id TQDispatchBlock12(struct TQBlockLiteral *block, id a1, id a2, id a3, id a4, id a5, id a6, id a7, id a8, id a9, id a10, id a11, id a12)
{
static void *underflowJmpTbl[] = { &&underflow0, &&underflow1, &&underflow2, &&underflow3, &&underflow4, &&underflow5, &&underflow6, &&underflow7, &&underflow8, &&underflow9, &&underflow10, &&underflow11, &&underflow12, &&underflow13, &&underflow14, &&underflow15, &&underflow16, &&underflow17, &&underflow18, &&underflow19, &&underflow20 };
if(block->flags & TQ_BLOCK_IS_TRANQUIL_BLOCK) {
if(block->descriptor->numArgs > 32)
TQAssert(NO, @"Tranquil was compiled with support for 32 block arguments. You tried to call a block that takes %d.", block->descriptor->numArgs);
else if(block->descriptor->isVariadic) {
if(block->descriptor->numArgs <= 12)
goto *underflowJmpTbl[0];
else
goto *underflowJmpTbl[block->descriptor->numArgs - 12];
} else {
if(block->descriptor->numArgs == 12)
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12);
else if(block->descriptor->numArgs > 12)
goto *underflowJmpTbl[block->descriptor->numArgs- 13];
else if(block->descriptor->numArgs < 12)
TQAssert(NO, @"Too many arguments to %@! 12 for %d", block, block->descriptor->numArgs);
}
} else // Foreign block -> no validation possible
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12);
underflow0:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, TQS);
underflow1:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, TQS, TQS);
underflow2:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, TQS, TQS, TQS);
underflow3:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, TQS, TQS, TQS, TQS);
underflow4:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, TQS, TQS, TQS, TQS, TQS);
underflow5:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, TQS, TQS, TQS, TQS, TQS, TQS);
underflow6:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow7:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow8:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow9:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow10:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow11:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow12:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow13:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow14:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow15:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow16:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow17:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow18:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow19:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow20:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
}
id TQDispatchBlock13(struct TQBlockLiteral *block, id a1, id a2, id a3, id a4, id a5, id a6, id a7, id a8, id a9, id a10, id a11, id a12, id a13)
{
static void *underflowJmpTbl[] = { &&underflow0, &&underflow1, &&underflow2, &&underflow3, &&underflow4, &&underflow5, &&underflow6, &&underflow7, &&underflow8, &&underflow9, &&underflow10, &&underflow11, &&underflow12, &&underflow13, &&underflow14, &&underflow15, &&underflow16, &&underflow17, &&underflow18, &&underflow19 };
if(block->flags & TQ_BLOCK_IS_TRANQUIL_BLOCK) {
if(block->descriptor->numArgs > 32)
TQAssert(NO, @"Tranquil was compiled with support for 32 block arguments. You tried to call a block that takes %d.", block->descriptor->numArgs);
else if(block->descriptor->isVariadic) {
if(block->descriptor->numArgs <= 13)
goto *underflowJmpTbl[0];
else
goto *underflowJmpTbl[block->descriptor->numArgs - 13];
} else {
if(block->descriptor->numArgs == 13)
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13);
else if(block->descriptor->numArgs > 13)
goto *underflowJmpTbl[block->descriptor->numArgs- 14];
else if(block->descriptor->numArgs < 13)
TQAssert(NO, @"Too many arguments to %@! 13 for %d", block, block->descriptor->numArgs);
}
} else // Foreign block -> no validation possible
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13);
underflow0:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, TQS);
underflow1:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, TQS, TQS);
underflow2:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, TQS, TQS, TQS);
underflow3:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, TQS, TQS, TQS, TQS);
underflow4:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, TQS, TQS, TQS, TQS, TQS);
underflow5:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, TQS, TQS, TQS, TQS, TQS, TQS);
underflow6:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow7:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow8:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow9:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow10:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow11:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow12:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow13:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow14:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow15:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow16:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow17:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow18:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow19:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
}
id TQDispatchBlock14(struct TQBlockLiteral *block, id a1, id a2, id a3, id a4, id a5, id a6, id a7, id a8, id a9, id a10, id a11, id a12, id a13, id a14)
{
static void *underflowJmpTbl[] = { &&underflow0, &&underflow1, &&underflow2, &&underflow3, &&underflow4, &&underflow5, &&underflow6, &&underflow7, &&underflow8, &&underflow9, &&underflow10, &&underflow11, &&underflow12, &&underflow13, &&underflow14, &&underflow15, &&underflow16, &&underflow17, &&underflow18 };
if(block->flags & TQ_BLOCK_IS_TRANQUIL_BLOCK) {
if(block->descriptor->numArgs > 32)
TQAssert(NO, @"Tranquil was compiled with support for 32 block arguments. You tried to call a block that takes %d.", block->descriptor->numArgs);
else if(block->descriptor->isVariadic) {
if(block->descriptor->numArgs <= 14)
goto *underflowJmpTbl[0];
else
goto *underflowJmpTbl[block->descriptor->numArgs - 14];
} else {
if(block->descriptor->numArgs == 14)
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14);
else if(block->descriptor->numArgs > 14)
goto *underflowJmpTbl[block->descriptor->numArgs- 15];
else if(block->descriptor->numArgs < 14)
TQAssert(NO, @"Too many arguments to %@! 14 for %d", block, block->descriptor->numArgs);
}
} else // Foreign block -> no validation possible
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14);
underflow0:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, TQS);
underflow1:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, TQS, TQS);
underflow2:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, TQS, TQS, TQS);
underflow3:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, TQS, TQS, TQS, TQS);
underflow4:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, TQS, TQS, TQS, TQS, TQS);
underflow5:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, TQS, TQS, TQS, TQS, TQS, TQS);
underflow6:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow7:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow8:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow9:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow10:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow11:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow12:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow13:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow14:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow15:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow16:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow17:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow18:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
}
id TQDispatchBlock15(struct TQBlockLiteral *block, id a1, id a2, id a3, id a4, id a5, id a6, id a7, id a8, id a9, id a10, id a11, id a12, id a13, id a14, id a15)
{
static void *underflowJmpTbl[] = { &&underflow0, &&underflow1, &&underflow2, &&underflow3, &&underflow4, &&underflow5, &&underflow6, &&underflow7, &&underflow8, &&underflow9, &&underflow10, &&underflow11, &&underflow12, &&underflow13, &&underflow14, &&underflow15, &&underflow16, &&underflow17 };
if(block->flags & TQ_BLOCK_IS_TRANQUIL_BLOCK) {
if(block->descriptor->numArgs > 32)
TQAssert(NO, @"Tranquil was compiled with support for 32 block arguments. You tried to call a block that takes %d.", block->descriptor->numArgs);
else if(block->descriptor->isVariadic) {
if(block->descriptor->numArgs <= 15)
goto *underflowJmpTbl[0];
else
goto *underflowJmpTbl[block->descriptor->numArgs - 15];
} else {
if(block->descriptor->numArgs == 15)
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15);
else if(block->descriptor->numArgs > 15)
goto *underflowJmpTbl[block->descriptor->numArgs- 16];
else if(block->descriptor->numArgs < 15)
TQAssert(NO, @"Too many arguments to %@! 15 for %d", block, block->descriptor->numArgs);
}
} else // Foreign block -> no validation possible
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15);
underflow0:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, TQS);
underflow1:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, TQS, TQS);
underflow2:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, TQS, TQS, TQS);
underflow3:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, TQS, TQS, TQS, TQS);
underflow4:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, TQS, TQS, TQS, TQS, TQS);
underflow5:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, TQS, TQS, TQS, TQS, TQS, TQS);
underflow6:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow7:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow8:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow9:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow10:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow11:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow12:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow13:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow14:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow15:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow16:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow17:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
}
id TQDispatchBlock16(struct TQBlockLiteral *block, id a1, id a2, id a3, id a4, id a5, id a6, id a7, id a8, id a9, id a10, id a11, id a12, id a13, id a14, id a15, id a16)
{
static void *underflowJmpTbl[] = { &&underflow0, &&underflow1, &&underflow2, &&underflow3, &&underflow4, &&underflow5, &&underflow6, &&underflow7, &&underflow8, &&underflow9, &&underflow10, &&underflow11, &&underflow12, &&underflow13, &&underflow14, &&underflow15, &&underflow16 };
if(block->flags & TQ_BLOCK_IS_TRANQUIL_BLOCK) {
if(block->descriptor->numArgs > 32)
TQAssert(NO, @"Tranquil was compiled with support for 32 block arguments. You tried to call a block that takes %d.", block->descriptor->numArgs);
else if(block->descriptor->isVariadic) {
if(block->descriptor->numArgs <= 16)
goto *underflowJmpTbl[0];
else
goto *underflowJmpTbl[block->descriptor->numArgs - 16];
} else {
if(block->descriptor->numArgs == 16)
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16);
else if(block->descriptor->numArgs > 16)
goto *underflowJmpTbl[block->descriptor->numArgs- 17];
else if(block->descriptor->numArgs < 16)
TQAssert(NO, @"Too many arguments to %@! 16 for %d", block, block->descriptor->numArgs);
}
} else // Foreign block -> no validation possible
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16);
underflow0:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, TQS);
underflow1:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, TQS, TQS);
underflow2:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, TQS, TQS, TQS);
underflow3:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, TQS, TQS, TQS, TQS);
underflow4:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, TQS, TQS, TQS, TQS, TQS);
underflow5:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, TQS, TQS, TQS, TQS, TQS, TQS);
underflow6:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow7:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow8:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow9:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow10:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow11:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow12:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow13:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow14:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow15:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow16:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
}
id TQDispatchBlock17(struct TQBlockLiteral *block, id a1, id a2, id a3, id a4, id a5, id a6, id a7, id a8, id a9, id a10, id a11, id a12, id a13, id a14, id a15, id a16, id a17)
{
static void *underflowJmpTbl[] = { &&underflow0, &&underflow1, &&underflow2, &&underflow3, &&underflow4, &&underflow5, &&underflow6, &&underflow7, &&underflow8, &&underflow9, &&underflow10, &&underflow11, &&underflow12, &&underflow13, &&underflow14, &&underflow15 };
if(block->flags & TQ_BLOCK_IS_TRANQUIL_BLOCK) {
if(block->descriptor->numArgs > 32)
TQAssert(NO, @"Tranquil was compiled with support for 32 block arguments. You tried to call a block that takes %d.", block->descriptor->numArgs);
else if(block->descriptor->isVariadic) {
if(block->descriptor->numArgs <= 17)
goto *underflowJmpTbl[0];
else
goto *underflowJmpTbl[block->descriptor->numArgs - 17];
} else {
if(block->descriptor->numArgs == 17)
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17);
else if(block->descriptor->numArgs > 17)
goto *underflowJmpTbl[block->descriptor->numArgs- 18];
else if(block->descriptor->numArgs < 17)
TQAssert(NO, @"Too many arguments to %@! 17 for %d", block, block->descriptor->numArgs);
}
} else // Foreign block -> no validation possible
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17);
underflow0:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, TQS);
underflow1:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, TQS, TQS);
underflow2:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, TQS, TQS, TQS);
underflow3:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, TQS, TQS, TQS, TQS);
underflow4:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, TQS, TQS, TQS, TQS, TQS);
underflow5:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, TQS, TQS, TQS, TQS, TQS, TQS);
underflow6:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow7:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow8:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow9:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow10:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow11:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow12:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow13:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow14:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow15:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
}
id TQDispatchBlock18(struct TQBlockLiteral *block, id a1, id a2, id a3, id a4, id a5, id a6, id a7, id a8, id a9, id a10, id a11, id a12, id a13, id a14, id a15, id a16, id a17, id a18)
{
static void *underflowJmpTbl[] = { &&underflow0, &&underflow1, &&underflow2, &&underflow3, &&underflow4, &&underflow5, &&underflow6, &&underflow7, &&underflow8, &&underflow9, &&underflow10, &&underflow11, &&underflow12, &&underflow13, &&underflow14 };
if(block->flags & TQ_BLOCK_IS_TRANQUIL_BLOCK) {
if(block->descriptor->numArgs > 32)
TQAssert(NO, @"Tranquil was compiled with support for 32 block arguments. You tried to call a block that takes %d.", block->descriptor->numArgs);
else if(block->descriptor->isVariadic) {
if(block->descriptor->numArgs <= 18)
goto *underflowJmpTbl[0];
else
goto *underflowJmpTbl[block->descriptor->numArgs - 18];
} else {
if(block->descriptor->numArgs == 18)
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18);
else if(block->descriptor->numArgs > 18)
goto *underflowJmpTbl[block->descriptor->numArgs- 19];
else if(block->descriptor->numArgs < 18)
TQAssert(NO, @"Too many arguments to %@! 18 for %d", block, block->descriptor->numArgs);
}
} else // Foreign block -> no validation possible
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18);
underflow0:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, TQS);
underflow1:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, TQS, TQS);
underflow2:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, TQS, TQS, TQS);
underflow3:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, TQS, TQS, TQS, TQS);
underflow4:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, TQS, TQS, TQS, TQS, TQS);
underflow5:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, TQS, TQS, TQS, TQS, TQS, TQS);
underflow6:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow7:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow8:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow9:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow10:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow11:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow12:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow13:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow14:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
}
id TQDispatchBlock19(struct TQBlockLiteral *block, id a1, id a2, id a3, id a4, id a5, id a6, id a7, id a8, id a9, id a10, id a11, id a12, id a13, id a14, id a15, id a16, id a17, id a18, id a19)
{
static void *underflowJmpTbl[] = { &&underflow0, &&underflow1, &&underflow2, &&underflow3, &&underflow4, &&underflow5, &&underflow6, &&underflow7, &&underflow8, &&underflow9, &&underflow10, &&underflow11, &&underflow12, &&underflow13 };
if(block->flags & TQ_BLOCK_IS_TRANQUIL_BLOCK) {
if(block->descriptor->numArgs > 32)
TQAssert(NO, @"Tranquil was compiled with support for 32 block arguments. You tried to call a block that takes %d.", block->descriptor->numArgs);
else if(block->descriptor->isVariadic) {
if(block->descriptor->numArgs <= 19)
goto *underflowJmpTbl[0];
else
goto *underflowJmpTbl[block->descriptor->numArgs - 19];
} else {
if(block->descriptor->numArgs == 19)
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19);
else if(block->descriptor->numArgs > 19)
goto *underflowJmpTbl[block->descriptor->numArgs- 20];
else if(block->descriptor->numArgs < 19)
TQAssert(NO, @"Too many arguments to %@! 19 for %d", block, block->descriptor->numArgs);
}
} else // Foreign block -> no validation possible
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19);
underflow0:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, TQS);
underflow1:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, TQS, TQS);
underflow2:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, TQS, TQS, TQS);
underflow3:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, TQS, TQS, TQS, TQS);
underflow4:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, TQS, TQS, TQS, TQS, TQS);
underflow5:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, TQS, TQS, TQS, TQS, TQS, TQS);
underflow6:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow7:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow8:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow9:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow10:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow11:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow12:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow13:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
}
id TQDispatchBlock20(struct TQBlockLiteral *block, id a1, id a2, id a3, id a4, id a5, id a6, id a7, id a8, id a9, id a10, id a11, id a12, id a13, id a14, id a15, id a16, id a17, id a18, id a19, id a20)
{
static void *underflowJmpTbl[] = { &&underflow0, &&underflow1, &&underflow2, &&underflow3, &&underflow4, &&underflow5, &&underflow6, &&underflow7, &&underflow8, &&underflow9, &&underflow10, &&underflow11, &&underflow12 };
if(block->flags & TQ_BLOCK_IS_TRANQUIL_BLOCK) {
if(block->descriptor->numArgs > 32)
TQAssert(NO, @"Tranquil was compiled with support for 32 block arguments. You tried to call a block that takes %d.", block->descriptor->numArgs);
else if(block->descriptor->isVariadic) {
if(block->descriptor->numArgs <= 20)
goto *underflowJmpTbl[0];
else
goto *underflowJmpTbl[block->descriptor->numArgs - 20];
} else {
if(block->descriptor->numArgs == 20)
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20);
else if(block->descriptor->numArgs > 20)
goto *underflowJmpTbl[block->descriptor->numArgs- 21];
else if(block->descriptor->numArgs < 20)
TQAssert(NO, @"Too many arguments to %@! 20 for %d", block, block->descriptor->numArgs);
}
} else // Foreign block -> no validation possible
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20);
underflow0:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, TQS);
underflow1:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, TQS, TQS);
underflow2:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, TQS, TQS, TQS);
underflow3:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, TQS, TQS, TQS, TQS);
underflow4:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, TQS, TQS, TQS, TQS, TQS);
underflow5:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, TQS, TQS, TQS, TQS, TQS, TQS);
underflow6:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow7:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow8:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow9:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow10:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow11:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow12:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
}
id TQDispatchBlock21(struct TQBlockLiteral *block, id a1, id a2, id a3, id a4, id a5, id a6, id a7, id a8, id a9, id a10, id a11, id a12, id a13, id a14, id a15, id a16, id a17, id a18, id a19, id a20, id a21)
{
static void *underflowJmpTbl[] = { &&underflow0, &&underflow1, &&underflow2, &&underflow3, &&underflow4, &&underflow5, &&underflow6, &&underflow7, &&underflow8, &&underflow9, &&underflow10, &&underflow11 };
if(block->flags & TQ_BLOCK_IS_TRANQUIL_BLOCK) {
if(block->descriptor->numArgs > 32)
TQAssert(NO, @"Tranquil was compiled with support for 32 block arguments. You tried to call a block that takes %d.", block->descriptor->numArgs);
else if(block->descriptor->isVariadic) {
if(block->descriptor->numArgs <= 21)
goto *underflowJmpTbl[0];
else
goto *underflowJmpTbl[block->descriptor->numArgs - 21];
} else {
if(block->descriptor->numArgs == 21)
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21);
else if(block->descriptor->numArgs > 21)
goto *underflowJmpTbl[block->descriptor->numArgs- 22];
else if(block->descriptor->numArgs < 21)
TQAssert(NO, @"Too many arguments to %@! 21 for %d", block, block->descriptor->numArgs);
}
} else // Foreign block -> no validation possible
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21);
underflow0:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, TQS);
underflow1:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, TQS, TQS);
underflow2:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, TQS, TQS, TQS);
underflow3:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, TQS, TQS, TQS, TQS);
underflow4:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, TQS, TQS, TQS, TQS, TQS);
underflow5:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, TQS, TQS, TQS, TQS, TQS, TQS);
underflow6:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow7:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow8:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow9:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow10:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow11:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
}
id TQDispatchBlock22(struct TQBlockLiteral *block, id a1, id a2, id a3, id a4, id a5, id a6, id a7, id a8, id a9, id a10, id a11, id a12, id a13, id a14, id a15, id a16, id a17, id a18, id a19, id a20, id a21, id a22)
{
static void *underflowJmpTbl[] = { &&underflow0, &&underflow1, &&underflow2, &&underflow3, &&underflow4, &&underflow5, &&underflow6, &&underflow7, &&underflow8, &&underflow9, &&underflow10 };
if(block->flags & TQ_BLOCK_IS_TRANQUIL_BLOCK) {
if(block->descriptor->numArgs > 32)
TQAssert(NO, @"Tranquil was compiled with support for 32 block arguments. You tried to call a block that takes %d.", block->descriptor->numArgs);
else if(block->descriptor->isVariadic) {
if(block->descriptor->numArgs <= 22)
goto *underflowJmpTbl[0];
else
goto *underflowJmpTbl[block->descriptor->numArgs - 22];
} else {
if(block->descriptor->numArgs == 22)
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22);
else if(block->descriptor->numArgs > 22)
goto *underflowJmpTbl[block->descriptor->numArgs- 23];
else if(block->descriptor->numArgs < 22)
TQAssert(NO, @"Too many arguments to %@! 22 for %d", block, block->descriptor->numArgs);
}
} else // Foreign block -> no validation possible
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22);
underflow0:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, TQS);
underflow1:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, TQS, TQS);
underflow2:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, TQS, TQS, TQS);
underflow3:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, TQS, TQS, TQS, TQS);
underflow4:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, TQS, TQS, TQS, TQS, TQS);
underflow5:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, TQS, TQS, TQS, TQS, TQS, TQS);
underflow6:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow7:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow8:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow9:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow10:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
}
id TQDispatchBlock23(struct TQBlockLiteral *block, id a1, id a2, id a3, id a4, id a5, id a6, id a7, id a8, id a9, id a10, id a11, id a12, id a13, id a14, id a15, id a16, id a17, id a18, id a19, id a20, id a21, id a22, id a23)
{
static void *underflowJmpTbl[] = { &&underflow0, &&underflow1, &&underflow2, &&underflow3, &&underflow4, &&underflow5, &&underflow6, &&underflow7, &&underflow8, &&underflow9 };
if(block->flags & TQ_BLOCK_IS_TRANQUIL_BLOCK) {
if(block->descriptor->numArgs > 32)
TQAssert(NO, @"Tranquil was compiled with support for 32 block arguments. You tried to call a block that takes %d.", block->descriptor->numArgs);
else if(block->descriptor->isVariadic) {
if(block->descriptor->numArgs <= 23)
goto *underflowJmpTbl[0];
else
goto *underflowJmpTbl[block->descriptor->numArgs - 23];
} else {
if(block->descriptor->numArgs == 23)
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23);
else if(block->descriptor->numArgs > 23)
goto *underflowJmpTbl[block->descriptor->numArgs- 24];
else if(block->descriptor->numArgs < 23)
TQAssert(NO, @"Too many arguments to %@! 23 for %d", block, block->descriptor->numArgs);
}
} else // Foreign block -> no validation possible
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23);
underflow0:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, TQS);
underflow1:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, TQS, TQS);
underflow2:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, TQS, TQS, TQS);
underflow3:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, TQS, TQS, TQS, TQS);
underflow4:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, TQS, TQS, TQS, TQS, TQS);
underflow5:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, TQS, TQS, TQS, TQS, TQS, TQS);
underflow6:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow7:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow8:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow9:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
}
id TQDispatchBlock24(struct TQBlockLiteral *block, id a1, id a2, id a3, id a4, id a5, id a6, id a7, id a8, id a9, id a10, id a11, id a12, id a13, id a14, id a15, id a16, id a17, id a18, id a19, id a20, id a21, id a22, id a23, id a24)
{
static void *underflowJmpTbl[] = { &&underflow0, &&underflow1, &&underflow2, &&underflow3, &&underflow4, &&underflow5, &&underflow6, &&underflow7, &&underflow8 };
if(block->flags & TQ_BLOCK_IS_TRANQUIL_BLOCK) {
if(block->descriptor->numArgs > 32)
TQAssert(NO, @"Tranquil was compiled with support for 32 block arguments. You tried to call a block that takes %d.", block->descriptor->numArgs);
else if(block->descriptor->isVariadic) {
if(block->descriptor->numArgs <= 24)
goto *underflowJmpTbl[0];
else
goto *underflowJmpTbl[block->descriptor->numArgs - 24];
} else {
if(block->descriptor->numArgs == 24)
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24);
else if(block->descriptor->numArgs > 24)
goto *underflowJmpTbl[block->descriptor->numArgs- 25];
else if(block->descriptor->numArgs < 24)
TQAssert(NO, @"Too many arguments to %@! 24 for %d", block, block->descriptor->numArgs);
}
} else // Foreign block -> no validation possible
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24);
underflow0:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, TQS);
underflow1:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, TQS, TQS);
underflow2:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, TQS, TQS, TQS);
underflow3:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, TQS, TQS, TQS, TQS);
underflow4:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, TQS, TQS, TQS, TQS, TQS);
underflow5:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, TQS, TQS, TQS, TQS, TQS, TQS);
underflow6:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow7:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow8:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
}
id TQDispatchBlock25(struct TQBlockLiteral *block, id a1, id a2, id a3, id a4, id a5, id a6, id a7, id a8, id a9, id a10, id a11, id a12, id a13, id a14, id a15, id a16, id a17, id a18, id a19, id a20, id a21, id a22, id a23, id a24, id a25)
{
static void *underflowJmpTbl[] = { &&underflow0, &&underflow1, &&underflow2, &&underflow3, &&underflow4, &&underflow5, &&underflow6, &&underflow7 };
if(block->flags & TQ_BLOCK_IS_TRANQUIL_BLOCK) {
if(block->descriptor->numArgs > 32)
TQAssert(NO, @"Tranquil was compiled with support for 32 block arguments. You tried to call a block that takes %d.", block->descriptor->numArgs);
else if(block->descriptor->isVariadic) {
if(block->descriptor->numArgs <= 25)
goto *underflowJmpTbl[0];
else
goto *underflowJmpTbl[block->descriptor->numArgs - 25];
} else {
if(block->descriptor->numArgs == 25)
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25);
else if(block->descriptor->numArgs > 25)
goto *underflowJmpTbl[block->descriptor->numArgs- 26];
else if(block->descriptor->numArgs < 25)
TQAssert(NO, @"Too many arguments to %@! 25 for %d", block, block->descriptor->numArgs);
}
} else // Foreign block -> no validation possible
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25);
underflow0:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, TQS);
underflow1:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, TQS, TQS);
underflow2:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, TQS, TQS, TQS);
underflow3:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, TQS, TQS, TQS, TQS);
underflow4:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, TQS, TQS, TQS, TQS, TQS);
underflow5:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, TQS, TQS, TQS, TQS, TQS, TQS);
underflow6:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
underflow7:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, TQS, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
}
id TQDispatchBlock26(struct TQBlockLiteral *block, id a1, id a2, id a3, id a4, id a5, id a6, id a7, id a8, id a9, id a10, id a11, id a12, id a13, id a14, id a15, id a16, id a17, id a18, id a19, id a20, id a21, id a22, id a23, id a24, id a25, id a26)
{
static void *underflowJmpTbl[] = { &&underflow0, &&underflow1, &&underflow2, &&underflow3, &&underflow4, &&underflow5, &&underflow6 };
if(block->flags & TQ_BLOCK_IS_TRANQUIL_BLOCK) {
if(block->descriptor->numArgs > 32)
TQAssert(NO, @"Tranquil was compiled with support for 32 block arguments. You tried to call a block that takes %d.", block->descriptor->numArgs);
else if(block->descriptor->isVariadic) {
if(block->descriptor->numArgs <= 26)
goto *underflowJmpTbl[0];
else
goto *underflowJmpTbl[block->descriptor->numArgs - 26];
} else {
if(block->descriptor->numArgs == 26)
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26);
else if(block->descriptor->numArgs > 26)
goto *underflowJmpTbl[block->descriptor->numArgs- 27];
else if(block->descriptor->numArgs < 26)
TQAssert(NO, @"Too many arguments to %@! 26 for %d", block, block->descriptor->numArgs);
}
} else // Foreign block -> no validation possible
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26);
underflow0:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, TQS);
underflow1:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, TQS, TQS);
underflow2:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, TQS, TQS, TQS);
underflow3:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, TQS, TQS, TQS, TQS);
underflow4:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, TQS, TQS, TQS, TQS, TQS);
underflow5:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, TQS, TQS, TQS, TQS, TQS, TQS);
underflow6:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, TQS, TQS, TQS, TQS, TQS, TQS, TQS);
}
id TQDispatchBlock27(struct TQBlockLiteral *block, id a1, id a2, id a3, id a4, id a5, id a6, id a7, id a8, id a9, id a10, id a11, id a12, id a13, id a14, id a15, id a16, id a17, id a18, id a19, id a20, id a21, id a22, id a23, id a24, id a25, id a26, id a27)
{
static void *underflowJmpTbl[] = { &&underflow0, &&underflow1, &&underflow2, &&underflow3, &&underflow4, &&underflow5 };
if(block->flags & TQ_BLOCK_IS_TRANQUIL_BLOCK) {
if(block->descriptor->numArgs > 32)
TQAssert(NO, @"Tranquil was compiled with support for 32 block arguments. You tried to call a block that takes %d.", block->descriptor->numArgs);
else if(block->descriptor->isVariadic) {
if(block->descriptor->numArgs <= 27)
goto *underflowJmpTbl[0];
else
goto *underflowJmpTbl[block->descriptor->numArgs - 27];
} else {
if(block->descriptor->numArgs == 27)
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27);
else if(block->descriptor->numArgs > 27)
goto *underflowJmpTbl[block->descriptor->numArgs- 28];
else if(block->descriptor->numArgs < 27)
TQAssert(NO, @"Too many arguments to %@! 27 for %d", block, block->descriptor->numArgs);
}
} else // Foreign block -> no validation possible
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27);
underflow0:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, TQS);
underflow1:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, TQS, TQS);
underflow2:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, TQS, TQS, TQS);
underflow3:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, TQS, TQS, TQS, TQS);
underflow4:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, TQS, TQS, TQS, TQS, TQS);
underflow5:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, TQS, TQS, TQS, TQS, TQS, TQS);
}
id TQDispatchBlock28(struct TQBlockLiteral *block, id a1, id a2, id a3, id a4, id a5, id a6, id a7, id a8, id a9, id a10, id a11, id a12, id a13, id a14, id a15, id a16, id a17, id a18, id a19, id a20, id a21, id a22, id a23, id a24, id a25, id a26, id a27, id a28)
{
static void *underflowJmpTbl[] = { &&underflow0, &&underflow1, &&underflow2, &&underflow3, &&underflow4 };
if(block->flags & TQ_BLOCK_IS_TRANQUIL_BLOCK) {
if(block->descriptor->numArgs > 32)
TQAssert(NO, @"Tranquil was compiled with support for 32 block arguments. You tried to call a block that takes %d.", block->descriptor->numArgs);
else if(block->descriptor->isVariadic) {
if(block->descriptor->numArgs <= 28)
goto *underflowJmpTbl[0];
else
goto *underflowJmpTbl[block->descriptor->numArgs - 28];
} else {
if(block->descriptor->numArgs == 28)
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28);
else if(block->descriptor->numArgs > 28)
goto *underflowJmpTbl[block->descriptor->numArgs- 29];
else if(block->descriptor->numArgs < 28)
TQAssert(NO, @"Too many arguments to %@! 28 for %d", block, block->descriptor->numArgs);
}
} else // Foreign block -> no validation possible
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28);
underflow0:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, TQS);
underflow1:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, TQS, TQS);
underflow2:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, TQS, TQS, TQS);
underflow3:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, TQS, TQS, TQS, TQS);
underflow4:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, TQS, TQS, TQS, TQS, TQS);
}
id TQDispatchBlock29(struct TQBlockLiteral *block, id a1, id a2, id a3, id a4, id a5, id a6, id a7, id a8, id a9, id a10, id a11, id a12, id a13, id a14, id a15, id a16, id a17, id a18, id a19, id a20, id a21, id a22, id a23, id a24, id a25, id a26, id a27, id a28, id a29)
{
static void *underflowJmpTbl[] = { &&underflow0, &&underflow1, &&underflow2, &&underflow3 };
if(block->flags & TQ_BLOCK_IS_TRANQUIL_BLOCK) {
if(block->descriptor->numArgs > 32)
TQAssert(NO, @"Tranquil was compiled with support for 32 block arguments. You tried to call a block that takes %d.", block->descriptor->numArgs);
else if(block->descriptor->isVariadic) {
if(block->descriptor->numArgs <= 29)
goto *underflowJmpTbl[0];
else
goto *underflowJmpTbl[block->descriptor->numArgs - 29];
} else {
if(block->descriptor->numArgs == 29)
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29);
else if(block->descriptor->numArgs > 29)
goto *underflowJmpTbl[block->descriptor->numArgs- 30];
else if(block->descriptor->numArgs < 29)
TQAssert(NO, @"Too many arguments to %@! 29 for %d", block, block->descriptor->numArgs);
}
} else // Foreign block -> no validation possible
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29);
underflow0:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, TQS);
underflow1:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, TQS, TQS);
underflow2:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, TQS, TQS, TQS);
underflow3:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, TQS, TQS, TQS, TQS);
}
id TQDispatchBlock30(struct TQBlockLiteral *block, id a1, id a2, id a3, id a4, id a5, id a6, id a7, id a8, id a9, id a10, id a11, id a12, id a13, id a14, id a15, id a16, id a17, id a18, id a19, id a20, id a21, id a22, id a23, id a24, id a25, id a26, id a27, id a28, id a29, id a30)
{
static void *underflowJmpTbl[] = { &&underflow0, &&underflow1, &&underflow2 };
if(block->flags & TQ_BLOCK_IS_TRANQUIL_BLOCK) {
if(block->descriptor->numArgs > 32)
TQAssert(NO, @"Tranquil was compiled with support for 32 block arguments. You tried to call a block that takes %d.", block->descriptor->numArgs);
else if(block->descriptor->isVariadic) {
if(block->descriptor->numArgs <= 30)
goto *underflowJmpTbl[0];
else
goto *underflowJmpTbl[block->descriptor->numArgs - 30];
} else {
if(block->descriptor->numArgs == 30)
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30);
else if(block->descriptor->numArgs > 30)
goto *underflowJmpTbl[block->descriptor->numArgs- 31];
else if(block->descriptor->numArgs < 30)
TQAssert(NO, @"Too many arguments to %@! 30 for %d", block, block->descriptor->numArgs);
}
} else // Foreign block -> no validation possible
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30);
underflow0:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, TQS);
underflow1:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, TQS, TQS);
underflow2:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, TQS, TQS, TQS);
}
id TQDispatchBlock31(struct TQBlockLiteral *block, id a1, id a2, id a3, id a4, id a5, id a6, id a7, id a8, id a9, id a10, id a11, id a12, id a13, id a14, id a15, id a16, id a17, id a18, id a19, id a20, id a21, id a22, id a23, id a24, id a25, id a26, id a27, id a28, id a29, id a30, id a31)
{
static void *underflowJmpTbl[] = { &&underflow0, &&underflow1 };
if(block->flags & TQ_BLOCK_IS_TRANQUIL_BLOCK) {
if(block->descriptor->numArgs > 32)
TQAssert(NO, @"Tranquil was compiled with support for 32 block arguments. You tried to call a block that takes %d.", block->descriptor->numArgs);
else if(block->descriptor->isVariadic) {
if(block->descriptor->numArgs <= 31)
goto *underflowJmpTbl[0];
else
goto *underflowJmpTbl[block->descriptor->numArgs - 31];
} else {
if(block->descriptor->numArgs == 31)
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31);
else if(block->descriptor->numArgs > 31)
goto *underflowJmpTbl[block->descriptor->numArgs- 32];
else if(block->descriptor->numArgs < 31)
TQAssert(NO, @"Too many arguments to %@! 31 for %d", block, block->descriptor->numArgs);
}
} else // Foreign block -> no validation possible
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31);
underflow0:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, TQS);
underflow1:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, TQS, TQS);
}
id TQDispatchBlock32(struct TQBlockLiteral *block, id a1, id a2, id a3, id a4, id a5, id a6, id a7, id a8, id a9, id a10, id a11, id a12, id a13, id a14, id a15, id a16, id a17, id a18, id a19, id a20, id a21, id a22, id a23, id a24, id a25, id a26, id a27, id a28, id a29, id a30, id a31, id a32)
{
static void *underflowJmpTbl[] = { &&underflow0 };
if(block->flags & TQ_BLOCK_IS_TRANQUIL_BLOCK) {
if(block->descriptor->numArgs > 32)
TQAssert(NO, @"Tranquil was compiled with support for 32 block arguments. You tried to call a block that takes %d.", block->descriptor->numArgs);
else if(block->descriptor->isVariadic) {
if(block->descriptor->numArgs <= 32)
goto *underflowJmpTbl[0];
else
goto *underflowJmpTbl[block->descriptor->numArgs - 32];
} else {
if(block->descriptor->numArgs == 32)
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32);
else if(block->descriptor->numArgs > 32)
goto *underflowJmpTbl[block->descriptor->numArgs- 33];
else if(block->descriptor->numArgs < 32)
TQAssert(NO, @"Too many arguments to %@! 32 for %d", block, block->descriptor->numArgs);
}
} else // Foreign block -> no validation possible
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32);
underflow0:
return block->invoke(block, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, TQS);
}
#undef TQS
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment