Changeset 33979 in webkit for trunk/JavaScriptCore/kjs/JSImmediate.h
- Timestamp:
- May 21, 2008, 6:20:45 PM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/kjs/JSImmediate.h
r28916 r33979 123 123 static JSValue* undefinedImmediate(); 124 124 static JSValue* nullImmediate(); 125 126 static JSValue* impossibleValue(); 125 127 126 128 private: … … 152 154 ALWAYS_INLINE JSValue* JSImmediate::undefinedImmediate() { return tag(1 << 2, UndefinedType); } 153 155 ALWAYS_INLINE JSValue* JSImmediate::nullImmediate() { return tag(0, UndefinedType); } 156 157 // This value is impossible because 0x4 is not a valid pointer but a tag of 0 would indicate non-immediate 158 ALWAYS_INLINE JSValue* JSImmediate::impossibleValue() { return tag(1 << 2, 0); } 154 159 155 160 ALWAYS_INLINE bool JSImmediate::toBoolean(const JSValue* v) … … 274 279 } 275 280 281 ALWAYS_INLINE JSType JSImmediate::type(const JSValue* v) 282 { 283 ASSERT(isImmediate(v)); 284 285 uintptr_t tag = getTag(v); 286 if (tag == UndefinedType) 287 return v == undefinedImmediate() ? UndefinedType : NullType; 288 return static_cast<JSType>(tag); 289 } 290 276 291 } // namespace KJS 277 292
Note:
See TracChangeset
for help on using the changeset viewer.