Closed Bug 562349 Opened 15 years ago Closed 13 years ago

TM: Fall back on slow paths in TraceRecorder::setProperty

Categories

(Core :: JavaScript Engine, defect)

Other Branch
defect
Not set
normal

Tracking

()

RESOLVED WONTFIX

People

(Reporter: jorendorff, Unassigned)

Details

These cases cause us to stop recording: - obj or a prototype is non-native - obj or a prototype has a resolve hook - obj or a prototype is shared among contexts - we're adding a new property, and obj has a JSClass::addProperty hook - the property being set has a setter and a slot More subtly, adding a property to a dictionary scope traces OK, but we'll most likely flunk the shape guard when we actually try to execute the trace. TR::initOrSetPropertyByName stands ready to emit a slow path for all these cases.
Dictionary-mode scopes are often for singleton objects, e.g. jresig's UUID based DOM node table to work around leaks in IE. So we need to measure where the lack of predicatble shapes among > 1 objects in dictionary mode bite us. JSC works the same here AFAICT. /be
Obsolete with the removal of tracejit.
Status: NEW → RESOLVED
Closed: 13 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.