Changeset 43130 in webkit for trunk/JavaScriptCore/runtime
- Timestamp:
- May 1, 2009, 5:25:41 PM (16 years ago)
- Location:
- trunk/JavaScriptCore/runtime
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/runtime/JSNumberCell.cpp
r43122 r43130 114 114 } 115 115 116 JSValue jsAPIMangledNumber(ExecState* exec, double d) 117 { 118 return new (exec) JSNumberCell(JSNumberCell::APIMangled, d); 119 } 120 116 121 #else 117 122 -
trunk/JavaScriptCore/runtime/JSNumberCell.h
r43122 r43130 53 53 friend JSValue jsNumberCell(JSGlobalData*, double); 54 54 friend JSValue jsNumberCell(ExecState*, double); 55 friend JSValue jsAPIMangledNumber(ExecState*, double); 55 56 public: 56 57 double value() const { return m_value; } … … 66 67 virtual JSObject* toThisObject(ExecState*) const; 67 68 virtual JSValue getJSNumber(); 69 70 static const uintptr_t JSAPIMangledMagicNumber = 0xbbadbeef; 71 bool isAPIMangledNumber() const { return m_structure == reinterpret_cast<Structure*>(JSAPIMangledMagicNumber); } 68 72 69 73 void* operator new(size_t size, ExecState* exec) … … 100 104 } 101 105 106 enum APIMangledTag { APIMangled }; 107 JSNumberCell(APIMangledTag, double value) 108 : JSCell(reinterpret_cast<Structure*>(JSAPIMangledMagicNumber)) 109 , m_value(value) 110 { 111 } 112 102 113 virtual bool getUInt32(uint32_t&) const; 103 114 virtual bool getTruncatedInt32(int32_t&) const; … … 223 234 ASSERT(isNumber()); 224 235 return JSImmediate::isImmediate(asValue()) ? JSImmediate::toDouble(asValue()) : getDoubleNumber(); 236 } 237 238 JSValue jsAPIMangledNumber(ExecState* exec, double); 239 240 inline bool JSValue::isAPIMangledNumber() 241 { 242 ASSERT(isNumber()); 243 return JSImmediate::isImmediate(asValue()) ? false : asNumberCell(asValue())->isAPIMangledNumber(); 225 244 } 226 245 -
trunk/JavaScriptCore/runtime/JSValue.h
r43122 r43130 151 151 float toFloat(ExecState* exec) const { return static_cast<float>(toNumber(exec)); } 152 152 153 // API Mangled Numbers 154 bool isAPIMangledNumber(); 155 153 156 // Garbage collection. 154 157 void mark();
Note:
See TracChangeset
for help on using the changeset viewer.