Closed
Bug 519831
Opened 16 years ago
Closed 16 years ago
VMPI_lock functions should be inlined
Categories
(Tamarin Graveyard :: Garbage Collection (mmGC), defect)
Tracking
(Not tracked)
VERIFIED
FIXED
flash10.1
People
(Reporter: stejohns, Assigned: stejohns)
Details
Attachments
(2 files)
|
26.48 KB,
patch
|
lhansen
:
review+
|
Details | Diff | Splinter Review |
|
524 bytes,
patch
|
lhansen
:
review+
|
Details | Diff | Splinter Review |
In older versions of Tamarin, the spinlocks for MMGC were effectively inlined. When VMPI was introduced, the locks became out-of-line. For a few benchmarks that make super-heavy use of mmfx allocation (e.g., RegExp torture tests), the extra cost of the out-of-line function calls becomes significant relative to the cost of the lock itself.
| Assignee | ||
Comment 1•16 years ago
|
||
Move the VMPI_lockXXX() functions into the appropriate header files and force inlining. Nuke the SpinLockXXX.cpp files.
Note 1: Mac implementations now use the documented OSSpinLock calls rather than the apparently-undocumented-but-happen-to-work _spin_lock calls.
Note 2: Removed the ifdef DEBUG owner stuff for simplicity of implementation (mainly because VMPI doesn't have access to an assert macro at that point of inclusion).
Attachment #403902 -
Flags: review?(lhansen)
| Assignee | ||
Comment 2•16 years ago
|
||
Additive: also force GCSpinLock to inline.
Attachment #403917 -
Flags: review?(lhansen)
Updated•16 years ago
|
Attachment #403902 -
Flags: review?(lhansen) → review+
Updated•16 years ago
|
Assignee: nobody → stejohns
Status: NEW → ASSIGNED
Target Milestone: --- → flash10.1
Updated•16 years ago
|
Attachment #403917 -
Flags: review?(lhansen) → review+
| Assignee | ||
Comment 3•16 years ago
|
||
pushed both as changeset: 2657:22355a34aba3
Status: ASSIGNED → RESOLVED
Closed: 16 years ago
Resolution: --- → FIXED
Comment 4•16 years ago
|
||
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.
Description
•