Open Bug 1935626 Opened 2 months ago Updated 12 days ago

Reduce the number of VMFunction calls on Speedometer 3

Categories

(Core :: JavaScript Engine: JIT, enhancement, P2)

enhancement

Tracking

()

People

(Reporter: jandem, Unassigned)

References

(Depends on 2 open bugs, Blocks 2 open bugs)

Details

(Whiteboard: [sp3])

Attachments

(2 files)

I collected some data on VMFunction calls for bug 1913924 and I got some interesting results.

I'm attaching a list of VM functions with their call count + percentage when starting the browser and running the full Speedometer 3 benchmark.

For example, the top 2 functions are ConcatStrings and Lambda and these operations can likely be inlined in Baseline too. This would eliminate almost 20% of calls.

Depends on: 1935630
Depends on: 1935632
Depends on: 1935635
Blocks: sm-jits
Severity: -- → N/A
Type: task → enhancement
Priority: -- → P2
Whiteboard: [sp3]
Depends on: 1937570

This is a list of callWithABI calls for Speedometer 3. This data is a bit harder to collect - I replaced masm.setup* with masm.printf(__FUNCTION__); masm.setup*.

VMFunction wrappers account for ~43% of these.

I wasn't expecting visitMathFunctionD to show up with 3.4% of all calls.

(In reply to Jan de Mooij [:jandem] from comment #1)

I wasn't expecting visitMathFunctionD to show up with 3.4% of all calls.

For what it's worth, the Math functions getting called there:

 738880 Log
  92675 Log10
  87056 Sin (fdlibm)
  87056 Cos (fdlibm)
  43528 ASin
Depends on: 1938100
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: