When NANOJIT_IA32 is defined, record_JSOP_TABLESWITCH returns false if tableswitch returns NULL. This causes monitorRecording to abort recording, if tr->fragment->lastIns has not been set.
However, it seems that tableswitch can return NULL in cases where aborting isn't appropriate. In particular, the 'really large table' case calls switchop (which doesn't set lastIns, because it just emits some guards), and then returns NULL --- throwing away switchop's work.
Should this bug depend on other bugs in progress and/or fixed already?
This needs an ARM port, and sparc too.
Maybe we should open meta bugs form ARM and sparc so we can track these things.
Tableswitch was removed in this design, Bug 620757.