Closed Bug 949296 Opened 6 years ago Closed 6 years ago

PJS: Use implicit interrupt checking like sequential code if available

Categories

(Core :: JavaScript Engine: JIT, defect)

defect
Not set

Tracking

()

RESOLVED FIXED
mozilla30

People

(Reporter: shu, Assigned: shu)

References

Details

Attachments

(1 file, 1 obsolete file)

Currently LCheckInterruptPar always checks the interrupt flag on the runtime. We should use the sequential path's implicit memory protection mechanism when available.
This patch also has some renaming riders:

- CheckInterruptPar to InterruptCheckPar for consistency.
- parallelWarmup to forkJoinWarmup to be more specific.
Attachment #8371262 - Flags: review?(nmatsakis)
Assignee: nobody → shu
Status: NEW → ASSIGNED
Depends on: 958370
Take luke's suggestion of just having a separate interruptPar flag on JSRuntime
so we can ignore DontStopIon triggers. This is what we used to do anyways.
Attachment #8371986 - Flags: review?(nmatsakis)
Attachment #8371262 - Attachment is obsolete: true
Attachment #8371262 - Flags: review?(nmatsakis)
OK -- I was half-way through the old patch but was a bit confused. Maybe the new one will make more sense to me ;)
Comment on attachment 8371986 [details] [diff] [review]
Delay DontStopIon interrupt triggers during ForkJoin. v2

Review of attachment 8371986 [details] [diff] [review]:
-----------------------------------------------------------------

This seems much simpler than the previous approach.

::: js/src/vm/ForkJoin.h
@@ +405,5 @@
>      bool hasAcquiredJSContext() const;
>  
> +    // Remember that we need to service an interrupt after the current
> +    // ForkJoin section is finished.
> +    bool shouldDelayOperationCallbackUntilJoined(JSRuntime::OperationCallbackTrigger trigger);

This is a dead method, I think?
Attachment #8371986 - Flags: review?(nmatsakis) → review+
https://hg.mozilla.org/mozilla-central/rev/f76ccce1f2fd
Status: ASSIGNED → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla30
You need to log in before you can comment on or make changes to this bug.