| OLD | NEW |
| 1 // Copyright 2011 the V8 project authors. All rights reserved. | 1 // Copyright 2011 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 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 109 func.apply(void 0, argList); | 109 func.apply(void 0, argList); |
| 110 } catch (e) { | 110 } catch (e) { |
| 111 // we don't care what happens as long as we don't crash | 111 // we don't care what happens as long as we don't crash |
| 112 } | 112 } |
| 113 type++; | 113 type++; |
| 114 } | 114 } |
| 115 } | 115 } |
| 116 | 116 |
| 117 var knownProblems = { | 117 var knownProblems = { |
| 118 "Abort": true, | 118 "Abort": true, |
| 119 "ThrowMessage": true, |
| 119 | 120 |
| 120 // Avoid calling the concat operation, because weird lengths | 121 // Avoid calling the concat operation, because weird lengths |
| 121 // may lead to out-of-memory. Ditto for StringBuilderJoin. | 122 // may lead to out-of-memory. Ditto for StringBuilderJoin. |
| 122 "StringBuilderConcat": true, | 123 "StringBuilderConcat": true, |
| 123 "StringBuilderJoin": true, | 124 "StringBuilderJoin": true, |
| 124 | 125 |
| 125 // These functions use pseudo-stack-pointers and are not robust | 126 // These functions use pseudo-stack-pointers and are not robust |
| 126 // to unexpected integer values. | 127 // to unexpected integer values. |
| 127 "DebugEvaluate": true, | 128 "DebugEvaluate": true, |
| 128 | 129 |
| (...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 202 "_HasCachedArrayIndex": true, | 203 "_HasCachedArrayIndex": true, |
| 203 "_GetCachedArrayIndex": true, | 204 "_GetCachedArrayIndex": true, |
| 204 "_OneByteSeqStringSetChar": true, | 205 "_OneByteSeqStringSetChar": true, |
| 205 "_TwoByteSeqStringSetChar": true, | 206 "_TwoByteSeqStringSetChar": true, |
| 206 | 207 |
| 207 // Only applicable to generators. | 208 // Only applicable to generators. |
| 208 "_GeneratorNext": true, | 209 "_GeneratorNext": true, |
| 209 "_GeneratorThrow": true, | 210 "_GeneratorThrow": true, |
| 210 | 211 |
| 211 // Only applicable to DataViews. | 212 // Only applicable to DataViews. |
| 213 "DataViewInitialize": true, |
| 212 "DataViewGetBuffer": true, | 214 "DataViewGetBuffer": true, |
| 213 "DataViewGetByteLength": true, | 215 "DataViewGetByteLength": true, |
| 214 "DataViewGetByteOffset": true | 216 "DataViewGetByteOffset": true |
| 215 }; | 217 }; |
| 216 | 218 |
| 217 var currentlyUncallable = { | 219 var currentlyUncallable = { |
| 218 // We need to find a way to test this without breaking the system. | 220 // We need to find a way to test this without breaking the system. |
| 219 "SystemBreak": true, | 221 "SystemBreak": true, |
| 220 // Inserts an int3/stop instruction when run with --always-opt. | 222 // Inserts an int3/stop instruction when run with --always-opt. |
| 221 "_DebugBreakInOptimizedCode": true | 223 "_DebugBreakInOptimizedCode": true |
| 222 }; | 224 }; |
| 223 | 225 |
| 224 function testNatives() { | 226 function testNatives() { |
| 225 var allNatives = %ListNatives(); | 227 var allNatives = %ListNatives(); |
| 226 var start = allNatives.length >> 2; | 228 var start = allNatives.length >> 2; |
| 227 var stop = (allNatives.length >> 2)*2; | 229 var stop = (allNatives.length >> 2)*2; |
| 228 for (var i = start; i < stop; i++) { | 230 for (var i = start; i < stop; i++) { |
| 229 var nativeInfo = allNatives[i]; | 231 var nativeInfo = allNatives[i]; |
| 230 var name = nativeInfo[0]; | 232 var name = nativeInfo[0]; |
| 231 if (name in knownProblems || name in currentlyUncallable) | 233 if (name in knownProblems || name in currentlyUncallable) |
| 232 continue; | 234 continue; |
| 233 print(name); | 235 print(name); |
| 234 var argc = nativeInfo[1]; | 236 var argc = nativeInfo[1]; |
| 235 testArgumentCount(name, argc); | 237 testArgumentCount(name, argc); |
| 236 testArgumentTypes(name, argc); | 238 testArgumentTypes(name, argc); |
| 237 } | 239 } |
| 238 } | 240 } |
| 239 | 241 |
| 240 testNatives(); | 242 testNatives(); |
| OLD | NEW |