Created
July 2, 2012 05:37
-
-
Save fjolnir/3031294 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// 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