Rename Mutex to DeprecatedMutex
[WebKit-https.git] / Source / JavaScriptCore / features.json
1 {
2     "specification": [
3     {
4         "name": "ES6",
5         "url": "http://wiki.ecmascript.org/doku.php?id=harmony:specification_drafts",
6         "keywords": ["es6", "es2015", "ecmascript"]
7     },
8     {
9         "name": "ES7",
10         "url": "https://github.com/tc39/ecma262",
11         "keywords": ["es7", "ecmascript"]
12     }
13     ],
14
15     "features": [
16     {
17         "name": "ASM.js",
18         "status": {
19             "status": "Continuously improving",
20             "enabled-by-default": true
21         },
22         "url": "http://asmjs.org",
23         "description": "ASM.js defines a subset of JavaScript that enforce stronger typing and has specific patterns of memory access. ASM.js is rarely hand-written, it is typically generated from other languages by compiler such as Emscripten.",
24         "comment": "There is no \"use asm\" mode in JavaScriptCore. Instead WebKit integrates ASM.js optimizations directly in the optimizer. As a result, it is possible to mix ASM-style typing with regular code and still get great performance and power efficiency."
25     },
26     {
27         "name": "Array.prototype.copyWithin",
28         "status": {
29             "status": "Done",
30             "enabled-by-default": true
31         },
32         "url": "https://people.mozilla.org/~jorendorff/es6-draft.html#sec-array.prototype.copywithin",
33         "documentation-url": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/copyWithin",
34         "webkit-url": "https://bugs.webkit.org/show_bug.cgi?id=145107",
35         "specification": "ES6",
36         "contact": {
37             "name": "Yusuke Suzuki",
38             "email": "utatane.tea@gmail.com"
39         }
40     },
41     {
42         "name": "Array.prototype.includes",
43         "status": {
44             "status": "Done",
45             "enabled-by-default": true
46         },
47         "url": "https://github.com/tc39/Array.prototype.includes",
48         "documentation-url": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/includes",
49         "webkit-url": "https://bugs.webkit.org/show_bug.cgi?id=142707",
50         "specification": "ES7"
51     },
52     {
53         "name": "Classes",
54         "status": {
55             "status": "Done",
56             "enabled-by-default": true
57         },
58         "url": "https://people.mozilla.org/~jorendorff/es6-draft.html#sec-class-definitions",
59         "documentation-url": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes",
60         "webkit-url": "https://bugs.webkit.org/show_bug.cgi?id=142774",
61         "specification": "ES6",
62         "description": "The new class syntax of ES6 provides a new syntax to define and extend JavaScript objects. The class syntax is a new notation, objects still use prototypal inheritance."
63     },
64     {
65         "name": "Map data structure",
66         "status": {
67             "status": "Done",
68             "enabled-by-default": true
69         },
70         "url": "http://people.mozilla.org/~jorendorff/es6-draft.html#sec-map-constructor",
71         "documentation-url": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map",
72         "webkit-url": "https://bugs.webkit.org/show_bug.cgi?id=120333",
73         "description": "Map provides an <a href=\"https://en.wikipedia.org/wiki/Associative_array\">associative array data</a> structure that maps keys to values.",
74         "specification": "ES6"
75     },
76     {
77         "name": "Number extensions (ES6)",
78         "status": {
79             "status": "Done",
80             "enabled-by-default": true
81         },
82         "url": "http://people.mozilla.org/~jorendorff/es6-draft.html#sec-number-objects",
83         "documentation-url": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number",
84         "webkit-url": "https://bugs.webkit.org/show_bug.cgi?id=131707",
85         "specification": "ES6",
86         "description": "ES6 extend Number with the methods Number.isFinite(), Number.isInteger(), Number.isSafeInteger(), Number.isNaN() and the attributes Number.EPSILON, Number.MIN_SAFE_INTEGER, Number.MAX_SAFE_INTEGER."
87     },
88     {
89         "name": "Octal and binary literals",
90         "status": {
91             "status": "Done",
92             "enabled-by-default": true
93         },
94         "url": "https://people.mozilla.org/~jorendorff/es6-draft.html#sec-literals-numeric-literals",
95         "webkit-url": "https://bugs.webkit.org/show_bug.cgi?id=142681",
96         "specification": "ES6",
97         "description": "New syntax for number literals. Numbers can be provided as binary (e.g. 0b001001) or octal (e.g. 0o24)."
98     },
99     {
100         "name": "Promise Objects",
101         "status": {
102             "status": "Done",
103             "enabled-by-default": true,
104             "shipped": ["ios8-safari", "osx-safari-7.1"]
105         },
106         "url": "https://people.mozilla.org/~jorendorff/es6-draft.html#sec-promise-objects",
107         "documentation-url": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise",
108         "webkit-url": "https://bugs.webkit.org/show_bug.cgi?id=120260",
109         "specification": "ES6"
110     },
111     {
112         "name": "Set data structure",
113         "status": {
114             "status": "Done",
115             "enabled-by-default": true
116         },
117         "url": "https://people.mozilla.org/~jorendorff/es6-draft.html#sec-set-constructor",
118         "documentation-url": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set",
119         "webkit-url": "https://bugs.webkit.org/show_bug.cgi?id=120549",
120         "description": "Set is a collection of unique objects.",
121         "specification": "ES6"
122     },
123     {
124         "name": "Symbol Objects",
125         "status": {
126             "status": "Done",
127             "enabled-by-default": true
128         },
129         "url": "https://people.mozilla.org/~jorendorff/es6-draft.html#sec-symbol-objects",
130         "documentation-url": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol",
131         "webkit-url": "https://bugs.webkit.org/show_bug.cgi?id=140435",
132         "specification": "ES6",
133         "contact": {
134             "name": "Yusuke Suzuki",
135             "email": "utatane.tea@gmail.com"
136         }
137     },
138     {
139         "name": "Tagged templates",
140         "status": {
141             "status": "Done",
142             "enabled-by-default": true
143         },
144         "url": "http://people.mozilla.org/~jorendorff/es6-draft.html#sec-tagged-templates",
145         "documentation-url": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/template_strings",
146         "webkit-url": "https://bugs.webkit.org/show_bug.cgi?id=143183",
147         "description": "The tagged-templates (like String.raw`Hello ${World}`) provides a way to modify the produced string from a given template-literals with a function.",
148         "specification": "ES6",
149         "contact": {
150             "name": "Yusuke Suzuki",
151             "email": "utatane.tea@gmail.com"
152         }
153     },
154     {
155         "name": "Template literals",
156         "status": {
157             "status": "Done",
158             "enabled-by-default": true
159         },
160         "url": "http://people.mozilla.org/~jorendorff/es6-draft.html#sec-template-literals",
161         "documentation-url": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/template_strings",
162         "webkit-url": "https://bugs.webkit.org/show_bug.cgi?id=142691",
163         "description": "The template-literals (like `Hello ${World}`) provides string interpolation feature. Line terminators are also allowed in the template-literals.",
164         "specification": "ES6",
165         "contact": {
166             "name": "Yusuke Suzuki",
167             "email": "utatane.tea@gmail.com"
168         }
169     },
170     {
171         "name": "WeakMap",
172         "status": {
173             "status": "Done",
174             "enabled-by-default": true
175         },
176         "url": "http://people.mozilla.org/~jorendorff/es6-draft.html#sec-weakmap-objects",
177         "documentation-url": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakMap",
178         "webkit-url": "https://bugs.webkit.org/show_bug.cgi?id=120912",
179         "description": "WeakMap provides an <a href=\"https://en.wikipedia.org/wiki/Associative_array\">associative array data</a> structure that maps keys to values. WeakMap's keys must be objects.",
180         "specification": "ES6"
181     },
182     {
183         "name": "WeakSet",
184         "status": {
185             "status": "Done",
186             "enabled-by-default": true
187         },
188         "url": "http://people.mozilla.org/~jorendorff/es6-draft.html#sec-weakset-objects",
189         "documentation-url": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakSet",
190         "webkit-url": "https://bugs.webkit.org/show_bug.cgi?id=142408",
191         "description": "WeakSet is a collection of unique objects. Keys stored in WeakSet are referenced weakly.",
192         "specification": "ES6",
193         "contact": {
194             "name": "Yusuke Suzuki",
195             "email": "utatane.tea@gmail.com"
196         }
197     },
198     {
199         "name": "for...of loops",
200         "status": {
201             "status": "Done",
202             "enabled-by-default": true
203         },
204         "url": "http://people.mozilla.org/~jorendorff/es6-draft.html#sec-for-in-and-for-of-statements",
205         "documentation-url": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for...of",
206         "description": "The for...of loops iterate over the values provided by the iterator of the target object.",
207         "specification": "ES6",
208         "comment": "Older versions of WebKit only supported iterating JavaScript arrays."
209     }
210     ]
211 }