Closed Bug 617943 Opened 14 years ago Closed 6 years ago

Simplify and speed up exact tracing by generating precise slot information

Categories

(Tamarin Graveyard :: Garbage Collection (mmGC), defect, P3)

x86
macOS
defect

Tracking

(Not tracked)

RESOLVED WONTFIX
Q1 12 - Brannan

People

(Reporter: lhansen, Unassigned)

References

Details

Currently the tracer uses the Traits::m_slotDestroyInfo data structure to know which slots to scan.  However, that data structure is partial: it does not contain information about slots in native classes.  As a consequence, each native class must override gcTrace(), call the generated trace function in the native-slots structure, then call up to its base class, and so on.  If the destroyInfo contained information about all slots we could potentially avoid generating any tracer functions for the native slots.  This might save us a little code size, and - depending on code generation - save us some time.
If we use destroy info to clean up we need to make sure the smart pointer write barrier decls on the generated slots go away and we go back to naked decls with manual write barriers so we don't do double clean up duty.
Priority: -- → P4
Target Milestone: --- → flash10.x-Serrano
Priority: P4 → P3
Target Milestone: Q3 11 - Serrano → Q1 12 - Brannan
Assignee: lhansen → nobody
Status: ASSIGNED → NEW
Flags: flashplayer-qrb+
Flags: flashplayer-injection-
Flags: flashplayer-bug-
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.