Open Bug 1106100 Opened 8 years ago Updated 2 months ago

Figure out why jQuery's Data.accepts is ending up with MGetPropertyCache, not MGetDOMProperty for .nodeType

Categories

(Core :: JavaScript Engine: JIT, defect, P5)

x86
macOS
defect

Tracking

()

Tracking Status
platform-rel --- +

People

(Reporter: bzbarsky, Unassigned)

References

(Blocks 2 open bugs)

Details

(Whiteboard: [platform-rel-jQuery])

My bet is that jQuery itself passes a non-DOM object through here, and then we can't do the faster path, but worth checking.
Whiteboard: [platform-rel-jQuery]
platform-rel: --- → ?
platform-rel: ? → +
Blocks: jsperf
Priority: -- → P5
Rank: 75
Boris, is this still relevant? Is the potential performance win here beneficial enough that we'd tell jQuery people about it?
Flags: needinfo?(bzbarsky)
This came up in profiles in bug 1104898.  I don't know whether it's still an issue with modern jQuery or how big the win would be in a non-synthetic testcase...  Needs measuring.
Flags: needinfo?(bzbarsky)
I fixed some cases in CacheIR where "nodeType" was being looked up on primitive types like strings, and we are still missing an IC for looking up nodeType on arguments objects. I didn't look to deeply into where this happens, but I think this was jQuery or some related library. So I think some places where they use nodeType are quite polymorphic.
Right, see comment 0.  In that case, it really might be worth it mentioning this to them....
(In reply to Boris Zbarsky [:bz] (still a bit busy) (if a patch has no decent message, automatic r-) from comment #4)
> Right, see comment 0.  In that case, it really might be worth it mentioning
> this to them....

Boris - Could you use our ML to bring this to their attention, please?
Flags: needinfo?(bzbarsky)
Well, the first question is whether it's still an issue with modern jQuery as opposed to the ancient ones the benchmarks use.  Someone needs to check that.
Flags: needinfo?(bzbarsky)
You need to log in before you can comment on or make changes to this bug.