Closed Bug 847205 Opened 7 years ago Closed 7 years ago

BaselineCompiler: Add optimized (Double BITOP Int32) stubs

Categories

(Core :: JavaScript Engine, defect)

x86
macOS
defect
Not set

Tracking

()

RESOLVED FIXED

People

(Reporter: djvj, Unassigned)

References

(Blocks 1 open bug)

Details

Attachments

(1 file)

Mandreel hits this a lot.  For now handling BITAND and BITOR is sufficient.
Are you testing with off thread compilation on Mandreel?  Because of the different compilation thresholds, we should be Ion compiling everything that is hot on Mandreel when compiling off thread, but not in other builds.
You're right, with off thread compilation on Mandreel these don't show up.

However, box2d and navier stokes do hit them pretty heavily in that case.
Attached patch Patch.Splinter Review
Just adds handling for bitxor, bitand, and bitor ops for (Double, Int32) or (Int32, Double).

Cuts out another 150k or so fallback hits between box2d and navier stokes.
Attachment #720540 - Flags: review?(bhackett1024)
Comment on attachment 720540 [details] [diff] [review]
Patch.

Review of attachment 720540 [details] [diff] [review]:
-----------------------------------------------------------------

::: js/src/ion/BaselineIC.cpp
@@ +2293,5 @@
>                  return false;
>              stub->addNewStub(doubleStub);
>              return true;
>            }
> +          default: // Fall-through

rm comment
Attachment #720540 - Flags: review?(bhackett1024) → review+
Fixed and pushed: https://hg.mozilla.org/projects/ionmonkey/rev/a1af5476f427
Waiting for tbpl to close.
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Duplicate of this bug: 811767
You need to log in before you can comment on or make changes to this bug.