Closed Bug 487482 Opened 15 years ago Closed 6 years ago

Implement policy for flushing and reusing JIT code memory

Categories

(Tamarin Graveyard :: Baseline JIT (CodegenLIR), defect)

defect
Not set
normal

Tracking

(Not tracked)

RESOLVED WONTFIX
Future

People

(Reporter: edwsmith, Unassigned)

References

Details

(Whiteboard: Tracking)

Attachments

(1 file)

Tracking bug for adding support for flushing cold code from jit memory
Depends on: 487484
Depends on: 457960
Depends on: 490378
Assignee: nobody → edwsmith
Depends on: 490380
Depends on: 491850
* depends on the patches that are in dependent bugs.
* conservative mark-sweep of stack to find active code.
* known bug: the ExceptionHandlers object from jitted code sticks around when method is later interpreted.
Attachment #376272 - Flags: review?
Attachment #376272 - Flags: review? → review?(lhansen)
Depends on: 479301
Comment on attachment 376272 [details] [diff] [review]
use premark() callback to flush jitted code that isn't active on stack.

Looks reasonable to me.

(In sweep, the accounting only needs happen for verbose code, which may matter if CodeAlloc::size is anything but trivial.

Another performance hack is that if sweeping will discard all unmarked methods /and/ there is an expectation of many active methods so that sweep has relatively low efficiency then you can dispense with sweeping altogether by having the marker unlink pinned methods from the method list (and add them to a secondary list); sweeping then just deletes everything remaining on the list and swaps in the secondary list for the first list.  But that seems minor.)
Attachment #376272 - Flags: review?(lhansen) → review+
No longer depends on: 479301
Depends on: 495425
Status on this?
Status: NEW → ASSIGNED
Work in progress in these repos:
https://hg.mozilla.org/users/edwsmith_adobe.com/deopt
https://hg.mozilla.org/users/edwsmith_adobe.com/fragmentation
https://hg.mozilla.org/users/edwsmith_adobe.com/second-jit

all are ~3 months stale and need rebasing.

* CodeAlloc fragmentation has been addressed in tamarin-redux
* pointer classification may no longer be necessary; new MethodFrame gives us a way to exactly walk the AS3 stack and mark jit'd functions.
Target Milestone: --- → Future
Assignee: edwsmith → nobody
Depends on: 563119
This is a mass change. Every comment has "assigned-to-new" in it.

I didn't look through the bugs, so I'm sorry if I change a bug which shouldn't be changed. But I guess these bugs are just bugs that were once assigned and people forgot to change the Status back when unassigning.
Status: ASSIGNED → NEW
OS: Mac OS X → All
Hardware: x86 → All
Whiteboard: Tracking
Component: Virtual Machine → JIT Compiler (NanoJIT)
Flags: flashplayer-qrb+
Tamarin is a dead project now. Mass WONTFIX.
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → WONTFIX
Tamarin isn't maintained anymore. WONTFIX remaining bugs.
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: