Changeset 27095 in webkit for trunk/JavaScriptCore/kjs/array_object.cpp
- Timestamp:
- Oct 26, 2007, 12:51:25 AM (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/kjs/array_object.cpp
r27011 r27095 254 254 JSObject *resObj = static_cast<JSObject *>(exec->lexicalInterpreter()->builtinArray()->construct(exec,List::empty())); 255 255 result = resObj; 256 double begin = 0; 257 if (!args[0]->isUndefined()) { 258 begin = args[0]->toInteger(exec); 259 if (begin >= 0) { // false for NaN 260 if (begin > length) 261 begin = length; 262 } else { 263 begin += length; 264 if (!(begin >= 0)) // true for NaN 265 begin = 0; 266 } 267 } 268 double end = length; 269 if (!args[1]->isUndefined()) { 256 double begin = args[0]->toInteger(exec); 257 if (begin >= 0) { 258 if (begin > length) 259 begin = length; 260 } else { 261 begin += length; 262 if (begin < 0) 263 begin = 0; 264 } 265 double end; 266 if (args[1]->isUndefined()) 267 end = length; 268 else { 270 269 end = args[1]->toInteger(exec); 271 if (end < 0) { // false for NaN270 if (end < 0) { 272 271 end += length; 273 272 if (end < 0) 274 273 end = 0; 275 274 } else { 276 if ( !(end <= length)) // true for NaN275 if (end > length) 277 276 end = length; 278 277 } 279 278 } 280 279 281 //printf( "Slicing from %d to %d \n", begin, end );282 280 int n = 0; 283 281 int b = static_cast<int>(begin); … … 550 548 551 549 int index = length - 1; 552 double d = args[1]->toInteger (exec);550 double d = args[1]->toIntegerPreserveNaN(exec); 553 551 554 552 if (d < 0) {
Note:
See TracChangeset
for help on using the changeset viewer.