Closed Bug 855901 Opened 11 years ago Closed 11 years ago

PJS: Improve bailout logic

Categories

(Core :: JavaScript Engine, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla23

People

(Reporter: shu, Assigned: shu)

References

Details

Attachments

(1 file)

      No description provided.
Assignee: general → shu
Blocks: PJS
Summary: PJS: Improve transitive compilation → PJS: Improve bailout logic
Attached patch patchSplinter Review
Removes the tracking of the 'innermost' invalidated script in parallel execution in favor of tracking the callgraph for scripts compiled for parallel execution. This allows for less wonky checking. In the old scheme, we had the following problem:

15:21 < shu> what's happening in nbody is that we have
15:21 < shu> A -> B -> C
15:21 < shu> C causes an invalidation, but gets marked on A, because we can't exactly save C onto B's IonScript inside generated ion code
15:22 < shu> but independently, A also gets invalidated, and the note that says we need to recompile C gets lost
15:22 < shu> so we recompile A, but B's already compiled, so we never see that also need to recompile C since there's no note on B
15:22 < shu> we run a while until we hit an uncompiled script
Attachment #731405 - Flags: review?(dvander)
Comment on attachment 731405 [details] [diff] [review]
patch

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

::: js/src/ion/IonCode.h
@@ +280,5 @@
>      JSScript **scriptList() const {
>          return (JSScript **) &bottomBuffer()[scriptList_];
>      }
> +    JSScript **callTargetList() {
> +        return (JSScript **) &bottomBuffer()[callTargetList_];

For completeness, this list should be traced in IonScript::trace().
Attachment #731405 - Flags: review?(dvander) → review+
https://hg.mozilla.org/mozilla-central/rev/0f1c94c46028
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla23
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: