Skip to content

Commit 6f38fd7

Browse files
committed
Release CodeAlchemist 1.0
0 parents  commit 6f38fd7

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

44 files changed

+4753
-0
lines changed

.gitignore

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
obj/
2+
bin/
3+
build/
4+
*.swp
5+
*.swo
6+
*.dll
7+
node_modules/

CodeAlchemist.sln

Lines changed: 99 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,99 @@
1+
2+
Microsoft Visual Studio Solution File, Format Version 12.00
3+
# Visual Studio 15
4+
VisualStudioVersion = 15.0.26124.0
5+
MinimumVisualStudioVersion = 15.0.26124.0
6+
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{876C937D-6906-467E-AE7C-DB10BB13A8EA}"
7+
EndProject
8+
Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "Analyzer", "src\Analyzer\Analyzer.fsproj", "{E5540A82-51CC-4CA8-A9D5-3461C4F1BC3C}"
9+
EndProject
10+
Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "AST", "src\AST\AST.fsproj", "{07923163-24E0-4FDB-A894-D172196344C5}"
11+
EndProject
12+
Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "Common", "src\Common\Common.fsproj", "{E12BB09B-F4C5-4599-9C04-915C7F6EA813}"
13+
EndProject
14+
Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "Fuzzer", "src\Fuzzer\Fuzzer.fsproj", "{1D96DC1B-6302-48B1-B7DB-52A7EFCAF36B}"
15+
EndProject
16+
Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "Main", "src\Main\Main.fsproj", "{6EA0AE33-5B5E-4316-8403-6067593C139B}"
17+
EndProject
18+
Global
19+
GlobalSection(SolutionConfigurationPlatforms) = preSolution
20+
Debug|Any CPU = Debug|Any CPU
21+
Debug|x64 = Debug|x64
22+
Debug|x86 = Debug|x86
23+
Release|Any CPU = Release|Any CPU
24+
Release|x64 = Release|x64
25+
Release|x86 = Release|x86
26+
EndGlobalSection
27+
GlobalSection(SolutionProperties) = preSolution
28+
HideSolutionNode = FALSE
29+
EndGlobalSection
30+
GlobalSection(ProjectConfigurationPlatforms) = postSolution
31+
{E5540A82-51CC-4CA8-A9D5-3461C4F1BC3C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
32+
{E5540A82-51CC-4CA8-A9D5-3461C4F1BC3C}.Debug|Any CPU.Build.0 = Debug|Any CPU
33+
{E5540A82-51CC-4CA8-A9D5-3461C4F1BC3C}.Debug|x64.ActiveCfg = Debug|Any CPU
34+
{E5540A82-51CC-4CA8-A9D5-3461C4F1BC3C}.Debug|x64.Build.0 = Debug|Any CPU
35+
{E5540A82-51CC-4CA8-A9D5-3461C4F1BC3C}.Debug|x86.ActiveCfg = Debug|Any CPU
36+
{E5540A82-51CC-4CA8-A9D5-3461C4F1BC3C}.Debug|x86.Build.0 = Debug|Any CPU
37+
{E5540A82-51CC-4CA8-A9D5-3461C4F1BC3C}.Release|Any CPU.ActiveCfg = Release|Any CPU
38+
{E5540A82-51CC-4CA8-A9D5-3461C4F1BC3C}.Release|Any CPU.Build.0 = Release|Any CPU
39+
{E5540A82-51CC-4CA8-A9D5-3461C4F1BC3C}.Release|x64.ActiveCfg = Release|Any CPU
40+
{E5540A82-51CC-4CA8-A9D5-3461C4F1BC3C}.Release|x64.Build.0 = Release|Any CPU
41+
{E5540A82-51CC-4CA8-A9D5-3461C4F1BC3C}.Release|x86.ActiveCfg = Release|Any CPU
42+
{E5540A82-51CC-4CA8-A9D5-3461C4F1BC3C}.Release|x86.Build.0 = Release|Any CPU
43+
{07923163-24E0-4FDB-A894-D172196344C5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
44+
{07923163-24E0-4FDB-A894-D172196344C5}.Debug|Any CPU.Build.0 = Debug|Any CPU
45+
{07923163-24E0-4FDB-A894-D172196344C5}.Debug|x64.ActiveCfg = Debug|Any CPU
46+
{07923163-24E0-4FDB-A894-D172196344C5}.Debug|x64.Build.0 = Debug|Any CPU
47+
{07923163-24E0-4FDB-A894-D172196344C5}.Debug|x86.ActiveCfg = Debug|Any CPU
48+
{07923163-24E0-4FDB-A894-D172196344C5}.Debug|x86.Build.0 = Debug|Any CPU
49+
{07923163-24E0-4FDB-A894-D172196344C5}.Release|Any CPU.ActiveCfg = Release|Any CPU
50+
{07923163-24E0-4FDB-A894-D172196344C5}.Release|Any CPU.Build.0 = Release|Any CPU
51+
{07923163-24E0-4FDB-A894-D172196344C5}.Release|x64.ActiveCfg = Release|Any CPU
52+
{07923163-24E0-4FDB-A894-D172196344C5}.Release|x64.Build.0 = Release|Any CPU
53+
{07923163-24E0-4FDB-A894-D172196344C5}.Release|x86.ActiveCfg = Release|Any CPU
54+
{07923163-24E0-4FDB-A894-D172196344C5}.Release|x86.Build.0 = Release|Any CPU
55+
{E12BB09B-F4C5-4599-9C04-915C7F6EA813}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
56+
{E12BB09B-F4C5-4599-9C04-915C7F6EA813}.Debug|Any CPU.Build.0 = Debug|Any CPU
57+
{E12BB09B-F4C5-4599-9C04-915C7F6EA813}.Debug|x64.ActiveCfg = Debug|Any CPU
58+
{E12BB09B-F4C5-4599-9C04-915C7F6EA813}.Debug|x64.Build.0 = Debug|Any CPU
59+
{E12BB09B-F4C5-4599-9C04-915C7F6EA813}.Debug|x86.ActiveCfg = Debug|Any CPU
60+
{E12BB09B-F4C5-4599-9C04-915C7F6EA813}.Debug|x86.Build.0 = Debug|Any CPU
61+
{E12BB09B-F4C5-4599-9C04-915C7F6EA813}.Release|Any CPU.ActiveCfg = Release|Any CPU
62+
{E12BB09B-F4C5-4599-9C04-915C7F6EA813}.Release|Any CPU.Build.0 = Release|Any CPU
63+
{E12BB09B-F4C5-4599-9C04-915C7F6EA813}.Release|x64.ActiveCfg = Release|Any CPU
64+
{E12BB09B-F4C5-4599-9C04-915C7F6EA813}.Release|x64.Build.0 = Release|Any CPU
65+
{E12BB09B-F4C5-4599-9C04-915C7F6EA813}.Release|x86.ActiveCfg = Release|Any CPU
66+
{E12BB09B-F4C5-4599-9C04-915C7F6EA813}.Release|x86.Build.0 = Release|Any CPU
67+
{1D96DC1B-6302-48B1-B7DB-52A7EFCAF36B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
68+
{1D96DC1B-6302-48B1-B7DB-52A7EFCAF36B}.Debug|Any CPU.Build.0 = Debug|Any CPU
69+
{1D96DC1B-6302-48B1-B7DB-52A7EFCAF36B}.Debug|x64.ActiveCfg = Debug|Any CPU
70+
{1D96DC1B-6302-48B1-B7DB-52A7EFCAF36B}.Debug|x64.Build.0 = Debug|Any CPU
71+
{1D96DC1B-6302-48B1-B7DB-52A7EFCAF36B}.Debug|x86.ActiveCfg = Debug|Any CPU
72+
{1D96DC1B-6302-48B1-B7DB-52A7EFCAF36B}.Debug|x86.Build.0 = Debug|Any CPU
73+
{1D96DC1B-6302-48B1-B7DB-52A7EFCAF36B}.Release|Any CPU.ActiveCfg = Release|Any CPU
74+
{1D96DC1B-6302-48B1-B7DB-52A7EFCAF36B}.Release|Any CPU.Build.0 = Release|Any CPU
75+
{1D96DC1B-6302-48B1-B7DB-52A7EFCAF36B}.Release|x64.ActiveCfg = Release|Any CPU
76+
{1D96DC1B-6302-48B1-B7DB-52A7EFCAF36B}.Release|x64.Build.0 = Release|Any CPU
77+
{1D96DC1B-6302-48B1-B7DB-52A7EFCAF36B}.Release|x86.ActiveCfg = Release|Any CPU
78+
{1D96DC1B-6302-48B1-B7DB-52A7EFCAF36B}.Release|x86.Build.0 = Release|Any CPU
79+
{6EA0AE33-5B5E-4316-8403-6067593C139B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
80+
{6EA0AE33-5B5E-4316-8403-6067593C139B}.Debug|Any CPU.Build.0 = Debug|Any CPU
81+
{6EA0AE33-5B5E-4316-8403-6067593C139B}.Debug|x64.ActiveCfg = Debug|Any CPU
82+
{6EA0AE33-5B5E-4316-8403-6067593C139B}.Debug|x64.Build.0 = Debug|Any CPU
83+
{6EA0AE33-5B5E-4316-8403-6067593C139B}.Debug|x86.ActiveCfg = Debug|Any CPU
84+
{6EA0AE33-5B5E-4316-8403-6067593C139B}.Debug|x86.Build.0 = Debug|Any CPU
85+
{6EA0AE33-5B5E-4316-8403-6067593C139B}.Release|Any CPU.ActiveCfg = Release|Any CPU
86+
{6EA0AE33-5B5E-4316-8403-6067593C139B}.Release|Any CPU.Build.0 = Release|Any CPU
87+
{6EA0AE33-5B5E-4316-8403-6067593C139B}.Release|x64.ActiveCfg = Release|Any CPU
88+
{6EA0AE33-5B5E-4316-8403-6067593C139B}.Release|x64.Build.0 = Release|Any CPU
89+
{6EA0AE33-5B5E-4316-8403-6067593C139B}.Release|x86.ActiveCfg = Release|Any CPU
90+
{6EA0AE33-5B5E-4316-8403-6067593C139B}.Release|x86.Build.0 = Release|Any CPU
91+
EndGlobalSection
92+
GlobalSection(NestedProjects) = preSolution
93+
{E5540A82-51CC-4CA8-A9D5-3461C4F1BC3C} = {876C937D-6906-467E-AE7C-DB10BB13A8EA}
94+
{07923163-24E0-4FDB-A894-D172196344C5} = {876C937D-6906-467E-AE7C-DB10BB13A8EA}
95+
{E12BB09B-F4C5-4599-9C04-915C7F6EA813} = {876C937D-6906-467E-AE7C-DB10BB13A8EA}
96+
{1D96DC1B-6302-48B1-B7DB-52A7EFCAF36B} = {876C937D-6906-467E-AE7C-DB10BB13A8EA}
97+
{6EA0AE33-5B5E-4316-8403-6067593C139B} = {876C937D-6906-467E-AE7C-DB10BB13A8EA}
98+
EndGlobalSection
99+
EndGlobal

Makefile

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
OUTDIR = $(shell pwd)/bin
2+
3+
all: CodeAlchemist
4+
5+
CodeAlchemist:
6+
dotnet build -c Release -o $(OUTDIR)
7+
8+
clean:
9+
dotnet clean
10+
rm -rf $(OUTDIR)

README.md

Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
<img src="./docs/CodeAlchemist.png" width="320">
2+
3+
# CodeAlchemist
4+
5+
CodeAlchemist is a JavaScript engine fuzzer that improves classic grammar-based
6+
JS engine fuzzers by a novel test case generation algorithm, called
7+
semantics-aware assembly. The details of the algorithm is in our
8+
[paper](https://daramg.gift/paper/han-ndss2019.pdf), "CodeAlchemist:
9+
Semantics-Aware Code Generation to Find Vulnerabilities in JavaScript Engines",
10+
which appeared in NDSS 2019. This is a stable version of CodeAlchemist and it
11+
currently supports ChakraCore, V8, SpiderMonkey, and JavaScriptCore.
12+
13+
# Installation
14+
15+
CodeAlchemist currently works on only Linux and we tested on Ubuntu 18.04.
16+
17+
1. Install dependencies (`build-essential`, `nodejs`, `npm`, `esprima`, `dotnet`)
18+
```
19+
$ sudo apt update
20+
$ sudo apt install build-essential
21+
$ sudo apt install nodejs npm
22+
23+
```
24+
Installation for `dotnet` depends on OS version, so please refer this [link](https://dotnet.microsoft.com/download/linux-package-manager/ubuntu18-04/sdk-current).
25+
26+
2. Clone and build `CodeAlchemist`
27+
```
28+
$ git clone https://github.com/SoftSec-KAIST/CodeAlchemist
29+
$ cd CodeAlchemist
30+
$ make
31+
```
32+
33+
# Usage
34+
35+
1. Prepare to start
36+
37+
Prepare JS seed files, a configuration file, and the requirements in the
38+
configuration. Please refer [conf/README.md](conf/README.md) for writing the
39+
configuration file.
40+
41+
2. Preprocess JS seed files
42+
```
43+
$ dotnet bin/Main.dll rewrite <conf ABSPATH>
44+
$ dotnet bin/Main.dll instrument <conf ABSPATH>
45+
```
46+
47+
3. Run fuzzing process
48+
```
49+
$ dotnet bin/Main.dll fuzz <conf ABSPATH>
50+
```
51+
There are four optional parameters for our JS code generation algorithm.
52+
- `iMax` (default: 8): The maximum number of iterations of the generation
53+
algorithm.
54+
- `pBlk` (default: 16): The probability of reinventing block statements.
55+
- `iBlk` (default: 3): The maximum number of iteration for generating a block
56+
statement.
57+
- `dMax` (default: 3): The maximum nesting level for a reassembling block
58+
statement.
59+
60+
You can specify parameters with following commands.
61+
```
62+
$ dotnet bin/Main.dll fuzz <conf ABSPATH> --iMax 8 --pBlk 16 --iBlk 3 --dMax 3
63+
```
64+
65+
# CVEs ([Credits](./docs/CVE.md))
66+
If you find bugs and get CVEs by running CodeAlchemist, please let us know
67+
by sending a PR for [./docs/CVE.md](./docs/CVE.md).
68+
69+
- JavaScriptCore: CVE-2018-4464, CVE-2018-4437, CVE-2018-4378, CVE-2018-4372
70+
71+
# Authors
72+
This research project has been conducted by [SoftSec Lab](https://softsec.kaist.ac.kr) at KAIST.
73+
* [HyungSeok Han](http://daramg.gift/)
74+
* [DongHyeon Oh](https://zanywhale.com/)
75+
* [Sang Kil Cha](https://softsec.kaist.ac.kr/~sangkilc/)
76+
77+
78+
# Citation
79+
If you plan to use CodeAlchemist in your own research. Please consider citing
80+
our [paper](https://daramg.gift/paper/han-ndss2019.pdf):
81+
```
82+
@INPROCEEDINGS{han:ndss:2019,
83+
author = {HyungSeok Han and DongHyeon Oh and Sang Kil Cha},
84+
title = {{CodeAlchemist}: Semantics-Aware Code Generation to Find Vulnerabilities in JavaScript Engines},
85+
booktitle = ndss,
86+
year = 2019
87+
}
88+
```

conf/Chakra.conf

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
{
2+
"engine": "Chakra",
3+
"timeout": 30,
4+
"engine_path": "/path/to/ch",
5+
"argv": [],
6+
"env": { },
7+
"preproc_dir": "/path/to/pre",
8+
"tmp_dir": "/path/to/tmp",
9+
"bug_dir": "/path/to/bug",
10+
"built-ins": [
11+
"NaN", "Infinity", "undefined", "eval", "parseInt", "parseFloat", "isNaN",
12+
"isFinite", "decodeURI", "decodeURIComponent", "encodeURI",
13+
"encodeURIComponent", "escape", "unescape", "Object", "Array", "Boolean",
14+
"Symbol", "Proxy", "Reflect", "Promise", "Date", "Function", "Math",
15+
"Number", "String", "RegExp", "ArrayBuffer", "DataView", "Int8Array",
16+
"Uint8Array", "Uint8ClampedArray", "Int16Array", "Uint16Array",
17+
"Int32Array", "Uint32Array", "Float32Array", "Float64Array", "JSON", "Intl",
18+
"Map", "Set", "WeakMap", "WeakSet", "Error", "EvalError", "RangeError",
19+
"ReferenceError", "SyntaxError", "TypeError", "URIError", "WebAssembly",
20+
"WScript", "print", "read", "readbuffer", "readline", "console"
21+
],
22+
"filters": [
23+
"load", "assert", "eval", "shouldBeFalse", "shouldNotThrow", "shouldBe",
24+
"shouldBeNull", "shouldBeUndefined", "shouldThrow", "shouldBeTrue",
25+
"shouldBeEqualToString", "crash" , "$ERROR", "Test", "tryItOut", "Function",
26+
"read", "readbuffer", "readline", "console"
27+
],
28+
"jobs": 56
29+
}

conf/JSC.conf

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
{
2+
"engine": "JSC",
3+
"timeout": 30,
4+
"engine_path": "/path/to/jsc",
5+
"argv": [],
6+
"env": { },
7+
"seed_path": "/path/to/seed",
8+
"preproc_dir": "/path/to/pre",
9+
"tmp_dir": "/path/to/tmp",
10+
"bug_dir": "/path/to/bug",
11+
"built-ins": [
12+
"NaN", "Infinity", "undefined", "isNaN", "isFinite", "escape", "unescape",
13+
"decodeURI", "decodeURIComponent", "encodeURI", "encodeURIComponent",
14+
"EvalError", "ReferenceError", "SyntaxError", "URIError", "Proxy", "JSON",
15+
"Math", "console", "Int8Array", "Int16Array", "Int32Array", "Uint8Array",
16+
"Uint8ClampedArray", "Uint16Array", "Uint32Array", "Float32Array",
17+
"Float64Array", "DataView", "Date", "Boolean", "Number", "WeakMap",
18+
"WeakSet", "parseInt", "parseFloat", "Object", "Function", "Array",
19+
"RegExp", "RangeError", "TypeError", "ArrayBuffer", "String", "Symbol",
20+
"Error", "Map", "Set", "Promise", "eval", "Intl", "Reflect", "WebAssembly",
21+
"debug", "describe", "describeArray", "print", "printErr", "quit", "gc",
22+
"fullGC", "edenGC", "forceGCSlowPaths", "gcHeapSize", "addressOf",
23+
"version", "run", "runString", "load", "loadString", "readFile", "read",
24+
"checkSyntax", "sleepSeconds", "jscStack", "readline", "preciseTime",
25+
"neverInlineFunction", "noInline", "noDFG", "noFTL", "noOSRExitFuzzing",
26+
"numberOfDFGCompiles", "jscOptions", "optimizeNextInvocation",
27+
"reoptimizationRetryCount", "transferArrayBuffer", "failNextNewCodeBlock",
28+
"OSRExit", "isFinalTier", "predictInt32", "isInt32", "fiatInt52",
29+
"effectful42", "makeMasquerader", "hasCustomProperties",
30+
"createGlobalObject", "dumpTypesForAllVariables", "drainMicrotasks",
31+
"getRandomSeed", "setRandomSeed", "isRope", "callerSourceOrigin",
32+
"is32BitPlatform", "loadModule", "checkModuleSyntax",
33+
"platformSupportsSamplingProfiler", "generateHeapSnapshot",
34+
"resetSuperSamplerState", "ensureArrayStorage", "startSamplingProfiler",
35+
"samplingProfilerStackTraces", "maxArguments", "asyncTestStart",
36+
"asyncTestPassed", "WebAssemblyMemoryMode", "$", "$262", "waitForReport",
37+
"heapCapacity", "flashHeapAccess", "disableRichSourceInfo", "mallocInALoop"
38+
],
39+
"filters": [
40+
"load", "assert", "eval", "shouldBeFalse", "shouldNotThrow", "shouldBe",
41+
"shouldBeNull", "shouldBeUndefined", "shouldThrow", "shouldBeTrue",
42+
"shouldBeEqualToString", "crash" , "$ERROR", "Test", "tryItOut", "WScript",
43+
"Function", "checkSyntax", "run", "read", "readFile", "readline", "console"
44+
],
45+
"jobs": 56
46+
}

conf/MOZ.conf

Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
{
2+
"engine": "MOZ",
3+
"timeout": 30,
4+
"engine_path": "/path/to/moz",
5+
"argv": [],
6+
"env": { },
7+
"preproc_dir": "/path/to/pre",
8+
"tmp_dir": "/path/to/tmp",
9+
"bug_dir": "/path/to/bug",
10+
"built-ins": [
11+
"undefined", "Boolean", "JSON", "Date", "Math", "Number", "String",
12+
"RegExp", "InternalError", "EvalError", "RangeError", "ReferenceError",
13+
"SyntaxError", "TypeError", "URIError", "ArrayBuffer", "Int8Array",
14+
"Uint8Array", "Int16Array", "Uint16Array", "Int32Array", "Uint32Array",
15+
"Float32Array", "Float64Array", "Uint8ClampedArray", "Proxy", "WeakMap",
16+
"Map", "Set", "DataView", "Symbol", "SharedArrayBuffer", "Intl", "WeakSet",
17+
"Atomics", "Promise", "WebAssembly", "NaN", "Infinity", "isNaN", "isFinite",
18+
"parseFloat", "parseInt", "escape", "unescape", "decodeURI", "encodeURI",
19+
"decodeURIComponent", "encodeURIComponent", "uneval", "Function", "Object",
20+
"eval", "Reflect", "Debugger", "Error", "PerfMeasurement", "clone",
21+
"options", "load", "loadRelativeToScript", "evaluate", "run", "readline",
22+
"readlineBuf", "print", "printErr", "putstr", "dateNow", "help", "quit",
23+
"assertEq", "startTimingMutator", "stopTimingMutator", "throwError",
24+
"intern", "getslx", "evalcx", "evalInWorker", "getSharedArrayBuffer",
25+
"setSharedArrayBuffer", "shapeOf", "groupOf",
26+
"unwrappedObjectsHaveSameShape", "sleep", "compile", "parseModule",
27+
"setModuleResolveHook", "getModuleLoadPath", "parse", "syntaxParse",
28+
"offThreadCompileScript", "runOffThreadScript", "offThreadCompileModule",
29+
"finishOffThreadModule", "offThreadDecodeScript",
30+
"runOffThreadDecodedScript", "timeout", "interruptIf",
31+
"invokeInterruptCallback", "setInterruptCallback", "enableLastWarning",
32+
"disableLastWarning", "getLastWarning", "clearLastWarning", "elapsed",
33+
"decompileFunction", "decompileThis", "thisFilename", "newGlobal",
34+
"nukeCCW", "nukeAllCCWs", "wrapWithProto", "createMappedArrayBuffer",
35+
"addPromiseReactions", "getMaxArgs", "createIsHTMLDDA", "isCachingEnabled",
36+
"setCachingEnabled", "cacheEntry", "printProfilerEvents",
37+
"enableSingleStepProfiling", "disableSingleStepProfiling",
38+
"enableGeckoProfiling", "enableGeckoProfilingWithSlowAssertions",
39+
"disableGeckoProfiling", "isLatin1", "unboxedObjectsEnabled",
40+
"isUnboxedObject", "hasCopyOnWriteElements", "stackPointerInfo",
41+
"entryPoints", "enqueueJob", "drainJobQueue",
42+
"setPromiseRejectionTrackerCallback", "dumpScopeChain", "grayRoot",
43+
"addMarkObservers", "clearMarkObservers", "getMarks", "bindToAsyncStack",
44+
"addIntlExtras", "getErrorNotes", "setTimeZone", "gc", "minorgc", "gcparam",
45+
"relazifyFunctions", "getBuildConfiguration", "hasChild",
46+
"setSavedStacksRNGState", "getSavedFrameCount", "clearSavedFrames",
47+
"saveStack", "captureFirstSubsumedFrame", "callFunctionFromNativeFrame",
48+
"callFunctionWithAsyncStack", "enableTrackAllocations",
49+
"disableTrackAllocations", "newExternalString", "newMaybeExternalString",
50+
"ensureFlatString", "representativeStringArray", "settlePromiseNow",
51+
"getWaitForAllPromise", "resolvePromise", "rejectPromise",
52+
"streamsAreEnabled", "makeFinalizeObserver", "finalizeCount",
53+
"resetFinalizeCount", "gcPreserveCode", "startgc", "gcslice", "abortgc",
54+
"fullcompartmentchecks", "nondeterministicGetWeakMapKeys", "internalConst",
55+
"isProxy", "dumpHeap", "terminate", "readGeckoProfilingStack",
56+
"enableOsiPointRegisterChecks", "displayName",
57+
"isAsmJSCompilationAvailable", "isSimdAvailable", "getJitCompilerOptions",
58+
"isAsmJSModule", "isAsmJSModuleLoadedFromCache", "isAsmJSFunction",
59+
"wasmIsSupported", "wasmIsSupportedByHardware", "wasmDebuggingIsSupported",
60+
"wasmThreadsSupported", "wasmSignExtensionSupported",
61+
"wasmSaturatingTruncationSupported", "wasmCompileMode", "wasmTextToBinary",
62+
"wasmBinaryToText", "wasmExtractCode", "wasmHasTier2CompilationCompleted",
63+
"wasmGcEnabled", "isLazyFunction", "isRelazifiableFunction",
64+
"enableShellAllocationMetadataBuilder", "getAllocationMetadata", "bailout",
65+
"bailAfter", "inJit", "inIon", "assertJitStackInvariants",
66+
"setJitCompilerOption", "setIonCheckGraphCoherency", "serialize",
67+
"deserialize", "detachArrayBuffer", "helperThreadCount",
68+
"enableShapeConsistencyChecks", "reportOutOfMemory", "throwOutOfMemory",
69+
"reportLargeAllocationFailure", "findPath", "shortestPaths",
70+
"sharedMemoryEnabled", "sharedArrayRawBufferCount",
71+
"sharedArrayRawBufferRefcount", "evalReturningScope",
72+
"cloneAndExecuteScript", "backtrace", "getBacktrace", "byteSize",
73+
"byteSizeOfScript", "setImmutablePrototype", "setLazyParsingDisabled",
74+
"setDiscardSource", "getConstructorName", "allocationMarker",
75+
"setGCCallback", "getLcovInfo", "getModuleEnvironmentNames",
76+
"getModuleEnvironmentValue", "timeSinceCreation", "isConstructor",
77+
"isLegacyIterator", "getTimeZone", "setTimeResolution", "baselineCompile",
78+
"timesAccessed", "getSelfHostedValue", "line2pc", "pc2line", "nestedShell",
79+
"assertFloat32", "assertRecoveredOnBailout", "withSourceHook",
80+
"trackedOpts", "crash", "setARMHwCapFlags", "wasmLoop",
81+
"setBufferStreamParams", "console", "read", "snarf", "readRelativeToScript",
82+
"redirect", "redirectErr", "performance", "FakeDOMObject", "Array",
83+
"scriptArgs", "scriptPath"
84+
],
85+
"filters": [
86+
"load", "assert", "eval", "shouldBeFalse", "shouldNotThrow", "shouldBe",
87+
"shouldBeNull", "shouldBeUndefined", "shouldThrow", "shouldBeTrue",
88+
"shouldBeEqualToString", "crash" , "$ERROR", "Test", "tryItOut", "WScript",
89+
"Function", "run", "readline", "readlineBuf", "read", "console"
90+
],
91+
"jobs": 56
92+
}

0 commit comments

Comments
 (0)