Closed Bug 594621 Opened 14 years ago Closed 14 years ago

AttemptToExtendTree passes wrong outerArgc, fix makes v8-raytrace slower

Categories

(Core :: JavaScript Engine, defect)

defect
Not set
normal

Tracking

()

RESOLVED DUPLICATE of bug 580468

People

(Reporter: luke, Unassigned)

Details

Attachments

(2 files)

Attached patch fixSplinter Review
The attach patch passes the correct argc to startRecorder in AttemptToExtendTree.  This makes SS .8% faster (with -j and -jm) but makes v8-splay a bunch slower since it wastes a bunch more time recording an outer loop.  If we could make v8-raytrace never trace and always use JM, (which we should do anyway, JM is almost 2x faster than JM+TM on my machine), we should land this fix.  Its not a correctness issue, since all it means is that we will be incorrectly un-blacklisting loops.
> If we could make v8-raytrace never trace and always use JM

Do we have a bug on that?  If not, file one and make it block this bug?
Hmm, this might fall under the purview of bug 580468.
Luke, is this the bug where you wanted to abort trace at polymorphic callsites? I wrote up a patch to do this using data from the method JIT, as you suggested. Is this along the lines of what you were looking for?
Attachment #476117 - Flags: feedback?(lw)
I just looked at this a little closer and I don't think it's going to work. Although there are some polymorphic calls in v8-raytrace, they're not all that polymorphic. The most I could find was two possible targets. And if we decide not to trace if there's more than one target, our performance on deltablue (which traces well) gets very bad. Perhaps it's better to wait for a more complete solution in bug 580468.
Yeah, we definitely want to grow a trace tree on branch-exit points where callee function identity guards fire, for cases where the degree of polymorphism is low.

Trick is not hitting MAX_BRANCHES for the hopeless callsites. That may need more than bug 580468, which can be conservative. Static analysis may help (bug 557407).

/be
This was rolled into bug 580468.
Status: NEW → RESOLVED
Closed: 14 years ago
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: