Closed Bug 1170124 Opened 7 years ago Closed 7 years ago

Remove unnecessary type monitoring in jit::InvokeFunction

Categories

(Core :: JavaScript Engine: JIT, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla41
Tracking Status
firefox41 --- fixed

People

(Reporter: jandem, Assigned: jandem)

References

(Blocks 1 open bug)

Details

Attachments

(1 file)

Attached patch PatchSplinter Review
InvokeFunction is the slow path for calls from Ion code. It calls cx->currentScript and TypeScript::Monitor, but this is unnecessary as all calls from Ion code have type barriers in JIT code. (This used to be different before the TI overhaul.)

The attached patch also changes the Value* outparam to MutableHandleValue.

This improves the micro-benchmark in bug 1170107 from 1500 ms to 1060 ms.
Attachment #8613483 - Flags: review?(bhackett1024)
Blocks: 1169501
Attachment #8613483 - Flags: review?(bhackett1024) → review+
(In reply to Wes Kocher (:KWierso) from comment #2)
> Backed out in
> https://hg.mozilla.org/integration/mozilla-inbound/rev/baa684fab4f5 for
> turning XP debug Jittests permafail:

Hm. This is the weirdest thing ever. WinXP Debug only, looks like jit_test.py hangs, I don't really understand why; the output just stops near the end. Will try to bisect this on Try
Relanded this with --no-ion annotation added to |jit-test/tests/gc/bug-1165966.js|.

jonco said he's seen the same issue with these OOM tests on WinXP; the patch is pretty simple but probably slightly changes some allocation or timing thing :(

https://treeherder.mozilla.org/#/jobs?repo=try&revision=3cc85f8e7438
Flags: needinfo?(jdemooij)
Depends on: 1170665
https://hg.mozilla.org/mozilla-central/rev/7b2e868ee411
Status: ASSIGNED → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla41
You need to log in before you can comment on or make changes to this bug.