Bug 16568 - Investigate different mechanism for storing immediate numbers
Summary: Investigate different mechanism for storing immediate numbers
Status: RESOLVED INVALID
Alias: None
Product: WebKit
Classification: Unclassified
Component: JavaScriptCore (show other bugs)
Version: 528+ (Nightly build)
Hardware: All All
: P2 Enhancement
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-12-21 20:17 PST by Oliver Hunt
Modified: 2011-09-06 22:28 PDT (History)
3 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Oliver Hunt 2007-12-21 20:17:22 PST
After much discussion we feel that there is a possibility that we can gain an improvement in the performance of immediates if we switched from storing the low 30 bits of integer values to instead storing the high 30 bits of the double, this reduces us to about 20 bits of integer precision, but provides a greater range.  It also has the benefit of removing special case logic and branches from JSImmediate::from(double), it also removes the int->double cast needed for standard mathematical operands.

That said this may reduce the performance of bitwise operators, and array access, but we really needed to implement it to see what happens.

We'll need to fix various immediate optimisations we make for dealing with pairs of immediate values.
Comment 1 Gavin Barraclough 2011-09-06 22:28:44 PDT
We now store 32 bits of integer & 64 bits of double :-D