Closed
Bug 723791
Opened 13 years ago
Closed 13 years ago
fun_getProperty needs a method barrier
Categories
(Core :: JavaScript Engine, defect)
Core
JavaScript Engine
Tracking
()
RESOLVED
FIXED
mozilla13
People
(Reporter: luke, Assigned: luke)
Details
Attachments
(2 files)
1.31 KB,
patch
|
jorendorff
:
review+
|
Details | Diff | Splinter Review |
3.57 KB,
patch
|
jorendorff
:
review+
|
Details | Diff | Splinter Review |
When fun_getProperty searches the call stack for a matching callee (matching 'f' in f.arguments), it needs to use the method barrier. Otherwise, it may miss the innermost frame. This was the *real* cause of bug 721322. The patch in bug 721322, by noting arguments usage, I think just turned off the method optimization. Most of that patch can actually be removed: read-only access to the arguments object via f.arguments may happen at any time and will faithfully return the correct current argument value.
![]() |
Assignee | |
Comment 1•13 years ago
|
||
![]() |
Assignee | |
Comment 2•13 years ago
|
||
... because it isn't needed. I verified that the tests added by bug 721322 fail with this patch applied (but not the fix patch) and are fixed when the fix patch is applied.
Attachment #594051 -
Flags: review?(jorendorff)
Comment 3•13 years ago
|
||
Comment on attachment 594050 [details] [diff] [review]
add the method guard
Certainly this seems like a strict improvement...
Attachment #594050 -
Flags: review?(jorendorff) → review+
Comment 4•13 years ago
|
||
Comment on attachment 594051 [details] [diff] [review]
remove noteArgumentsPropertyAccess
...and OK, this is fine. You could back out more of the patch in bug 721322: it contains some renaming that you haven't reverted. Your call.
Attachment #594051 -
Flags: review?(jorendorff) → review+
![]() |
Assignee | |
Comment 5•13 years ago
|
||
I left the renaming b/c it will be removed with a later patch. (We already do a strictly-more powerful analysis to determine when arguments are used for optimization purposes; with that combined with eager arguments creation, strict arguments should just fall out.)
![]() |
Assignee | |
Comment 6•13 years ago
|
||
https://hg.mozilla.org/integration/mozilla-inbound/rev/06c253791ae0
https://hg.mozilla.org/integration/mozilla-inbound/rev/dd2e84f637f2
Target Milestone: --- → mozilla13
Comment 7•13 years ago
|
||
https://hg.mozilla.org/mozilla-central/rev/06c253791ae0
https://hg.mozilla.org/mozilla-central/rev/dd2e84f637f2
Status: ASSIGNED → RESOLVED
Closed: 13 years ago
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•