Closed Bug 514331 Opened 16 years ago Closed 16 years ago

CodegenLIR should use precomputed multinames instead of LIR_alloc and stores

Categories

(Tamarin Graveyard :: Virtual Machine, defect)

x86
macOS
defect
Not set
normal

Tracking

(Not tracked)

VERIFIED FIXED

People

(Reporter: edwsmith, Assigned: edwsmith)

Details

Attachments

(1 file, 1 obsolete file)

Wordcode interpreter has an optimization to add a table of multinames to PoolObject, and use them directly. The JIT would benefit from this because the code to explicitly stack-allocate and initialize a fully constant multiname, is just bloat. and, it adds to jit compile time. we should generalize the precomputed name table and enable it with both the wordcode and jit features.
also removed dead macro GET_MULTINAME in interpreter. only GET_MULTINAME_PTR is used.
Assignee: nobody → edwsmith
Attachment #398303 - Flags: review?(lhansen)
the crutial change is to actually inline a pointer to the precomputed multiname in jit'd code, if the multiname has no runtime parts (fixed name, fixed namespace). see CodegenLIR::initMultiname().
Attachment #398304 - Flags: review?(rreitmai)
Attachment #398303 - Flags: review?(lhansen) → review+
static IR stats for: avmshell -Ojit -Dnodebugger -Dverifyall esc/main.swf -- hello.as instr count before precomputed change ----------- ------ ----------- ------ total LIR 318470 293572 -7.8% lir-alloc 17372 11677 -33% lir-st 46949 29864 -36%
Comment on attachment 398304 [details] [diff] [review] use precomputedMultiname instead of parseMultiname (1) Does pool->precomputedMultiname() exist in another patch? (2) Too bad we can't assert ( pool->precomputedMultiname(opd1)) in initMultiname() or somesuch.
Attachment #398304 - Flags: review?(rreitmai) → review+
(1) yes, its in the previous patch on this bug (2) I'll look into it and add if feasible
Attachment #398303 - Attachment is obsolete: true
Comment on attachment 398303 [details] [diff] [review] Refactor precomputed multiname feature so its enabled by wordcode and jit feature pushed http://hg.mozilla.org/tamarin-redux/rev/676c9d277388
Status: NEW → RESOLVED
Closed: 16 years ago
Resolution: --- → FIXED
Resolved fixed engineering / work item that has been pushed. Setting status to verified.
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: