Closed Bug 481246 Opened 14 years ago Closed 14 years ago

Guard that we don't have to re-brand when writing a function into a slot

Categories

(Core :: JavaScript Engine, defect, P1)

defect

Tracking

()

VERIFIED FIXED

People

(Reporter: Waldo, Assigned: gal)

References

Details

(Keywords: verified1.9.1, Whiteboard: fixed-in-tracemonkey)

Attachments

(1 file, 1 obsolete file)

The fix for bug 473256 isn't quite enough, because it allows shape unsyncing between JIT and interpreter and penalizes global sets rather than global calls, which might be the wrong way to split the baby.
Flags: blocking1.9.1?
Priority: -- → P2
Assignee: general → gal
Priority: P2 → P1
Attached patch patch (obsolete) — Splinter Review
Comment on attachment 365286 [details] [diff] [review]
patch

FIXME: comment citing a new bug asking for function to be split from object trace-type, and r=me.

/be
Attachment #365286 - Flags: review+
Comment on attachment 365286 [details] [diff] [review]
patch

>+                /*
>+                 * If we are recording a function being set into the slot, we must write the
>+                 * same function thats already in the slot, otherwise we would have to re-brand.

that's

>+                /*
>+                 * If a regular object was written, we have to guard that its not a function

it's
Attached patch with nitsSplinter Review
Attachment #365286 - Attachment is obsolete: true
Summary: Emit identity-checking instructions for calls of global properties → Guard that we don't have to re-brand when writing a function into a slot
http://hg.mozilla.org/tracemonkey/rev/122cf18c1b7d
Whiteboard: fixed-in-tracemonkey
http://hg.mozilla.org/tracemonkey/rev/1c16405d7d6c
/cvsroot/mozilla/js/tests/js1_8_1/trace/trace-test.js,v  <--  trace-test.js
new revision: 1.12; previous revision: 1.11
Flags: in-testsuite+
No longer blocks: 481800
Depends on: 481800
http://hg.mozilla.org/mozilla-central/rev/122cf18c1b7d
Status: ASSIGNED → RESOLVED
Closed: 14 years ago
Resolution: --- → FIXED
Flags: blocking1.9.1? → blocking1.9.1+
v 1.9.1, 1.9.2
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.