TM: Make nanojit reverse pipeline customizable

RESOLVED INVALID

Status

()

--
enhancement
RESOLVED INVALID
10 years ago
8 years ago

People

(Reporter: gal, Assigned: gal)

Tracking

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(1 attachment, 1 obsolete attachment)

Comment hidden (empty)
(Assignee)

Comment 1

10 years ago
Created attachment 348892 [details] [diff] [review]
patch
Assignee: general → gal
Status: NEW → ASSIGNED
(Assignee)

Comment 2

10 years ago
Created attachment 348895 [details] [diff] [review]
enable dead code filter for regexp, seems to be required (very slow otherwise)
Attachment #348892 - Attachment is obsolete: true
We wanted to do this experiment to see if it would improve compilation time for regexps, because they don't need all the filters. The results:

- DeadCodeFilter is needed, without it we get a 12ms regression, presumably because of LIR immediate instructions that are not eliminated.
- We couldn't detect any compiler speedup on regexp-dna or crypto-aes.
- Shark seems to indicate that for regexps, DeadCodeFilter is somewhat costly (perhaps about 1/8 of total compilation time) but the other backward filters are cheap.

So we concluded that for now this won't help.

Comment 4

10 years ago
The Assembler cases for each instruction actually assume the instruction isn't dead, i.e. the instruction will already have a register assignment and/or spill location assignment when it is reached.  So DCF is really required.

A reason it would account for a large % of time is it can be busy skipping instructions, potentially lots of instructions.  you mentioned immediates.  One thing to look at is whether the LIR generation pipeline can produce less instructions that become dead.  CseFilter will reuse immediates effectively, but it's expensive.  a cheap immediate-only filter, with a fast value-lookup-table, might do the trick.

Updated

10 years ago
Severity: normal → enhancement
This bug is older than the hills and barely relevant.  Closing.
Status: ASSIGNED → RESOLVED
Last Resolved: 8 years ago
Resolution: --- → INVALID
You need to log in before you can comment on or make changes to this bug.