Opened 11 years ago

Last modified 7 years ago

#2335 new enhancement

Look into pattern-matching efficiency — at Version 1

Reported by: Martin Sjölund Owned by: Martin Sjölund
Priority: high Milestone: Future
Component: Code Generation Version: trunk
Keywords: Cc:

Description (last modified by Martin Sjölund)

Currently, matchcontinue generates code like:

CevalScript_createSimulationResultFailure_rettype tmp161;
if (8 != MMC_STRLEN(tmpMeta[3+2]) || strcmp("simulate", MMC_STRINGDATA(tmpMeta[3+2])) != 0) MMC_THROW();
if (listEmpty(tmpMeta[3+3])) MMC_THROW();
tmpMeta[503] = MMC_CAR(tmpMeta[3+3]);
tmpMeta[504] = MMC_CDR(tmpMeta[3+3]);
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[503],12,1) == 0) MMC_THROW();

It should be possible to make this call continue instead of MMC_THROW()

Change History (1)

comment:1 by Martin Sjölund, 11 years ago

Description: modified (diff)
Note: See TracTickets for help on using tickets.