Closed Bug 618197 Opened 14 years ago Closed 6 months ago

Turn the JS recursive descent parser into a coroutine

Categories

(Core :: JavaScript Engine, enhancement)

enhancement

Tracking

()

RESOLVED WONTFIX

People

(Reporter: cdleary, Unassigned)

Details

Firefox.next placeholder bug. The idea is to do incremental parsing corresponding to the network-selector chunks with a yield when the last available character is extinguished. Heap-allocate a stack, mprotect the correct number of pages after it to avoid heaped-stack overflows, and let it ride!

This would also require compiler support to determine (or limit) the maximum size frame under a node in the callgraph, so we could guarantee that mprotect was protecting a safe number of pages. (This also assumes that no nodes in the subgraph use alloca.) That way, you couldn't have stack accesses jump over the known heaped-stack region into arbitrary heap space.
Severity: normal → enhancement
Mass-reassigning cdleary's bugs to default. He won't work on any of them, anymore. I guess, at least.

@cdleary: shout if you take issue with this.
Assignee: cdleary → general
Status: ASSIGNED → NEW
Assignee: general → nobody
Severity: normal → S3

We may want to do this eventually, but this bug isn't the right way forward methinks.

Status: NEW → RESOLVED
Closed: 6 months ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.