OLD | NEW |
1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
2 # Copyright 2014 the V8 project authors. All rights reserved. | 2 # Copyright 2014 the V8 project authors. All rights reserved. |
3 # Use of this source code is governed by a BSD-style license that can be | 3 # Use of this source code is governed by a BSD-style license that can be |
4 # found in the LICENSE file. | 4 # found in the LICENSE file. |
5 | 5 |
6 import itertools | 6 import itertools |
7 import js2c | 7 import js2c |
8 import multiprocessing | 8 import multiprocessing |
9 import optparse | 9 import optparse |
10 import os | 10 import os |
(...skipping 29 matching lines...) Expand all Loading... |
40 # functions they define are so trivial that it's unclear how much benefit | 40 # functions they define are so trivial that it's unclear how much benefit |
41 # that would provide: | 41 # that would provide: |
42 # ELEMENTS_KIND_CHECK_RUNTIME_FUNCTION | 42 # ELEMENTS_KIND_CHECK_RUNTIME_FUNCTION |
43 # FIXED_TYPED_ARRAYS_CHECK_RUNTIME_FUNCTION | 43 # FIXED_TYPED_ARRAYS_CHECK_RUNTIME_FUNCTION |
44 # TYPED_ARRAYS_CHECK_RUNTIME_FUNCTION | 44 # TYPED_ARRAYS_CHECK_RUNTIME_FUNCTION |
45 | 45 |
46 # Counts of functions in each detection state. These are used to assert | 46 # Counts of functions in each detection state. These are used to assert |
47 # that the parser doesn't bit-rot. Change the values as needed when you add, | 47 # that the parser doesn't bit-rot. Change the values as needed when you add, |
48 # remove or change runtime functions, but make sure we don't lose our ability | 48 # remove or change runtime functions, but make sure we don't lose our ability |
49 # to parse them! | 49 # to parse them! |
50 EXPECTED_FUNCTION_COUNT = 416 | 50 EXPECTED_FUNCTION_COUNT = 417 |
51 EXPECTED_FUZZABLE_COUNT = 331 | 51 EXPECTED_FUZZABLE_COUNT = 332 |
52 EXPECTED_CCTEST_COUNT = 6 | 52 EXPECTED_CCTEST_COUNT = 6 |
53 EXPECTED_UNKNOWN_COUNT = 4 | 53 EXPECTED_UNKNOWN_COUNT = 4 |
54 EXPECTED_BUILTINS_COUNT = 809 | 54 EXPECTED_BUILTINS_COUNT = 809 |
55 | 55 |
56 | 56 |
57 # Don't call these at all. | 57 # Don't call these at all. |
58 BLACKLISTED = [ | 58 BLACKLISTED = [ |
59 "Abort", # Kills the process. | 59 "Abort", # Kills the process. |
60 "AbortJS", # Kills the process. | 60 "AbortJS", # Kills the process. |
61 "CompileForOnStackReplacement", # Riddled with ASSERTs. | 61 "CompileForOnStackReplacement", # Riddled with ASSERTs. |
(...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
205 "%GetImplFromInitializedIntlObject(new Intl.DateTimeFormat('en-US'))") | 205 "%GetImplFromInitializedIntlObject(new Intl.DateTimeFormat('en-US'))") |
206 _NUMBER_FORMAT = ( | 206 _NUMBER_FORMAT = ( |
207 "%GetImplFromInitializedIntlObject(new Intl.NumberFormat('en-US'))") | 207 "%GetImplFromInitializedIntlObject(new Intl.NumberFormat('en-US'))") |
208 | 208 |
209 | 209 |
210 # Custom definitions for function input that does not throw. | 210 # Custom definitions for function input that does not throw. |
211 # Format: "FunctionName": ["arg0", "arg1", ..., argslength]. | 211 # Format: "FunctionName": ["arg0", "arg1", ..., argslength]. |
212 # None means "fall back to autodetected value". | 212 # None means "fall back to autodetected value". |
213 CUSTOM_KNOWN_GOOD_INPUT = { | 213 CUSTOM_KNOWN_GOOD_INPUT = { |
214 "AddProperty": [None, 10, None, None, None], | 214 "AddProperty": [None, 10, None, None, None], |
| 215 "AddPropertyForTemplate": [None, 10, None, None, None], |
215 "Apply": ["function() {}", None, None, None, None, None], | 216 "Apply": ["function() {}", None, None, None, None, None], |
216 "ArrayBufferSliceImpl": [None, None, 0, None], | 217 "ArrayBufferSliceImpl": [None, None, 0, None], |
217 "ArrayConcat": ["[1, 'a']", None], | 218 "ArrayConcat": ["[1, 'a']", None], |
218 "BreakIteratorAdoptText": [_BREAK_ITERATOR, None, None], | 219 "BreakIteratorAdoptText": [_BREAK_ITERATOR, None, None], |
219 "BreakIteratorBreakType": [_BREAK_ITERATOR, None], | 220 "BreakIteratorBreakType": [_BREAK_ITERATOR, None], |
220 "BreakIteratorCurrent": [_BREAK_ITERATOR, None], | 221 "BreakIteratorCurrent": [_BREAK_ITERATOR, None], |
221 "BreakIteratorFirst": [_BREAK_ITERATOR, None], | 222 "BreakIteratorFirst": [_BREAK_ITERATOR, None], |
222 "BreakIteratorNext": [_BREAK_ITERATOR, None], | 223 "BreakIteratorNext": [_BREAK_ITERATOR, None], |
223 "CompileString": [None, "false", None], | 224 "CompileString": [None, "false", None], |
224 "CreateBreakIterator": ["'en-US'", "{type: 'string'}", None, None], | 225 "CreateBreakIterator": ["'en-US'", "{type: 'string'}", None, None], |
(...skipping 1173 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1398 for i in range(len(processes)): | 1399 for i in range(len(processes)): |
1399 processes[i].join() | 1400 processes[i].join() |
1400 except KeyboardInterrupt: | 1401 except KeyboardInterrupt: |
1401 stop_running.set() | 1402 stop_running.set() |
1402 for i in range(len(processes)): | 1403 for i in range(len(processes)): |
1403 processes[i].join() | 1404 processes[i].join() |
1404 return 0 | 1405 return 0 |
1405 | 1406 |
1406 if __name__ == "__main__": | 1407 if __name__ == "__main__": |
1407 sys.exit(Main()) | 1408 sys.exit(Main()) |
OLD | NEW |