| Index: src/ic.h
|
| diff --git a/src/ic.h b/src/ic.h
|
| index cb316407c0563c340e143bc621c69d75642916dc..4ac5281846e95815b0e87ade12e1455637ac92d0 100644
|
| --- a/src/ic.h
|
| +++ b/src/ic.h
|
| @@ -709,7 +709,7 @@ class UnaryOpIC: public IC {
|
| enum TypeInfo {
|
| UNINITIALIZED,
|
| SMI,
|
| - HEAP_NUMBER,
|
| + NUMBER,
|
| GENERIC
|
| };
|
|
|
| @@ -734,7 +734,7 @@ class BinaryOpIC: public IC {
|
| UNINITIALIZED,
|
| SMI,
|
| INT32,
|
| - HEAP_NUMBER,
|
| + NUMBER,
|
| ODDBALL,
|
| STRING, // Only used for addition operation.
|
| GENERIC
|
| @@ -752,14 +752,20 @@ class BinaryOpIC: public IC {
|
|
|
| class CompareIC: public IC {
|
| public:
|
| + // The type/state lattice is defined by the following inequations:
|
| + // UNINITIALIZED < ...
|
| + // ... < GENERIC
|
| + // SMI < NUMBER
|
| + // SYMBOL < STRING
|
| + // KNOWN_OBJECT < OBJECT
|
| enum State {
|
| UNINITIALIZED,
|
| SMI,
|
| - HEAP_NUMBER,
|
| + NUMBER,
|
| SYMBOL,
|
| STRING,
|
| - OBJECT,
|
| - KNOWN_OBJECTS,
|
| + OBJECT, // JSObject
|
| + KNOWN_OBJECT, // JSObject with specific map (faster check)
|
| GENERIC
|
| };
|
|
|
|
|