Vector.<Number> valueToAtom uses non SSE doubleToAtom

NEW
Unassigned

Status

8 years ago
7 years ago

People

(Reporter: wsharp, Unassigned)

Tracking

(Blocks: 1 bug)

unspecified
x86
All
Bug Flags:
flashplayer-qrb +

Details

(Whiteboard: PACMAN)

(Reporter)

Description

8 years ago
Atom valueToAtom(double value) const
        {
            return core()->doubleToAtom(value);
        }

Investigate whether a runtime sse2 check here and calling doubleToAtom_sse2 helps performance.

Therre are a few other hardcoded integer_d and/or doubleToAtom calls in the code such as AvmCore::integer, etc.  I've seen the Vector.<Number> one high on a VTUNE profile but not the others.
(Reporter)

Updated

8 years ago
Whiteboard: PACMAN

Updated

8 years ago
Blocks: 582301

Updated

7 years ago
Flags: flashplayer-qrb+

Comment 1

7 years ago
Arguably, the JIT should not use the non-native get or helpers that call valueToAtom or atomToValue(), but instead inline the value coersion or boxing code.  In either case, the existing JIT code will use the faster doubleToAtom_sse2, or coerce logic.

If this is pursued, its important not to change the order of side effects. See bug 687338.
You need to log in before you can comment on or make changes to this bug.