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 = 358 | 50 EXPECTED_FUNCTION_COUNT = 359 |
51 EXPECTED_FUZZABLE_COUNT = 326 | 51 EXPECTED_FUZZABLE_COUNT = 327 |
52 EXPECTED_CCTEST_COUNT = 6 | 52 EXPECTED_CCTEST_COUNT = 6 |
53 EXPECTED_UNKNOWN_COUNT = 4 | 53 EXPECTED_UNKNOWN_COUNT = 4 |
54 EXPECTED_BUILTINS_COUNT = 798 | 54 EXPECTED_BUILTINS_COUNT = 801 |
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. |
62 "IS_VAR", # Not implemented in the runtime. | 62 "IS_VAR", # Not implemented in the runtime. |
63 "ListNatives", # Not available in Release mode. | 63 "ListNatives", # Not available in Release mode. |
64 "SetAllocationTimeout", # Too slow for fuzzing. | 64 "SetAllocationTimeout", # Too slow for fuzzing. |
(...skipping 27 matching lines...) Expand all Loading... |
92 # These will always throw. | 92 # These will always throw. |
93 THROWS = [ | 93 THROWS = [ |
94 "CheckExecutionState", # Needs to hit a break point. | 94 "CheckExecutionState", # Needs to hit a break point. |
95 "CheckIsBootstrapping", # Needs to be bootstrapping. | 95 "CheckIsBootstrapping", # Needs to be bootstrapping. |
96 "DebugEvaluate", # Needs to hit a break point. | 96 "DebugEvaluate", # Needs to hit a break point. |
97 "DebugEvaluateGlobal", # Needs to hit a break point. | 97 "DebugEvaluateGlobal", # Needs to hit a break point. |
98 "DebugIndexedInterceptorElementValue", # Needs an indexed interceptor. | 98 "DebugIndexedInterceptorElementValue", # Needs an indexed interceptor. |
99 "DebugNamedInterceptorPropertyValue", # Needs a named interceptor. | 99 "DebugNamedInterceptorPropertyValue", # Needs a named interceptor. |
100 "DebugSetScriptSource", # Checks compilation state of script. | 100 "DebugSetScriptSource", # Checks compilation state of script. |
101 "GetAllScopesDetails", # Needs to hit a break point. | 101 "GetAllScopesDetails", # Needs to hit a break point. |
| 102 "GetArgumentsBoilerplateObject", # Needs to be bootstrapping. |
102 "GetFrameCount", # Needs to hit a break point. | 103 "GetFrameCount", # Needs to hit a break point. |
103 "GetFrameDetails", # Needs to hit a break point. | 104 "GetFrameDetails", # Needs to hit a break point. |
104 "GetRootNaN", # Needs to be bootstrapping. | 105 "GetRootNaN", # Needs to be bootstrapping. |
105 "GetScopeCount", # Needs to hit a break point. | 106 "GetScopeCount", # Needs to hit a break point. |
106 "GetScopeDetails", # Needs to hit a break point. | 107 "GetScopeDetails", # Needs to hit a break point. |
107 "GetStepInPositions", # Needs to hit a break point. | 108 "GetStepInPositions", # Needs to hit a break point. |
108 "GetTemplateField", # Needs a {Function,Object}TemplateInfo. | 109 "GetTemplateField", # Needs a {Function,Object}TemplateInfo. |
109 "GetThreadCount", # Needs to hit a break point. | 110 "GetThreadCount", # Needs to hit a break point. |
110 "GetThreadDetails", # Needs to hit a break point. | 111 "GetThreadDetails", # Needs to hit a break point. |
111 "IsAccessAllowedForObserver", # Needs access-check-required object. | 112 "IsAccessAllowedForObserver", # Needs access-check-required object. |
(...skipping 1202 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1314 for i in range(len(processes)): | 1315 for i in range(len(processes)): |
1315 processes[i].join() | 1316 processes[i].join() |
1316 except KeyboardInterrupt: | 1317 except KeyboardInterrupt: |
1317 stop_running.set() | 1318 stop_running.set() |
1318 for i in range(len(processes)): | 1319 for i in range(len(processes)): |
1319 processes[i].join() | 1320 processes[i].join() |
1320 return 0 | 1321 return 0 |
1321 | 1322 |
1322 if __name__ == "__main__": | 1323 if __name__ == "__main__": |
1323 sys.exit(Main()) | 1324 sys.exit(Main()) |
OLD | NEW |