Closed Bug 1017852 Opened 7 years ago Closed 7 years ago

Make the jit and c++ nursery allocation code the same

Categories

(Core :: JavaScript: GC, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla32

People

(Reporter: terrence, Assigned: terrence)

References

(Blocks 1 open bug)

Details

Attachments

(1 file)

The jit does: *addressOfCurrentEnd < (*addressOfPostion + totalSize)
Nursery::allocate does: if (position + size > end) { /* fail logic */ }

This mismatched check isn't going to cause any problems in practice, but we should still minimize the wtf factor.
Actually I meant to type: *addressOfCurrentEnd <= (*addressOfPostion + totalSize)

This is still safe though: we will simply bail out one allocation early. This will succeed in C++, come back to the JIT and then immediately bail on the next allocation.

Patch is trivial though so we might as well fix it.
Attachment #8431184 - Flags: review?(jcoppeard)
Comment on attachment 8431184 [details] [diff] [review]
make_nursery_full_check_the_same-v0.diff

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

Yes, let's make these the same.
Attachment #8431184 - Flags: review?(jcoppeard) → review+
https://hg.mozilla.org/mozilla-central/rev/7445064296fa
Status: ASSIGNED → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla32
You need to log in before you can comment on or make changes to this bug.