The default bug view has changed. See this FAQ.

TM: record_JSOP_TABLESWITCH aborts unnecessarily

RESOLVED FIXED

Status

()

Core
JavaScript Engine
RESOLVED FIXED
8 years ago
6 years ago

People

(Reporter: jimb, Unassigned)

Tracking

Trunk
x86
Linux
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

(Reporter)

Description

8 years ago
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?

/be

Comment 2

8 years ago
This needs an ARM port, and sparc too.

Comment 3

8 years ago
Maybe we should open meta bugs form ARM and sparc so we can track these things.
Tableswitch was removed in this design, Bug 620757.
Status: NEW → RESOLVED
Last Resolved: 6 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.