Changeset 51334 in webkit for trunk/JavaScriptCore/runtime
- Timestamp:
- Nov 23, 2009, 6:30:04 PM (16 years ago)
- Location:
- trunk/JavaScriptCore/runtime
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/runtime/JSNumberCell.h
r49649 r51334 110 110 } 111 111 112 ALWAYS_INLINE JSValue::JSValue(EncodeAsDoubleTag, ExecState* exec, double d) 113 { 114 *this = jsNumberCell(exec, d); 115 } 116 112 117 inline JSValue::JSValue(ExecState* exec, double d) 113 118 { … … 194 199 195 200 #if USE(JSVALUE64) 201 ALWAYS_INLINE JSValue::JSValue(EncodeAsDoubleTag, ExecState*, double d) 202 { 203 *this = JSImmediate::fromNumberOutsideIntegerRange(d); 204 } 205 196 206 inline JSValue::JSValue(ExecState*, double d) 197 207 { -
trunk/JavaScriptCore/runtime/JSValue.h
r49734 r51334 81 81 enum JSTrueTag { JSTrue }; 82 82 enum JSFalseTag { JSFalse }; 83 enum EncodeAsDoubleTag { EncodeAsDouble }; 83 84 84 85 JSValue(); … … 91 92 92 93 // Numbers 94 JSValue(EncodeAsDoubleTag, ExecState*, double); 93 95 JSValue(ExecState*, double); 94 96 JSValue(ExecState*, char); … … 280 282 } 281 283 284 ALWAYS_INLINE JSValue jsDoubleNumber(ExecState* exec, double d) 285 { 286 return JSValue(JSValue::EncodeAsDouble, exec, d); 287 } 288 282 289 ALWAYS_INLINE JSValue jsNumber(ExecState* exec, double d) 283 290 { … … 584 591 } 585 592 593 ALWAYS_INLINE JSValue::JSValue(EncodeAsDoubleTag, ExecState*, double d) 594 { 595 u.asDouble = d; 596 } 597 586 598 inline JSValue::JSValue(ExecState* exec, double d) 587 599 { -
trunk/JavaScriptCore/runtime/MathObject.cpp
r50789 r51334 120 120 JSValue JSC_HOST_CALL mathProtoFuncACos(ExecState* exec, JSObject*, JSValue, const ArgList& args) 121 121 { 122 return js Number(exec, acos(args.at(0).toNumber(exec)));122 return jsDoubleNumber(exec, acos(args.at(0).toNumber(exec))); 123 123 } 124 124 125 125 JSValue JSC_HOST_CALL mathProtoFuncASin(ExecState* exec, JSObject*, JSValue, const ArgList& args) 126 126 { 127 return js Number(exec, asin(args.at(0).toNumber(exec)));127 return jsDoubleNumber(exec, asin(args.at(0).toNumber(exec))); 128 128 } 129 129 130 130 JSValue JSC_HOST_CALL mathProtoFuncATan(ExecState* exec, JSObject*, JSValue, const ArgList& args) 131 131 { 132 return js Number(exec, atan(args.at(0).toNumber(exec)));132 return jsDoubleNumber(exec, atan(args.at(0).toNumber(exec))); 133 133 } 134 134 135 135 JSValue JSC_HOST_CALL mathProtoFuncATan2(ExecState* exec, JSObject*, JSValue, const ArgList& args) 136 136 { 137 return js Number(exec, atan2(args.at(0).toNumber(exec), args.at(1).toNumber(exec)));137 return jsDoubleNumber(exec, atan2(args.at(0).toNumber(exec), args.at(1).toNumber(exec))); 138 138 } 139 139 … … 145 145 JSValue JSC_HOST_CALL mathProtoFuncCos(ExecState* exec, JSObject*, JSValue, const ArgList& args) 146 146 { 147 return js Number(exec, cos(args.at(0).toNumber(exec)));147 return jsDoubleNumber(exec, cos(args.at(0).toNumber(exec))); 148 148 } 149 149 150 150 JSValue JSC_HOST_CALL mathProtoFuncExp(ExecState* exec, JSObject*, JSValue, const ArgList& args) 151 151 { 152 return js Number(exec, exp(args.at(0).toNumber(exec)));152 return jsDoubleNumber(exec, exp(args.at(0).toNumber(exec))); 153 153 } 154 154 … … 160 160 JSValue JSC_HOST_CALL mathProtoFuncLog(ExecState* exec, JSObject*, JSValue, const ArgList& args) 161 161 { 162 return js Number(exec, log(args.at(0).toNumber(exec)));162 return jsDoubleNumber(exec, log(args.at(0).toNumber(exec))); 163 163 } 164 164 … … 211 211 JSValue JSC_HOST_CALL mathProtoFuncRandom(ExecState* exec, JSObject*, JSValue, const ArgList&) 212 212 { 213 return js Number(exec, exec->globalData().weakRandom.get());213 return jsDoubleNumber(exec, exec->globalData().weakRandom.get()); 214 214 } 215 215 … … 224 224 JSValue JSC_HOST_CALL mathProtoFuncSin(ExecState* exec, JSObject*, JSValue, const ArgList& args) 225 225 { 226 return js Number(exec, sin(args.at(0).toNumber(exec)));226 return jsDoubleNumber(exec, sin(args.at(0).toNumber(exec))); 227 227 } 228 228 229 229 JSValue JSC_HOST_CALL mathProtoFuncSqrt(ExecState* exec, JSObject*, JSValue, const ArgList& args) 230 230 { 231 return js Number(exec, sqrt(args.at(0).toNumber(exec)));231 return jsDoubleNumber(exec, sqrt(args.at(0).toNumber(exec))); 232 232 } 233 233 234 234 JSValue JSC_HOST_CALL mathProtoFuncTan(ExecState* exec, JSObject*, JSValue, const ArgList& args) 235 235 { 236 return js Number(exec, tan(args.at(0).toNumber(exec)));236 return jsDoubleNumber(exec, tan(args.at(0).toNumber(exec))); 237 237 } 238 238
Note:
See TracChangeset
for help on using the changeset viewer.