| OLD | NEW |
| 1 // Copyright 2006-2008 the V8 project authors. All rights reserved. | 1 // Copyright 2006-2008 the V8 project authors. All rights reserved. |
| 2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
| 3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
| 4 // met: | 4 // met: |
| 5 // | 5 // |
| 6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
| 7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
| 8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
| 9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
| 10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
| (...skipping 346 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 357 return Join(this, this.length, ',', ConvertToLocaleString); | 357 return Join(this, this.length, ',', ConvertToLocaleString); |
| 358 } | 358 } |
| 359 | 359 |
| 360 | 360 |
| 361 function ArrayJoin(separator) { | 361 function ArrayJoin(separator) { |
| 362 if (IS_UNDEFINED(separator)) { | 362 if (IS_UNDEFINED(separator)) { |
| 363 separator = ','; | 363 separator = ','; |
| 364 } else if (!IS_STRING(separator)) { | 364 } else if (!IS_STRING(separator)) { |
| 365 separator = ToString(separator); | 365 separator = ToString(separator); |
| 366 } | 366 } |
| 367 |
| 368 var result = %_FastAsciiArrayJoin(this, separator); |
| 369 if (typeof result != "undefined") return result; |
| 370 |
| 367 var length = TO_UINT32(this.length); | 371 var length = TO_UINT32(this.length); |
| 368 return Join(this, length, separator, ConvertToString); | 372 return Join(this, length, separator, ConvertToString); |
| 369 } | 373 } |
| 370 | 374 |
| 371 | 375 |
| 372 // Removes the last element from the array and returns it. See | 376 // Removes the last element from the array and returns it. See |
| 373 // ECMA-262, section 15.4.4.6. | 377 // ECMA-262, section 15.4.4.6. |
| 374 function ArrayPop() { | 378 function ArrayPop() { |
| 375 var n = TO_UINT32(this.length); | 379 var n = TO_UINT32(this.length); |
| 376 if (n == 0) { | 380 if (n == 0) { |
| (...skipping 787 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1164 "lastIndexOf", getFunction("lastIndexOf", ArrayLastIndexOf, 1), | 1168 "lastIndexOf", getFunction("lastIndexOf", ArrayLastIndexOf, 1), |
| 1165 "reduce", getFunction("reduce", ArrayReduce, 1), | 1169 "reduce", getFunction("reduce", ArrayReduce, 1), |
| 1166 "reduceRight", getFunction("reduceRight", ArrayReduceRight, 1) | 1170 "reduceRight", getFunction("reduceRight", ArrayReduceRight, 1) |
| 1167 )); | 1171 )); |
| 1168 | 1172 |
| 1169 %FinishArrayPrototypeSetup($Array.prototype); | 1173 %FinishArrayPrototypeSetup($Array.prototype); |
| 1170 } | 1174 } |
| 1171 | 1175 |
| 1172 | 1176 |
| 1173 SetupArray(); | 1177 SetupArray(); |
| OLD | NEW |