Changeset 27630 in webkit


Ignore:
Timestamp:
Nov 8, 2007 8:32:55 PM (16 years ago)
Author:
oliver
Message:

Fix regression caused by earlier bitwise and optimisation. 1 & undefined != 1.

Reviewed by Maciej.

The implementation of JSImmediate::areBothImmediateNumbers relies on
(JSImmediate::getTag(immediate1) & JSImmediate::getTag(immediate2)) having
a unique result when both immediate values are numbers.

The regression was due to UndefinedType & NumberType returning NumberType (3 & 1).
By swapping the value of NumberType and UndefinedType this ceases to be a problem.

Location:
trunk
Files:
2 added
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/ChangeLog

    r27623 r27630  
     12007-11-08  Oliver Hunt  <oliver@apple.com>
     2
     3        Reviewed by Maciej.
     4
     5        Fix regression caused by earlier bitwise and optimisation.  1 & undefined != 1.
     6
     7        The implementation of JSImmediate::areBothImmediateNumbers relies on
     8        (JSImmediate::getTag(immediate1) & JSImmediate::getTag(immediate2)) having
     9        a unique result when both immediate values are numbers.
     10
     11        The regression was due to UndefinedType & NumberType returning NumberType (3 & 1).
     12        By swapping the value of NumberType and UndefinedType this ceases to be a problem.
     13
     14        * kjs/JSType.h:
     15        (KJS::):
     16
    1172007-11-08  Darin Adler  <darin@apple.com>
    218
  • trunk/JavaScriptCore/kjs/JSType.h

    r13090 r27630  
    3030enum JSType {
    3131    UnspecifiedType   = 0,
    32     NumberType        = 1,
     32    UndefinedType     = 1,
    3333    BooleanType       = 2,
    34     UndefinedType     = 3,
     34    NumberType        = 3,
    3535    NullType          = 4,
    3636    StringType        = 5,
  • trunk/LayoutTests/ChangeLog

    r27617 r27630  
     12007-11-08  Oliver Hunt  <oliver@apple.com>
     2
     3        Reviewed by Maciej.
     4
     5        Layout test to guard against bit operation regressions.
     6
     7        * fast/js/bitwise-and-on-undefined-expected.txt: Added.
     8        * fast/js/bitwise-and-on-undefined.html: Added.
     9
    1102007-11-08  Dan Bernstein  <mitz@apple.com>
    211
Note: See TracChangeset for help on using the changeset viewer.