<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[204851] trunk/JSTests</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/204851">204851</a></dd>
<dt>Author</dt> <dd>keith_miller@apple.com</dd>
<dt>Date</dt> <dd>2016-08-23 12:23:55 -0700 (Tue, 23 Aug 2016)</dd>
</dl>

<h3>Log Message</h3>
<pre>Update/add new test262 tests
https://bugs.webkit.org/show_bug.cgi?id=161098

Reviewed by Saam Barati.

* test262.yaml:
* test262/test/annexB/language/statements/for-in/bare-initializer.js: Added.
* test262/test/annexB/language/statements/for-in/const-initializer.js: Added.
* test262/test/annexB/language/statements/for-in/let-initializer.js: Added.
* test262/test/annexB/language/statements/for-in/nonstrict-initializer.js: Added.
(a):
* test262/test/annenxB/language/statements/for-in/strict-initializer.js: Added.
* test262/test/annexB/language/statements/for-in/var-arraybindingpattern-initializer.js: Added.
* test262/test/annexB/language/statements/for-in/var-objectbindingpattern-initializer.js: Added.
* test262/test/built-ins/AsyncFunction/AsyncFunction-construct.js: Added.
(AsyncFunction.async.foo):
* test262/test/built-ins/AsyncFunction/AsyncFunction-is-extensible.js: Added.
(AsyncFunction.async):
* test262/test/built-ins/AsyncFunction/AsyncFunction-is-subclass.js: Added.
(async.foo):
* test262/test/built-ins/AsyncFunction/AsyncFunction-length.js: Added.
(AsyncFunction.async.foo):
* test262/test/built-ins/AsyncFunction/AsyncFunction-name.js: Added.
(AsyncFunction.async.foo):
* test262/test/built-ins/AsyncFunction/AsyncFunction-prototype.js: Added.
(AsyncFunction.async.foo):
* test262/test/built-ins/AsyncFunction/AsyncFunction.js: Added.
(AsyncFunction.async.foo):
* test262/test/built-ins/AsyncFunction/AsyncFunctionPrototype-is-extensible.js: Added.
(AsyncFunction.async.foo):
* test262/test/built-ins/AsyncFunction/AsyncFunctionPrototype-prototype.js: Added.
(AsyncFunction.async.foo):
* test262/test/built-ins/AsyncFunction/AsyncFunctionPrototype-to-string.js: Added.
(AsyncFunction.async.foo):
* test262/test/built-ins/AsyncFunction/instance-construct.js: Added.
(async.foo):
* test262/test/built-ins/AsyncFunction/instance-has-name.js: Added.
(async.foo):
* test262/test/built-ins/AsyncFunction/instance-length.js: Added.
(async.l0):
(async.l1):
(async.l2):
* test262/test/built-ins/AsyncFunction/instance-prototype-property.js: Added.
(async.foo):
* test262/test/built-ins/AsyncFunction/is-not-a-global.js: Added.
* test262/test/built-ins/DataView/prototype/getFloat32/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/getFloat32/detached-buffer-after-integer-byteoffset.js.
* test262/test/built-ins/DataView/prototype/getFloat32/detached-buffer-before-outofrange-byteoffset.js:
* test262/test/built-ins/DataView/prototype/getFloat64/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/getFloat64/detached-buffer-after-integer-byteoffset.js.
* test262/test/built-ins/DataView/prototype/getFloat64/detached-buffer-before-outofrange-byteoffset.js:
* test262/test/built-ins/DataView/prototype/getInt16/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/getInt16/detached-buffer-after-integer-byteoffset.js.
* test262/test/built-ins/DataView/prototype/getInt16/detached-buffer-before-outofrange-byteoffset.js:
* test262/test/built-ins/DataView/prototype/getInt32/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/getInt32/detached-buffer-after-integer-byteoffset.js.
* test262/test/built-ins/DataView/prototype/getInt32/detached-buffer-before-outofrange-byteoffset.js:
* test262/test/built-ins/DataView/prototype/getInt8/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/getInt8/detached-buffer-after-integer-byteoffset.js.
* test262/test/built-ins/DataView/prototype/getInt8/detached-buffer-before-outofrange-byteoffset.js:
* test262/test/built-ins/DataView/prototype/getUint16/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/getUint16/detached-buffer-after-integer-byteoffset.js.
* test262/test/built-ins/DataView/prototype/getUint16/detached-buffer-before-outofrange-byteoffset.js:
* test262/test/built-ins/DataView/prototype/getUint32/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/getUint32/detached-buffer-after-integer-byteoffset.js.
* test262/test/built-ins/DataView/prototype/getUint32/detached-buffer-before-outofrange-byteoffset.js:
* test262/test/built-ins/DataView/prototype/getUint8/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/getUint8/detached-buffer-after-integer-byteoffset.js.
* test262/test/built-ins/DataView/prototype/getUint8/detached-buffer-before-outofrange-byteoffset.js:
* test262/test/built-ins/DataView/prototype/setFloat32/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/setFloat32/detached-buffer-after-integer-byteoffset.js.
* test262/test/built-ins/DataView/prototype/setFloat32/detached-buffer-before-outofrange-byteoffset.js:
* test262/test/built-ins/DataView/prototype/setFloat32/index-check-before-value-conversion.js:
* test262/test/built-ins/DataView/prototype/setFloat32/range-check-after-value-conversion.js:
* test262/test/built-ins/DataView/prototype/setFloat64/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/setFloat64/detached-buffer-after-integer-byteoffset.js.
* test262/test/built-ins/DataView/prototype/setFloat64/detached-buffer-before-outofrange-byteoffset.js:
* test262/test/built-ins/DataView/prototype/setFloat64/index-check-before-value-conversion.js:
* test262/test/built-ins/DataView/prototype/setFloat64/range-check-after-value-conversion.js:
* test262/test/built-ins/DataView/prototype/setInt16/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/setInt16/detached-buffer-after-integer-byteoffset.js.
* test262/test/built-ins/DataView/prototype/setInt16/detached-buffer-before-outofrange-byteoffset.js:
* test262/test/built-ins/DataView/prototype/setInt16/index-check-before-value-conversion.js:
* test262/test/built-ins/DataView/prototype/setInt16/range-check-after-value-conversion.js:
* test262/test/built-ins/DataView/prototype/setInt32/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/setInt32/detached-buffer-after-integer-byteoffset.js.
* test262/test/built-ins/DataView/prototype/setInt32/detached-buffer-before-outofrange-byteoffset.js:
* test262/test/built-ins/DataView/prototype/setInt32/index-check-before-value-conversion.js:
* test262/test/built-ins/DataView/prototype/setInt32/range-check-after-value-conversion.js:
* test262/test/built-ins/DataView/prototype/setInt8/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/setInt8/detached-buffer-after-integer-byteoffset.js.
* test262/test/built-ins/DataView/prototype/setInt8/detached-buffer-before-outofrange-byteoffset.js:
* test262/test/built-ins/DataView/prototype/setInt8/index-check-before-value-conversion.js:
* test262/test/built-ins/DataView/prototype/setInt8/range-check-after-value-conversion.js:
* test262/test/built-ins/DataView/prototype/setUint16/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/setUint16/detached-buffer-after-integer-byteoffset.js.
* test262/test/built-ins/DataView/prototype/setUint16/detached-buffer-before-outofrange-byteoffset.js:
* test262/test/built-ins/DataView/prototype/setUint16/index-check-before-value-conversion.js:
* test262/test/built-ins/DataView/prototype/setUint16/range-check-after-value-conversion.js:
* test262/test/built-ins/DataView/prototype/setUint32/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/setUint32/detached-buffer-after-integer-byteoffset.js.
* test262/test/built-ins/DataView/prototype/setUint32/detached-buffer-before-outofrange-byteoffset.js:
* test262/test/built-ins/DataView/prototype/setUint32/index-check-before-value-conversion.js:
* test262/test/built-ins/DataView/prototype/setUint32/range-check-after-value-conversion.js:
* test262/test/built-ins/DataView/prototype/setUint8/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/setUint8/detached-buffer-after-integer-byteoffset.js.
* test262/test/built-ins/DataView/prototype/setUint8/detached-buffer-before-outofrange-byteoffset.js:
* test262/test/built-ins/DataView/prototype/setUint8/index-check-before-value-conversion.js:
* test262/test/built-ins/DataView/prototype/setUint8/range-check-after-value-conversion.js:
* test262/test/built-ins/Function/prototype/bind/instance-construct-newtarget-boundtarget-bound.js: Added.
(A):
* test262/test/built-ins/Function/prototype/bind/instance-construct-newtarget-boundtarget.js: Added.
(A):
* test262/test/built-ins/Function/prototype/bind/instance-construct-newtarget-self-new.js: Added.
(A):
* test262/test/built-ins/Function/prototype/bind/instance-construct-newtarget-self-reflect.js: Added.
(A):
* test262/test/built-ins/Function/prototype/toString/AsyncFunction.js: Added.
(async.f):
* test262/test/built-ins/Function/prototype/toString/async-function-declaration.js: Added.
(async.f):
* test262/test/built-ins/Function/prototype/toString/async-function-expression.js: Added.
(let.f.async.f):
* test262/test/built-ins/Function/prototype/toString/async-method.js: Added.
(let.f.async.f):
(let.g.async.string_appeared_here):
* test262/test/built-ins/JSON/parse/reviver-array-define-prop-err.js: Added.
(defineProperty):
* test262/test/built-ins/JSON/parse/reviver-array-delete-err.js: Added.
(deleteProperty):
* test262/test/built-ins/JSON/parse/reviver-array-length-coerce-err.js: Added.
(uncoercible.valueOf):
(get if):
* test262/test/built-ins/JSON/parse/reviver-array-length-get-err.js: Added.
(get if):
* test262/test/built-ins/JSON/parse/reviver-call-err.js: Added.
* test262/test/built-ins/JSON/parse/reviver-get-name-err.js: Added.
(thrower):
* test262/test/built-ins/JSON/parse/reviver-object-define-prop-err.js: Added.
(defineProperty):
* test262/test/built-ins/JSON/parse/reviver-object-delete-err.js: Added.
(deleteProperty):
* test262/test/built-ins/JSON/parse/reviver-object-own-keys-err.js: Added.
(ownKeys):
* test262/test/built-ins/Number/prototype/toExponential/infinity.js: Added.
* test262/test/built-ins/Number/prototype/toExponential/nan.js: Added.
* test262/test/built-ins/Number/prototype/toExponential/prop-desc.js: Added.
* test262/test/built-ins/Number/prototype/toExponential/return-abrupt-tointeger-fractiondigits-symbol.js: Added.
* test262/test/built-ins/Number/prototype/toExponential/return-abrupt-tointeger-fractiondigits.js: Added.
(fd1.valueOf):
(fd2.toString):
* test262/test/built-ins/Number/prototype/toExponential/return-values.js: Added.
* test262/test/built-ins/Number/prototype/toExponential/this-is-0-fractiondigits-is-0.js: Added.
* test262/test/built-ins/Number/prototype/toExponential/this-is-0-fractiondigits-is-not-0.js: Added.
* test262/test/built-ins/Number/prototype/toExponential/this-type-not-number-or-number-object.js: Added.
* test262/test/built-ins/Number/prototype/toExponential/tointeger-fractiondigits.js: Added.
* test262/test/built-ins/Number/prototype/toExponential/undefined-fractiondigits.js: Added.
* test262/test/built-ins/Object/getOwnPropertyDescriptors/duplicate-keys.js:
* test262/test/built-ins/Object/getOwnPropertyDescriptors/proxy-undefined-descriptor.js: Added.
(badProxyHandlers.allowProxyTraps.getOwnPropertyDescriptor):
(badProxyHandlers.allowProxyTraps.ownKeys):
* test262/test/built-ins/Proxy/setPrototypeOf/boolean-trap-result-extensible-target.js: Removed.
(setPrototypeOf): Deleted.
* test262/test/built-ins/Proxy/setPrototypeOf/internals-call-order.js: Added.
(target.new.Proxy.Object.create.isExtensible):
(target.new.Proxy.Object.create.getPrototypeOf):
(target.new.Proxy.Object.create):
(setPrototypeOf):
* test262/test/built-ins/Proxy/setPrototypeOf/not-extensible-target-not-same-target-prototype.js:
(setPrototypeOf):
* test262/test/built-ins/Proxy/setPrototypeOf/not-extensible-target-same-target-prototype.js:
(setPrototypeOf):
* test262/test/built-ins/Proxy/setPrototypeOf/not-extensible-trap-is-false-return-false.js: Removed.
(setPrototypeOf): Deleted.
* test262/test/built-ins/Proxy/setPrototypeOf/return-abrupt-from-get-trap.js: Added.
* test262/test/built-ins/Proxy/setPrototypeOf/return-abrupt-from-isextensible-target.js: Added.
(isExtensible):
(setPrototypeOf):
* test262/test/built-ins/Proxy/setPrototypeOf/return-abrupt-from-target-getprototypeof.js: Added.
(getPrototypeOf):
(setPrototypeOf):
* test262/test/built-ins/Proxy/setPrototypeOf/return-abrupt-from-trap.js: Renamed from JSTests/test262/test/built-ins/Proxy/setPrototypeOf/return-is-abrupt.js.
(setPrototypeOf):
* test262/test/built-ins/Proxy/setPrototypeOf/return-is-abrupt.js:
(setPrototypeOf): Deleted.
* test262/test/built-ins/Proxy/setPrototypeOf/toboolean-trap-result-false.js: Added.
(isExtensible):
(setPrototypeOf):
* test262/test/built-ins/Proxy/setPrototypeOf/toboolean-trap-result-true-target-is-extensible.js: Added.
(isExtensible):
(getPrototypeOf):
(setPrototypeOf):
* test262/test/built-ins/Proxy/setPrototypeOf/trap-is-not-callable.js:
* test262/test/built-ins/Proxy/setPrototypeOf/trap-is-undefined-or-null.js: Added.
(setPrototypeOf):
* test262/test/built-ins/Proxy/setPrototypeOf/trap-is-undefined.js: Removed.
* test262/test/built-ins/RegExp/lastIndex.js: Added.
* test262/test/built-ins/RegExp/prototype/global/15.10.7.2-1.js: Removed.
* test262/test/built-ins/RegExp/prototype/global/this-val-invalid-obj.js: Added.
(get Object):
* test262/test/built-ins/RegExp/prototype/global/this-val-non-obj.js: Added.
(get Object):
* test262/test/built-ins/RegExp/prototype/global/this-val-regexp-prototype.js: Added.
* test262/test/built-ins/RegExp/prototype/ignoreCase/15.10.7.3-1.js: Removed.
* test262/test/built-ins/RegExp/prototype/ignoreCase/this-val-invalid-obj.js: Added.
(get Object):
* test262/test/built-ins/RegExp/prototype/ignoreCase/this-val-non-obj.js: Added.
(get Object):
* test262/test/built-ins/RegExp/prototype/ignoreCase/this-val-regexp-prototype.js: Added.
* test262/test/built-ins/RegExp/prototype/lastIndex/15.10.7.5-1.js: Removed.
* test262/test/built-ins/RegExp/prototype/lastIndex/15.10.7.5-2.js: Removed.
* test262/test/built-ins/RegExp/prototype/lastIndex/S15.10.7.5_A8.js: Removed.
(__re.hasOwnProperty): Deleted.
(__re.propertyIsEnumerable): Deleted.
(count.0): Deleted.
* test262/test/built-ins/RegExp/prototype/lastIndex/S15.10.7.5_A9.js: Removed.
(__re.hasOwnProperty): Deleted.
(catch): Deleted.
* test262/test/built-ins/RegExp/prototype/multiline/15.10.7.4-1.js: Removed.
* test262/test/built-ins/RegExp/prototype/multiline/this-val-invalid-obj.js: Added.
(get Object):
* test262/test/built-ins/RegExp/prototype/multiline/this-val-non-obj.js: Added.
(get Object):
* test262/test/built-ins/RegExp/prototype/multiline/this-val-regexp-prototype.js: Added.
* test262/test/built-ins/RegExp/prototype/no-regexp-matcher.js: Added.
* test262/test/built-ins/RegExp/prototype/source/15.10.7.1-1.js: Removed.
* test262/test/built-ins/RegExp/prototype/source/this-val-invalid-obj.js: Added.
(get Object):
* test262/test/built-ins/RegExp/prototype/source/this-val-non-obj.js: Added.
(get Object):
* test262/test/built-ins/RegExp/prototype/source/this-val-regexp-prototype.js: Added.
* test262/test/built-ins/RegExp/prototype/source/value-empty.js: Added.
* test262/test/built-ins/RegExp/prototype/source/value-line-terminator.js: Added.
* test262/test/built-ins/RegExp/prototype/source/value-u.js: Added.
* test262/test/built-ins/RegExp/prototype/source/value.js: Added.
* test262/test/built-ins/RegExp/prototype/sticky/this-val-invalid-obj.js: Renamed from JSTests/test262/test/built-ins/RegExp/prototype/sticky/this-invalid-obj.js.
* test262/test/built-ins/RegExp/prototype/sticky/this-val-non-obj.js: Renamed from JSTests/test262/test/built-ins/RegExp/prototype/sticky/this-non-obj.js.
* test262/test/built-ins/RegExp/prototype/sticky/this-val-regexp-prototype.js: Added.
* test262/test/built-ins/RegExp/prototype/sticky/this-val-regexp.js: Renamed from JSTests/test262/test/built-ins/RegExp/prototype/sticky/this-regexp.js.
* test262/test/built-ins/RegExp/prototype/unicode/this-val-invalid-obj.js: Renamed from JSTests/test262/test/built-ins/RegExp/prototype/unicode/this-invald-obj.js.
* test262/test/built-ins/RegExp/prototype/unicode/this-val-non-obj.js: Renamed from JSTests/test262/test/built-ins/RegExp/prototype/unicode/this-non-obj.js.
* test262/test/built-ins/RegExp/prototype/unicode/this-val-regexp-prototype.js: Added.
* test262/test/built-ins/RegExp/prototype/unicode/this-val-regexp.js: Renamed from JSTests/test262/test/built-ins/RegExp/prototype/unicode/this-regexp.js.
* test262/test/built-ins/String/numeric-properties.js: Added.
* test262/test/intl402/DateTimeFormat/prototype/formatToParts/date-is-infinity-throws.js: Added.
* test262/test/intl402/DateTimeFormat/prototype/formatToParts/date-is-nan-throws.js: Added.
* test262/test/intl402/DateTimeFormat/prototype/formatToParts/formatToParts.js: Added.
* test262/test/intl402/DateTimeFormat/prototype/formatToParts/length.js: Added.
* test262/test/intl402/DateTimeFormat/prototype/formatToParts/main.js: Added.
(reduce):
(compareFTPtoFormat):
* test262/test/intl402/DateTimeFormat/prototype/formatToParts/name.js: Added.
* test262/test/intl402/DateTimeFormat/prototype/formatToParts/return-abrupt-tonumber-date.js: Added.
(obj1.valueOf):
(obj2.toString):
* test262/test/intl402/DateTimeFormat/prototype/formatToParts/this-has-not-internal-throws.js: Added.
* test262/test/intl402/DateTimeFormat/prototype/formatToParts/this-is-not-object-throws.js: Added.
* test262/test/intl402/NumberFormat/prototype/formatToParts/formatToParts.js: Added.
* test262/test/intl402/NumberFormat/prototype/formatToParts/length.js: Added.
* test262/test/intl402/NumberFormat/prototype/formatToParts/main.js: Added.
(reduce):
(compareFTPtoFormat):
* test262/test/intl402/NumberFormat/prototype/formatToParts/name.js: Added.
* test262/test/intl402/NumberFormat/prototype/formatToParts/return-abrupt-tonumber.js: Added.
(obj1.valueOf):
(obj2.toString):
* test262/test/intl402/NumberFormat/prototype/formatToParts/this-has-not-internal-throws.js: Added.
* test262/test/intl402/NumberFormat/prototype/formatToParts/this-is-not-object-throws.js: Added.
* test262/test/language/arguments-object/10.6-10-c-ii-2-s.js:
(foo): Deleted.
* test262/test/language/arguments-object/unmapped/via-params-dflt.js: Added.
(dflt):
* test262/test/language/arguments-object/unmapped/via-params-dstr.js: Added.
(dstr):
* test262/test/language/arguments-object/unmapped/via-params-rest.js: Added.
(rest):
* test262/test/language/arguments-object/unmapped/via-strict.js: Renamed from JSTests/test262/test/language/arguments-object/10.6-10-c-ii-2-s.js.
(foo):
* test262/test/language/block-scope/syntax/redeclaration-global/allowed-to-redeclare-function-declaration-with-function-declaration.js:
(f): Deleted.
* test262/test/language/eval-code/direct/super-call-arrow.js: Added.
(catch):
* test262/test/language/eval-code/direct/super-call-fn.js: Added.
(f):
* test262/test/language/eval-code/direct/super-call.js: Added.
(catch):
* test262/test/language/eval-code/direct/super-prop-arrow.js: Added.
(catch):
* test262/test/language/eval-code/direct/super-prop-method.js: Added.
(o.method):
* test262/test/language/eval-code/direct/super-prop.js: Added.
(catch):
* test262/test/language/eval-code/indirect/super-call.js: Added.
(catch):
(try.m):
* test262/test/language/eval-code/indirect/super-prop.js: Added.
(catch):
(try.m):
* test262/test/language/expressions/arrow-function/params-trailing-comma-length.js: Added.
(assert.sameValue):
* test262/test/language/expressions/arrow-function/params-trailing-comma.js: Added.
* test262/test/language/expressions/async-arrow-function/arrow-returns-promise.js: Added.
(p.then):
* test262/test/language/expressions/async-arrow-function/early-errors-arrow-NSPL-with-USD.js: Added.
(async):
* test262/test/language/expressions/async-arrow-function/early-errors-arrow-arguments-in-formal-parameters.js: Added.
(async):
* test262/test/language/expressions/async-arrow-function/early-errors-arrow-await-in-formals-default.js: Added.
(async):
* test262/test/language/expressions/async-arrow-function/early-errors-arrow-await-in-formals.js: Added.
(async):
* test262/test/language/expressions/async-arrow-function/early-errors-arrow-body-contains-super-call.js: Added.
(async):
* test262/test/language/expressions/async-arrow-function/early-errors-arrow-body-contains-super-property.js: Added.
(async):
* test262/test/language/expressions/async-arrow-function/early-errors-arrow-duplicate-parameters.js: Added.
(async):
* test262/test/language/expressions/async-arrow-function/early-errors-arrow-eval-in-formal-parameters.js: Added.
(async):
* test262/test/language/expressions/async-arrow-function/early-errors-arrow-formals-body-duplicate.js: Added.
(async):
* test262/test/language/expressions/async-arrow-function/early-errors-arrow-formals-contains-super-call.js: Added.
(async.foo.super):
* test262/test/language/expressions/async-arrow-function/early-errors-arrow-formals-contains-super-property.js: Added.
(async):
* test262/test/language/expressions/async-function/early-errors-expression-NSPL-with-USD.js: Added.
(async):
* test262/test/language/expressions/async-function/early-errors-expression-binding-identifier-arguments.js: Added.
(async.arguments):
* test262/test/language/expressions/async-function/early-errors-expression-binding-identifier-eval.js: Added.
(async.eval):
* test262/test/language/expressions/async-function/early-errors-expression-body-contains-super-call.js: Added.
(async.foo):
* test262/test/language/expressions/async-function/early-errors-expression-body-contains-super-property.js: Added.
(async.foo):
* test262/test/language/expressions/async-function/early-errors-expression-eval-in-formal-parameters.js: Added.
(async.foo):
* test262/test/language/expressions/async-function/early-errors-expression-formals-body-duplicate.js: Added.
(async.foo):
* test262/test/language/expressions/async-function/early-errors-expression-formals-contains-super-call.js: Added.
(async.foo):
* test262/test/language/expressions/async-function/early-errors-expression-formals-contains-super-property.js: Added.
(async.foo):
* test262/test/language/expressions/async-function/early-errors-expression-not-simple-assignment-target.js: Added.
(async.foo):
* test262/test/language/expressions/async-function/expression-returns-promise.js: Added.
(p.async):
* test262/test/language/expressions/async-function/syntax-expression-is-PrimaryExpression.js: Added.
(async.foo):
* test262/test/language/expressions/await/await-BindingIdentifier-in-global.js: Added.
(async.await):
* test262/test/language/expressions/await/await-BindingIdentifier-nested.js: Added.
(async.foo.await):
(async.foo):
* test262/test/language/expressions/await/await-awaits-thenable-not-callable.js: Added.
(async.foo):
* test262/test/language/expressions/await/await-awaits-thenables-that-throw.js: Added.
(thenable.then):
(async.foo):
* test262/test/language/expressions/await/await-awaits-thenables.js: Added.
(thenable.then):
(async.foo):
* test262/test/language/expressions/await/await-in-function.js: Added.
(foo):
* test262/test/language/expressions/await/await-in-generator.js: Added.
(foo):
* test262/test/language/expressions/await/await-in-global.js: Added.
* test262/test/language/expressions/await/await-in-nested-function.js: Added.
(async.foo.bar):
(async.foo):
* test262/test/language/expressions/await/await-in-nested-generator.js: Added.
(async.foo.bar):
(async.foo):
* test262/test/language/expressions/await/await-throws-rejections.js: Added.
(async.foo):
* test262/test/language/expressions/await/early-errors-await-not-simple-assignment-target.js: Added.
(async.foo):
* test262/test/language/expressions/await/no-operand.js: Added.
(async.foo):
* test262/test/language/expressions/await/syntax-await-has-UnaryExpression-with-MultiplicativeExpression.js: Added.
(async.foo):
* test262/test/language/expressions/await/syntax-await-has-UnaryExpression.js: Added.
(async.foo):
* test262/test/language/expressions/call/trailing-comma.js: Added.
(foo):
* test262/test/language/expressions/function/arguments-with-arguments-fn.js: Added.
(f):
* test262/test/language/expressions/function/arguments-with-arguments-lex.js: Added.
(f):
* test262/test/language/expressions/function/params-trailing-comma-arguments.js: Added.
(f1):
(f2):
* test262/test/language/expressions/function/params-trailing-comma-length.js: Added.
(assert.sameValue):
* test262/test/language/expressions/function/params-trailing-comma.js: Added.
* test262/test/language/expressions/generators/arguments-with-arguments-fn.js: Added.
(g):
* test262/test/language/expressions/generators/arguments-with-arguments-lex.js: Added.
(g):
* test262/test/language/expressions/generators/params-trailing-comma-arguments.js: Added.
(f1):
(f2):
* test262/test/language/expressions/generators/params-trailing-comma-length.js: Added.
(assert.sameValue):
* test262/test/language/expressions/generators/params-trailing-comma.js: Added.
* test262/test/language/expressions/object/computed-property-evaluation-order.js: Added.
* test262/test/language/expressions/object/method-definition/async-super-call-body.js: Added.
(sup.method):
(child.async.method):
* test262/test/language/expressions/object/method-definition/async-super-call-param.js: Added.
(sup.method):
(child.async.method.x.super.method):
* test262/test/language/expressions/object/method-definition/early-errors-object-method-NSPL-with-USD.js: Added.
(foo):
* test262/test/language/expressions/object/method-definition/early-errors-object-method-arguments-in-formal-parameters.js: Added.
(async.foo):
* test262/test/language/expressions/object/method-definition/early-errors-object-method-await-in-formals-default.js: Added.
(async.foo):
* test262/test/language/expressions/object/method-definition/early-errors-object-method-await-in-formals.js: Added.
(async.foo):
* test262/test/language/expressions/object/method-definition/early-errors-object-method-body-contains-super-call.js: Added.
(async.foo):
* test262/test/language/expressions/object/method-definition/early-errors-object-method-duplicate-parameters.js: Added.
(async.foo):
* test262/test/language/expressions/object/method-definition/early-errors-object-method-eval-in-formal-parameters.js: Added.
(async.foo):
* test262/test/language/expressions/object/method-definition/early-errors-object-method-formals-body-duplicate.js: Added.
(async.foo):
* test262/test/language/expressions/object/method-definition/early-errors-object-method-formals-contains-super-call.js: Added.
(async.foo.foo.super):
* test262/test/language/expressions/object/method-definition/object-method-returns-promise.js: Added.
(obj.async.method):
* test262/test/language/expressions/object/method-definition/params-trailing-comma-arguments.js: Added.
(obj.f1):
(obj.f2):
* test262/test/language/expressions/object/method-definition/params-trailing-comma-length.js: Added.
(obj.one):
(obj.two):
* test262/test/language/expressions/object/method-definition/params-trailing-comma-rest.js: Added.
(m):
* test262/test/language/expressions/object/method-definition/params-trailing-comma.js: Added.
(one):
(two):
* test262/test/language/global-code/decl-func-dup.js: Renamed from JSTests/test262/test/language/block-scope/syntax/redeclaration-global/allowed-to-redeclare-function-declaration-with-function-declaration.js.
(f):
* test262/test/language/global-code/decl-func.js: Added.
(brandNew):
* test262/test/language/global-code/decl-lex-configurable-global.js: Added.
* test262/test/language/global-code/decl-lex-deletion.js: Added.
(test262class):
* test262/test/language/global-code/decl-lex-restricted-global.js: Added.
* test262/test/language/global-code/decl-lex.js: Added.
(test262class):
* test262/test/language/global-code/decl-var.js: Added.
* test262/test/language/global-code/return.js: Added.
* test262/test/language/global-code/script-decl-func-dups.js: Added.
* test262/test/language/global-code/script-decl-func-err-non-configurable.js: Added.
* test262/test/language/global-code/script-decl-func-err-non-extensible.js: Added.
* test262/test/language/global-code/script-decl-func.js: Added.
* test262/test/language/global-code/script-decl-lex-deletion.js: Added.
* test262/test/language/global-code/script-decl-lex-lex.js: Added.
(test262Class):
* test262/test/language/global-code/script-decl-lex-restricted-global.js: Added.
* test262/test/language/global-code/script-decl-lex-var.js: Added.
(test262Fn):
* test262/test/language/global-code/script-decl-lex.js: Added.
* test262/test/language/global-code/script-decl-var-collision.js: Added.
(test262Class):
* test262/test/language/global-code/script-decl-var-err.js: Added.
* test262/test/language/global-code/script-decl-var.js: Added.
* test262/test/language/global-code/super-call-arrow.js: Added.
* test262/test/language/global-code/super-call.js: Added.
* test262/test/language/global-code/super-prop-arrow.js: Added.
* test262/test/language/global-code/super-prop.js: Added.
* test262/test/language/global-code/yield-non-strict.js: Added.
(catch):
* test262/test/language/global-code/yield-strict.js: Added.
* test262/test/language/literals/regexp/lastIndex.js: Added.
* test262/test/language/literals/regexp/u-unicode-esc-bounds.js:
* test262/test/language/literals/regexp/y-assertion-start.js: Added.
* test262/test/language/module-code/instn-star-err-not-found-faulty_FIXTURE.js:
* test262/test/language/module-code/instn-star-err-not-found.js:
* test262/test/language/module-code/namespace/internals/get-own-property-str-found-init.js:
* test262/test/language/module-code/parse-err-return.js: Added.
* test262/test/language/module-code/parse-err-yield.js: Added.
* test262/test/language/rest-parameters/params-trailing-comma-rest.js: Added.
* test262/test/language/statements/async-function/declaration-returns-promise.js: Added.
(async.foo):
* test262/test/language/statements/async-function/early-errors-declaration-NSPL-with-USD.js: Added.
(async.foo):
* test262/test/language/statements/async-function/early-errors-declaration-arguments-in-formal-parameters.js: Added.
(async.foo):
* test262/test/language/statements/async-function/early-errors-declaration-await-in-formals-default.js: Added.
(async.foo):
* test262/test/language/statements/async-function/early-errors-declaration-await-in-formals.js: Added.
(async.foo):
* test262/test/language/statements/async-function/early-errors-declaration-binding-identifier-arguments.js: Added.
(async.arguments):
* test262/test/language/statements/async-function/early-errors-declaration-binding-identifier-eval.js: Added.
(async.eval):
* test262/test/language/statements/async-function/early-errors-declaration-body-contains-super-call.js: Added.
(async.foo):
* test262/test/language/statements/async-function/early-errors-declaration-body-contains-super-property.js: Added.
(async.foo):
* test262/test/language/statements/async-function/early-errors-declaration-duplicate-parameters.js: Added.
(async.foo):
* test262/test/language/statements/async-function/early-errors-declaration-eval-in-formal-parameters.js: Added.
(async.foo):
* test262/test/language/statements/async-function/early-errors-declaration-formals-body-duplicate.js: Added.
(async.foo):
* test262/test/language/statements/async-function/early-errors-declaration-formals-contains-super-call.js: Added.
(async.foo):
* test262/test/language/statements/async-function/early-errors-declaration-formals-contains-super-property.js: Added.
(async.foo):
* test262/test/language/statements/async-function/early-errors-no-async-generator.js: Added.
(async.foo):
* test262/test/language/statements/async-function/evaluation-body-that-returns-after-await.js: Added.
(async.foo):
(foo.then):
* test262/test/language/statements/async-function/evaluation-body-that-returns.js: Added.
(async.foo):
(foo.then):
* test262/test/language/statements/async-function/evaluation-body-that-throws-after-await.js: Added.
(async.foo):
(foo.then):
* test262/test/language/statements/async-function/evaluation-body-that-throws.js: Added.
(async.foo):
(foo.then):
* test262/test/language/statements/async-function/evaluation-body.js: Added.
(async.foo):
* test262/test/language/statements/async-function/evaluation-default-that-throws.js: Added.
(async.foo):
(foo.then):
* test262/test/language/statements/async-function/evaluation-mapped-arguments.js: Added.
(async.foo):
* test262/test/language/statements/async-function/evaluation-this-value-global.js: Added.
(async.foo):
* test262/test/language/statements/async-function/evaluation-this-value-passed.js: Added.
(async.foo):
* test262/test/language/statements/async-function/evaluation-unmapped-arguments.js: Added.
(async.foo):
* test262/test/language/statements/async-function/syntax-declaration-line-terminators-allowed.js: Added.
(async.foo):
* test262/test/language/statements/async-function/syntax-declaration-no-line-terminator.js: Added.
(async.foo):
* test262/test/language/statements/async-function/syntax-declaration.js: Added.
(async.foo):
(foo.then):
* test262/test/language/statements/class/definition/class-method-returns-promise.js: Added.
(Foo.prototype.async.method):
(Foo):
* test262/test/language/statements/class/definition/early-errors-class-method-NSPL-with-USD.js: Added.
(Foo.prototype.async.bar):
(Foo):
* test262/test/language/statements/class/definition/early-errors-class-method-arguments-in-formal-parameters.js: Added.
(Foo.prototype.async.foo):
(Foo):
* test262/test/language/statements/class/definition/early-errors-class-method-await-in-formals-default.js: Added.
(Foo.prototype.async.foo):
(Foo):
* test262/test/language/statements/class/definition/early-errors-class-method-await-in-formals.js: Added.
(Foo.prototype.async.foo):
(Foo):
* test262/test/language/statements/class/definition/early-errors-class-method-body-contains-super-call.js: Added.
(Foo.prototype.async.foo):
(Foo):
* test262/test/language/statements/class/definition/early-errors-class-method-duplicate-parameters.js: Added.
(Foo.prototype.async.foo):
(Foo):
* test262/test/language/statements/class/definition/early-errors-class-method-eval-in-formal-parameters.js: Added.
(Foo.prototype.async.foo):
(Foo):
* test262/test/language/statements/class/definition/early-errors-class-method-formals-body-duplicate.js: Added.
(Foo.async.foo):
(Foo):
* test262/test/language/statements/class/definition/early-errors-class-method-formals-contains-super-call.js: Added.
(Foo.prototype.async.foo):
(Foo):
* test262/test/language/statements/class/definition/methods-async-super-call-body.js: Added.
(A.prototype.async.method):
(A):
(B.prototype.async.method):
(B):
* test262/test/language/statements/class/definition/methods-async-super-call-param.js: Added.
(A.prototype.async.method):
(A):
(B.prototype.async.method):
(B):
* test262/test/language/statements/class/definition/params-trailing-comma-arguments.js: Added.
(C.prototype.f1):
(C.prototype.f2):
(C):
* test262/test/language/statements/class/definition/params-trailing-comma-length.js: Added.
(C.prototype.one):
(C.prototype.two):
(C):
* test262/test/language/statements/class/definition/params-trailing-comma-rest.js: Added.
(C.prototype.m):
(C):
* test262/test/language/statements/class/definition/params-trailing-comma.js: Added.
(C.prototype.one):
(C.prototype.two):
(C):
* test262/test/language/statements/function/arguments-with-arguments-fn.js: Added.
(f):
* test262/test/language/statements/function/arguments-with-arguments-lex.js: Added.
(f):
* test262/test/language/statements/function/params-trailing-comma-arguments.js: Added.
(f1):
(f2):
* test262/test/language/statements/function/params-trailing-comma-length.js: Added.
(one):
(two):
* test262/test/language/statements/function/params-trailing-comma.js: Added.
(one):
(two):
* test262/test/language/statements/generators/arguments-with-arguments-fn.js: Added.
(g):
* test262/test/language/statements/generators/arguments-with-arguments-lex.js: Added.
(g):
* test262/test/language/statements/generators/params-trailing-comma-length.js: Added.
(one):
(two):
* test262/test/language/statements/generators/params-trailing-comma.js: Added.
(one):
(two):
* test262/test262-Revision.txt:</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkJSTestsChangeLog">trunk/JSTests/ChangeLog</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypegetFloat32detachedbufferbeforeoutofrangebyteoffsetjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/getFloat32/detached-buffer-before-outofrange-byteoffset.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypegetFloat64detachedbufferbeforeoutofrangebyteoffsetjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/getFloat64/detached-buffer-before-outofrange-byteoffset.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypegetInt16detachedbufferbeforeoutofrangebyteoffsetjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/getInt16/detached-buffer-before-outofrange-byteoffset.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypegetInt32detachedbufferbeforeoutofrangebyteoffsetjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/getInt32/detached-buffer-before-outofrange-byteoffset.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypegetInt8detachedbufferbeforeoutofrangebyteoffsetjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/getInt8/detached-buffer-before-outofrange-byteoffset.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypegetUint16detachedbufferbeforeoutofrangebyteoffsetjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/getUint16/detached-buffer-before-outofrange-byteoffset.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypegetUint32detachedbufferbeforeoutofrangebyteoffsetjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/getUint32/detached-buffer-before-outofrange-byteoffset.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypegetUint8detachedbufferbeforeoutofrangebyteoffsetjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/getUint8/detached-buffer-before-outofrange-byteoffset.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypesetFloat32detachedbufferbeforeoutofrangebyteoffsetjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/setFloat32/detached-buffer-before-outofrange-byteoffset.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypesetFloat32indexcheckbeforevalueconversionjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/setFloat32/index-check-before-value-conversion.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypesetFloat32rangecheckaftervalueconversionjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/setFloat32/range-check-after-value-conversion.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypesetFloat64detachedbufferbeforeoutofrangebyteoffsetjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/setFloat64/detached-buffer-before-outofrange-byteoffset.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypesetFloat64indexcheckbeforevalueconversionjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/setFloat64/index-check-before-value-conversion.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypesetFloat64rangecheckaftervalueconversionjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/setFloat64/range-check-after-value-conversion.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypesetInt16detachedbufferbeforeoutofrangebyteoffsetjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt16/detached-buffer-before-outofrange-byteoffset.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypesetInt16indexcheckbeforevalueconversionjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt16/index-check-before-value-conversion.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypesetInt16rangecheckaftervalueconversionjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt16/range-check-after-value-conversion.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypesetInt32detachedbufferbeforeoutofrangebyteoffsetjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt32/detached-buffer-before-outofrange-byteoffset.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypesetInt32indexcheckbeforevalueconversionjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt32/index-check-before-value-conversion.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypesetInt32rangecheckaftervalueconversionjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt32/range-check-after-value-conversion.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypesetInt8detachedbufferbeforeoutofrangebyteoffsetjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt8/detached-buffer-before-outofrange-byteoffset.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypesetInt8indexcheckbeforevalueconversionjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt8/index-check-before-value-conversion.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypesetInt8rangecheckaftervalueconversionjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt8/range-check-after-value-conversion.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypesetUint16detachedbufferbeforeoutofrangebyteoffsetjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint16/detached-buffer-before-outofrange-byteoffset.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypesetUint16indexcheckbeforevalueconversionjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint16/index-check-before-value-conversion.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypesetUint16rangecheckaftervalueconversionjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint16/range-check-after-value-conversion.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypesetUint32detachedbufferbeforeoutofrangebyteoffsetjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint32/detached-buffer-before-outofrange-byteoffset.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypesetUint32indexcheckbeforevalueconversionjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint32/index-check-before-value-conversion.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypesetUint32rangecheckaftervalueconversionjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint32/range-check-after-value-conversion.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypesetUint8detachedbufferbeforeoutofrangebyteoffsetjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint8/detached-buffer-before-outofrange-byteoffset.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypesetUint8indexcheckbeforevalueconversionjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint8/index-check-before-value-conversion.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypesetUint8rangecheckaftervalueconversionjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint8/range-check-after-value-conversion.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsObjectgetOwnPropertyDescriptorsduplicatekeysjs">trunk/JSTests/test262/test/built-ins/Object/getOwnPropertyDescriptors/duplicate-keys.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsProxysetPrototypeOfnotextensibletargetnotsametargetprototypejs">trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/not-extensible-target-not-same-target-prototype.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsProxysetPrototypeOfnotextensibletargetsametargetprototypejs">trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/not-extensible-target-same-target-prototype.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsProxysetPrototypeOftrapisnotcallablejs">trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/trap-is-not-callable.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageliteralsregexpuunicodeescboundsjs">trunk/JSTests/test262/test/language/literals/regexp/u-unicode-esc-bounds.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagemodulecodeinstnstarerrnotfoundfaulty_FIXTUREjs">trunk/JSTests/test262/test/language/module-code/instn-star-err-not-found-faulty_FIXTURE.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagemodulecodeinstnstarerrnotfoundjs">trunk/JSTests/test262/test/language/module-code/instn-star-err-not-found.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagemodulecodenamespaceinternalsgetownpropertystrfoundinitjs">trunk/JSTests/test262/test/language/module-code/namespace/internals/get-own-property-str-found-init.js</a></li>
<li><a href="#trunkJSTeststest262test262Revisiontxt">trunk/JSTests/test262/test262-Revision.txt</a></li>
<li><a href="#trunkJSTeststest262yaml">trunk/JSTests/test262.yaml</a></li>
</ul>

<h3>Added Paths</h3>
<ul>
<li>trunk/JSTests/test262/test/annexB/language/statements/for-in/</li>
<li><a href="#trunkJSTeststest262testannexBlanguagestatementsforinbareinitializerjs">trunk/JSTests/test262/test/annexB/language/statements/for-in/bare-initializer.js</a></li>
<li><a href="#trunkJSTeststest262testannexBlanguagestatementsforinconstinitializerjs">trunk/JSTests/test262/test/annexB/language/statements/for-in/const-initializer.js</a></li>
<li><a href="#trunkJSTeststest262testannexBlanguagestatementsforinletinitializerjs">trunk/JSTests/test262/test/annexB/language/statements/for-in/let-initializer.js</a></li>
<li><a href="#trunkJSTeststest262testannexBlanguagestatementsforinnonstrictinitializerjs">trunk/JSTests/test262/test/annexB/language/statements/for-in/nonstrict-initializer.js</a></li>
<li><a href="#trunkJSTeststest262testannexBlanguagestatementsforinstrictinitializerjs">trunk/JSTests/test262/test/annexB/language/statements/for-in/strict-initializer.js</a></li>
<li><a href="#trunkJSTeststest262testannexBlanguagestatementsforinvararraybindingpatterninitializerjs">trunk/JSTests/test262/test/annexB/language/statements/for-in/var-arraybindingpattern-initializer.js</a></li>
<li><a href="#trunkJSTeststest262testannexBlanguagestatementsforinvarobjectbindingpatterninitializerjs">trunk/JSTests/test262/test/annexB/language/statements/for-in/var-objectbindingpattern-initializer.js</a></li>
<li>trunk/JSTests/test262/test/built-ins/AsyncFunction/</li>
<li><a href="#trunkJSTeststest262testbuiltinsAsyncFunctionAsyncFunctionconstructjs">trunk/JSTests/test262/test/built-ins/AsyncFunction/AsyncFunction-construct.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsAsyncFunctionAsyncFunctionisextensiblejs">trunk/JSTests/test262/test/built-ins/AsyncFunction/AsyncFunction-is-extensible.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsAsyncFunctionAsyncFunctionissubclassjs">trunk/JSTests/test262/test/built-ins/AsyncFunction/AsyncFunction-is-subclass.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsAsyncFunctionAsyncFunctionlengthjs">trunk/JSTests/test262/test/built-ins/AsyncFunction/AsyncFunction-length.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsAsyncFunctionAsyncFunctionnamejs">trunk/JSTests/test262/test/built-ins/AsyncFunction/AsyncFunction-name.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsAsyncFunctionAsyncFunctionprototypejs">trunk/JSTests/test262/test/built-ins/AsyncFunction/AsyncFunction-prototype.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsAsyncFunctionAsyncFunctionjs">trunk/JSTests/test262/test/built-ins/AsyncFunction/AsyncFunction.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsAsyncFunctionAsyncFunctionPrototypeisextensiblejs">trunk/JSTests/test262/test/built-ins/AsyncFunction/AsyncFunctionPrototype-is-extensible.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsAsyncFunctionAsyncFunctionPrototypeprototypejs">trunk/JSTests/test262/test/built-ins/AsyncFunction/AsyncFunctionPrototype-prototype.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsAsyncFunctionAsyncFunctionPrototypetostringjs">trunk/JSTests/test262/test/built-ins/AsyncFunction/AsyncFunctionPrototype-to-string.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsAsyncFunctioninstanceconstructjs">trunk/JSTests/test262/test/built-ins/AsyncFunction/instance-construct.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsAsyncFunctioninstancehasnamejs">trunk/JSTests/test262/test/built-ins/AsyncFunction/instance-has-name.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsAsyncFunctioninstancelengthjs">trunk/JSTests/test262/test/built-ins/AsyncFunction/instance-length.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsAsyncFunctioninstanceprototypepropertyjs">trunk/JSTests/test262/test/built-ins/AsyncFunction/instance-prototype-property.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsAsyncFunctionisnotaglobaljs">trunk/JSTests/test262/test/built-ins/AsyncFunction/is-not-a-global.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypegetFloat32detachedbufferaftertoindexbyteoffsetjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/getFloat32/detached-buffer-after-toindex-byteoffset.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypegetFloat64detachedbufferaftertoindexbyteoffsetjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/getFloat64/detached-buffer-after-toindex-byteoffset.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypegetInt16detachedbufferaftertoindexbyteoffsetjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/getInt16/detached-buffer-after-toindex-byteoffset.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypegetInt32detachedbufferaftertoindexbyteoffsetjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/getInt32/detached-buffer-after-toindex-byteoffset.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypegetInt8detachedbufferaftertoindexbyteoffsetjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/getInt8/detached-buffer-after-toindex-byteoffset.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypegetUint16detachedbufferaftertoindexbyteoffsetjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/getUint16/detached-buffer-after-toindex-byteoffset.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypegetUint32detachedbufferaftertoindexbyteoffsetjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/getUint32/detached-buffer-after-toindex-byteoffset.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypegetUint8detachedbufferaftertoindexbyteoffsetjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/getUint8/detached-buffer-after-toindex-byteoffset.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypesetFloat32detachedbufferaftertoindexbyteoffsetjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/setFloat32/detached-buffer-after-toindex-byteoffset.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypesetFloat64detachedbufferaftertoindexbyteoffsetjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/setFloat64/detached-buffer-after-toindex-byteoffset.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypesetInt16detachedbufferaftertoindexbyteoffsetjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt16/detached-buffer-after-toindex-byteoffset.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypesetInt32detachedbufferaftertoindexbyteoffsetjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt32/detached-buffer-after-toindex-byteoffset.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypesetInt8detachedbufferaftertoindexbyteoffsetjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt8/detached-buffer-after-toindex-byteoffset.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypesetUint16detachedbufferaftertoindexbyteoffsetjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint16/detached-buffer-after-toindex-byteoffset.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypesetUint32detachedbufferaftertoindexbyteoffsetjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint32/detached-buffer-after-toindex-byteoffset.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypesetUint8detachedbufferaftertoindexbyteoffsetjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint8/detached-buffer-after-toindex-byteoffset.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsFunctionprototypebindinstanceconstructnewtargetboundtargetboundjs">trunk/JSTests/test262/test/built-ins/Function/prototype/bind/instance-construct-newtarget-boundtarget-bound.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsFunctionprototypebindinstanceconstructnewtargetboundtargetjs">trunk/JSTests/test262/test/built-ins/Function/prototype/bind/instance-construct-newtarget-boundtarget.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsFunctionprototypebindinstanceconstructnewtargetselfnewjs">trunk/JSTests/test262/test/built-ins/Function/prototype/bind/instance-construct-newtarget-self-new.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsFunctionprototypebindinstanceconstructnewtargetselfreflectjs">trunk/JSTests/test262/test/built-ins/Function/prototype/bind/instance-construct-newtarget-self-reflect.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsFunctionprototypetoStringAsyncFunctionjs">trunk/JSTests/test262/test/built-ins/Function/prototype/toString/AsyncFunction.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsFunctionprototypetoStringasyncfunctiondeclarationjs">trunk/JSTests/test262/test/built-ins/Function/prototype/toString/async-function-declaration.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsFunctionprototypetoStringasyncfunctionexpressionjs">trunk/JSTests/test262/test/built-ins/Function/prototype/toString/async-function-expression.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsFunctionprototypetoStringasyncmethodjs">trunk/JSTests/test262/test/built-ins/Function/prototype/toString/async-method.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsJSONparsereviverarraydefineproperrjs">trunk/JSTests/test262/test/built-ins/JSON/parse/reviver-array-define-prop-err.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsJSONparsereviverarraydeleteerrjs">trunk/JSTests/test262/test/built-ins/JSON/parse/reviver-array-delete-err.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsJSONparsereviverarraylengthcoerceerrjs">trunk/JSTests/test262/test/built-ins/JSON/parse/reviver-array-length-coerce-err.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsJSONparsereviverarraylengthgeterrjs">trunk/JSTests/test262/test/built-ins/JSON/parse/reviver-array-length-get-err.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsJSONparserevivercallerrjs">trunk/JSTests/test262/test/built-ins/JSON/parse/reviver-call-err.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsJSONparserevivergetnameerrjs">trunk/JSTests/test262/test/built-ins/JSON/parse/reviver-get-name-err.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsJSONparsereviverobjectdefineproperrjs">trunk/JSTests/test262/test/built-ins/JSON/parse/reviver-object-define-prop-err.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsJSONparsereviverobjectdeleteerrjs">trunk/JSTests/test262/test/built-ins/JSON/parse/reviver-object-delete-err.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsJSONparsereviverobjectownkeyserrjs">trunk/JSTests/test262/test/built-ins/JSON/parse/reviver-object-own-keys-err.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsNumberprototypetoExponentialinfinityjs">trunk/JSTests/test262/test/built-ins/Number/prototype/toExponential/infinity.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsNumberprototypetoExponentialnanjs">trunk/JSTests/test262/test/built-ins/Number/prototype/toExponential/nan.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsNumberprototypetoExponentialpropdescjs">trunk/JSTests/test262/test/built-ins/Number/prototype/toExponential/prop-desc.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsNumberprototypetoExponentialreturnabrupttointegerfractiondigitssymboljs">trunk/JSTests/test262/test/built-ins/Number/prototype/toExponential/return-abrupt-tointeger-fractiondigits-symbol.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsNumberprototypetoExponentialreturnabrupttointegerfractiondigitsjs">trunk/JSTests/test262/test/built-ins/Number/prototype/toExponential/return-abrupt-tointeger-fractiondigits.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsNumberprototypetoExponentialreturnvaluesjs">trunk/JSTests/test262/test/built-ins/Number/prototype/toExponential/return-values.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsNumberprototypetoExponentialthisis0fractiondigitsis0js">trunk/JSTests/test262/test/built-ins/Number/prototype/toExponential/this-is-0-fractiondigits-is-0.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsNumberprototypetoExponentialthisis0fractiondigitsisnot0js">trunk/JSTests/test262/test/built-ins/Number/prototype/toExponential/this-is-0-fractiondigits-is-not-0.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsNumberprototypetoExponentialthistypenotnumberornumberobjectjs">trunk/JSTests/test262/test/built-ins/Number/prototype/toExponential/this-type-not-number-or-number-object.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsNumberprototypetoExponentialtointegerfractiondigitsjs">trunk/JSTests/test262/test/built-ins/Number/prototype/toExponential/tointeger-fractiondigits.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsNumberprototypetoExponentialundefinedfractiondigitsjs">trunk/JSTests/test262/test/built-ins/Number/prototype/toExponential/undefined-fractiondigits.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsObjectgetOwnPropertyDescriptorsproxyundefineddescriptorjs">trunk/JSTests/test262/test/built-ins/Object/getOwnPropertyDescriptors/proxy-undefined-descriptor.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsProxysetPrototypeOfinternalscallorderjs">trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/internals-call-order.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsProxysetPrototypeOfreturnabruptfromgettrapjs">trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/return-abrupt-from-get-trap.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsProxysetPrototypeOfreturnabruptfromisextensibletargetjs">trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/return-abrupt-from-isextensible-target.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsProxysetPrototypeOfreturnabruptfromtargetgetprototypeofjs">trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/return-abrupt-from-target-getprototypeof.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsProxysetPrototypeOfreturnabruptfromtrapjs">trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/return-abrupt-from-trap.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsProxysetPrototypeOftobooleantrapresultfalsejs">trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/toboolean-trap-result-false.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsProxysetPrototypeOftobooleantrapresulttruetargetisextensiblejs">trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/toboolean-trap-result-true-target-is-extensible.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsProxysetPrototypeOftrapisundefinedornulljs">trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/trap-is-undefined-or-null.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsRegExplastIndexjs">trunk/JSTests/test262/test/built-ins/RegExp/lastIndex.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsRegExpprototypeglobalthisvalinvalidobjjs">trunk/JSTests/test262/test/built-ins/RegExp/prototype/global/this-val-invalid-obj.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsRegExpprototypeglobalthisvalnonobjjs">trunk/JSTests/test262/test/built-ins/RegExp/prototype/global/this-val-non-obj.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsRegExpprototypeglobalthisvalregexpprototypejs">trunk/JSTests/test262/test/built-ins/RegExp/prototype/global/this-val-regexp-prototype.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsRegExpprototypeignoreCasethisvalinvalidobjjs">trunk/JSTests/test262/test/built-ins/RegExp/prototype/ignoreCase/this-val-invalid-obj.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsRegExpprototypeignoreCasethisvalnonobjjs">trunk/JSTests/test262/test/built-ins/RegExp/prototype/ignoreCase/this-val-non-obj.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsRegExpprototypeignoreCasethisvalregexpprototypejs">trunk/JSTests/test262/test/built-ins/RegExp/prototype/ignoreCase/this-val-regexp-prototype.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsRegExpprototypemultilinethisvalinvalidobjjs">trunk/JSTests/test262/test/built-ins/RegExp/prototype/multiline/this-val-invalid-obj.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsRegExpprototypemultilinethisvalnonobjjs">trunk/JSTests/test262/test/built-ins/RegExp/prototype/multiline/this-val-non-obj.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsRegExpprototypemultilinethisvalregexpprototypejs">trunk/JSTests/test262/test/built-ins/RegExp/prototype/multiline/this-val-regexp-prototype.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsRegExpprototypenoregexpmatcherjs">trunk/JSTests/test262/test/built-ins/RegExp/prototype/no-regexp-matcher.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsRegExpprototypesourcethisvalinvalidobjjs">trunk/JSTests/test262/test/built-ins/RegExp/prototype/source/this-val-invalid-obj.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsRegExpprototypesourcethisvalnonobjjs">trunk/JSTests/test262/test/built-ins/RegExp/prototype/source/this-val-non-obj.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsRegExpprototypesourcethisvalregexpprototypejs">trunk/JSTests/test262/test/built-ins/RegExp/prototype/source/this-val-regexp-prototype.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsRegExpprototypesourcevalueemptyjs">trunk/JSTests/test262/test/built-ins/RegExp/prototype/source/value-empty.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsRegExpprototypesourcevaluelineterminatorjs">trunk/JSTests/test262/test/built-ins/RegExp/prototype/source/value-line-terminator.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsRegExpprototypesourcevalueujs">trunk/JSTests/test262/test/built-ins/RegExp/prototype/source/value-u.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsRegExpprototypesourcevaluejs">trunk/JSTests/test262/test/built-ins/RegExp/prototype/source/value.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsRegExpprototypestickythisvalinvalidobjjs">trunk/JSTests/test262/test/built-ins/RegExp/prototype/sticky/this-val-invalid-obj.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsRegExpprototypestickythisvalnonobjjs">trunk/JSTests/test262/test/built-ins/RegExp/prototype/sticky/this-val-non-obj.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsRegExpprototypestickythisvalregexpprototypejs">trunk/JSTests/test262/test/built-ins/RegExp/prototype/sticky/this-val-regexp-prototype.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsRegExpprototypestickythisvalregexpjs">trunk/JSTests/test262/test/built-ins/RegExp/prototype/sticky/this-val-regexp.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsRegExpprototypeunicodethisvalinvalidobjjs">trunk/JSTests/test262/test/built-ins/RegExp/prototype/unicode/this-val-invalid-obj.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsRegExpprototypeunicodethisvalnonobjjs">trunk/JSTests/test262/test/built-ins/RegExp/prototype/unicode/this-val-non-obj.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsRegExpprototypeunicodethisvalregexpprototypejs">trunk/JSTests/test262/test/built-ins/RegExp/prototype/unicode/this-val-regexp-prototype.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsRegExpprototypeunicodethisvalregexpjs">trunk/JSTests/test262/test/built-ins/RegExp/prototype/unicode/this-val-regexp.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsStringnumericpropertiesjs">trunk/JSTests/test262/test/built-ins/String/numeric-properties.js</a></li>
<li>trunk/JSTests/test262/test/intl402/DateTimeFormat/prototype/formatToParts/</li>
<li><a href="#trunkJSTeststest262testintl402DateTimeFormatprototypeformatToPartsdateisinfinitythrowsjs">trunk/JSTests/test262/test/intl402/DateTimeFormat/prototype/formatToParts/date-is-infinity-throws.js</a></li>
<li><a href="#trunkJSTeststest262testintl402DateTimeFormatprototypeformatToPartsdateisnanthrowsjs">trunk/JSTests/test262/test/intl402/DateTimeFormat/prototype/formatToParts/date-is-nan-throws.js</a></li>
<li><a href="#trunkJSTeststest262testintl402DateTimeFormatprototypeformatToPartsformatToPartsjs">trunk/JSTests/test262/test/intl402/DateTimeFormat/prototype/formatToParts/formatToParts.js</a></li>
<li><a href="#trunkJSTeststest262testintl402DateTimeFormatprototypeformatToPartslengthjs">trunk/JSTests/test262/test/intl402/DateTimeFormat/prototype/formatToParts/length.js</a></li>
<li><a href="#trunkJSTeststest262testintl402DateTimeFormatprototypeformatToPartsmainjs">trunk/JSTests/test262/test/intl402/DateTimeFormat/prototype/formatToParts/main.js</a></li>
<li><a href="#trunkJSTeststest262testintl402DateTimeFormatprototypeformatToPartsnamejs">trunk/JSTests/test262/test/intl402/DateTimeFormat/prototype/formatToParts/name.js</a></li>
<li><a href="#trunkJSTeststest262testintl402DateTimeFormatprototypeformatToPartsreturnabrupttonumberdatejs">trunk/JSTests/test262/test/intl402/DateTimeFormat/prototype/formatToParts/return-abrupt-tonumber-date.js</a></li>
<li><a href="#trunkJSTeststest262testintl402DateTimeFormatprototypeformatToPartsthishasnotinternalthrowsjs">trunk/JSTests/test262/test/intl402/DateTimeFormat/prototype/formatToParts/this-has-not-internal-throws.js</a></li>
<li><a href="#trunkJSTeststest262testintl402DateTimeFormatprototypeformatToPartsthisisnotobjectthrowsjs">trunk/JSTests/test262/test/intl402/DateTimeFormat/prototype/formatToParts/this-is-not-object-throws.js</a></li>
<li>trunk/JSTests/test262/test/intl402/NumberFormat/prototype/formatToParts/</li>
<li><a href="#trunkJSTeststest262testintl402NumberFormatprototypeformatToPartsformatToPartsjs">trunk/JSTests/test262/test/intl402/NumberFormat/prototype/formatToParts/formatToParts.js</a></li>
<li><a href="#trunkJSTeststest262testintl402NumberFormatprototypeformatToPartslengthjs">trunk/JSTests/test262/test/intl402/NumberFormat/prototype/formatToParts/length.js</a></li>
<li><a href="#trunkJSTeststest262testintl402NumberFormatprototypeformatToPartsmainjs">trunk/JSTests/test262/test/intl402/NumberFormat/prototype/formatToParts/main.js</a></li>
<li><a href="#trunkJSTeststest262testintl402NumberFormatprototypeformatToPartsnamejs">trunk/JSTests/test262/test/intl402/NumberFormat/prototype/formatToParts/name.js</a></li>
<li><a href="#trunkJSTeststest262testintl402NumberFormatprototypeformatToPartsreturnabrupttonumberjs">trunk/JSTests/test262/test/intl402/NumberFormat/prototype/formatToParts/return-abrupt-tonumber.js</a></li>
<li><a href="#trunkJSTeststest262testintl402NumberFormatprototypeformatToPartsthishasnotinternalthrowsjs">trunk/JSTests/test262/test/intl402/NumberFormat/prototype/formatToParts/this-has-not-internal-throws.js</a></li>
<li><a href="#trunkJSTeststest262testintl402NumberFormatprototypeformatToPartsthisisnotobjectthrowsjs">trunk/JSTests/test262/test/intl402/NumberFormat/prototype/formatToParts/this-is-not-object-throws.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageargumentsobjectunmappedviaparamsdfltjs">trunk/JSTests/test262/test/language/arguments-object/unmapped/via-params-dflt.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageargumentsobjectunmappedviaparamsdstrjs">trunk/JSTests/test262/test/language/arguments-object/unmapped/via-params-dstr.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageargumentsobjectunmappedviaparamsrestjs">trunk/JSTests/test262/test/language/arguments-object/unmapped/via-params-rest.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageargumentsobjectunmappedviastrictjs">trunk/JSTests/test262/test/language/arguments-object/unmapped/via-strict.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageevalcodedirectsupercallarrowjs">trunk/JSTests/test262/test/language/eval-code/direct/super-call-arrow.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageevalcodedirectsupercallfnjs">trunk/JSTests/test262/test/language/eval-code/direct/super-call-fn.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageevalcodedirectsupercalljs">trunk/JSTests/test262/test/language/eval-code/direct/super-call.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageevalcodedirectsuperproparrowjs">trunk/JSTests/test262/test/language/eval-code/direct/super-prop-arrow.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageevalcodedirectsuperpropmethodjs">trunk/JSTests/test262/test/language/eval-code/direct/super-prop-method.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageevalcodedirectsuperpropjs">trunk/JSTests/test262/test/language/eval-code/direct/super-prop.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageevalcodeindirectsupercalljs">trunk/JSTests/test262/test/language/eval-code/indirect/super-call.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageevalcodeindirectsuperpropjs">trunk/JSTests/test262/test/language/eval-code/indirect/super-prop.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsarrowfunctionparamstrailingcommalengthjs">trunk/JSTests/test262/test/language/expressions/arrow-function/params-trailing-comma-length.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsarrowfunctionparamstrailingcommajs">trunk/JSTests/test262/test/language/expressions/arrow-function/params-trailing-comma.js</a></li>
<li>trunk/JSTests/test262/test/language/expressions/async-arrow-function/</li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsasyncarrowfunctionarrowreturnspromisejs">trunk/JSTests/test262/test/language/expressions/async-arrow-function/arrow-returns-promise.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsasyncarrowfunctionearlyerrorsarrowNSPLwithUSDjs">trunk/JSTests/test262/test/language/expressions/async-arrow-function/early-errors-arrow-NSPL-with-USD.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsasyncarrowfunctionearlyerrorsarrowargumentsinformalparametersjs">trunk/JSTests/test262/test/language/expressions/async-arrow-function/early-errors-arrow-arguments-in-formal-parameters.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsasyncarrowfunctionearlyerrorsarrowawaitinformalsdefaultjs">trunk/JSTests/test262/test/language/expressions/async-arrow-function/early-errors-arrow-await-in-formals-default.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsasyncarrowfunctionearlyerrorsarrowawaitinformalsjs">trunk/JSTests/test262/test/language/expressions/async-arrow-function/early-errors-arrow-await-in-formals.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsasyncarrowfunctionearlyerrorsarrowbodycontainssupercalljs">trunk/JSTests/test262/test/language/expressions/async-arrow-function/early-errors-arrow-body-contains-super-call.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsasyncarrowfunctionearlyerrorsarrowbodycontainssuperpropertyjs">trunk/JSTests/test262/test/language/expressions/async-arrow-function/early-errors-arrow-body-contains-super-property.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsasyncarrowfunctionearlyerrorsarrowduplicateparametersjs">trunk/JSTests/test262/test/language/expressions/async-arrow-function/early-errors-arrow-duplicate-parameters.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsasyncarrowfunctionearlyerrorsarrowevalinformalparametersjs">trunk/JSTests/test262/test/language/expressions/async-arrow-function/early-errors-arrow-eval-in-formal-parameters.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsasyncarrowfunctionearlyerrorsarrowformalsbodyduplicatejs">trunk/JSTests/test262/test/language/expressions/async-arrow-function/early-errors-arrow-formals-body-duplicate.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsasyncarrowfunctionearlyerrorsarrowformalscontainssupercalljs">trunk/JSTests/test262/test/language/expressions/async-arrow-function/early-errors-arrow-formals-contains-super-call.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsasyncarrowfunctionearlyerrorsarrowformalscontainssuperpropertyjs">trunk/JSTests/test262/test/language/expressions/async-arrow-function/early-errors-arrow-formals-contains-super-property.js</a></li>
<li>trunk/JSTests/test262/test/language/expressions/async-function/</li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsasyncfunctionearlyerrorsexpressionNSPLwithUSDjs">trunk/JSTests/test262/test/language/expressions/async-function/early-errors-expression-NSPL-with-USD.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsasyncfunctionearlyerrorsexpressionbindingidentifierargumentsjs">trunk/JSTests/test262/test/language/expressions/async-function/early-errors-expression-binding-identifier-arguments.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsasyncfunctionearlyerrorsexpressionbindingidentifierevaljs">trunk/JSTests/test262/test/language/expressions/async-function/early-errors-expression-binding-identifier-eval.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsasyncfunctionearlyerrorsexpressionbodycontainssupercalljs">trunk/JSTests/test262/test/language/expressions/async-function/early-errors-expression-body-contains-super-call.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsasyncfunctionearlyerrorsexpressionbodycontainssuperpropertyjs">trunk/JSTests/test262/test/language/expressions/async-function/early-errors-expression-body-contains-super-property.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsasyncfunctionearlyerrorsexpressionevalinformalparametersjs">trunk/JSTests/test262/test/language/expressions/async-function/early-errors-expression-eval-in-formal-parameters.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsasyncfunctionearlyerrorsexpressionformalsbodyduplicatejs">trunk/JSTests/test262/test/language/expressions/async-function/early-errors-expression-formals-body-duplicate.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsasyncfunctionearlyerrorsexpressionformalscontainssupercalljs">trunk/JSTests/test262/test/language/expressions/async-function/early-errors-expression-formals-contains-super-call.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsasyncfunctionearlyerrorsexpressionformalscontainssuperpropertyjs">trunk/JSTests/test262/test/language/expressions/async-function/early-errors-expression-formals-contains-super-property.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsasyncfunctionearlyerrorsexpressionnotsimpleassignmenttargetjs">trunk/JSTests/test262/test/language/expressions/async-function/early-errors-expression-not-simple-assignment-target.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsasyncfunctionexpressionreturnspromisejs">trunk/JSTests/test262/test/language/expressions/async-function/expression-returns-promise.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsasyncfunctionsyntaxexpressionisPrimaryExpressionjs">trunk/JSTests/test262/test/language/expressions/async-function/syntax-expression-is-PrimaryExpression.js</a></li>
<li>trunk/JSTests/test262/test/language/expressions/await/</li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsawaitawaitBindingIdentifieringlobaljs">trunk/JSTests/test262/test/language/expressions/await/await-BindingIdentifier-in-global.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsawaitawaitBindingIdentifiernestedjs">trunk/JSTests/test262/test/language/expressions/await/await-BindingIdentifier-nested.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsawaitawaitawaitsthenablenotcallablejs">trunk/JSTests/test262/test/language/expressions/await/await-awaits-thenable-not-callable.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsawaitawaitawaitsthenablesthatthrowjs">trunk/JSTests/test262/test/language/expressions/await/await-awaits-thenables-that-throw.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsawaitawaitawaitsthenablesjs">trunk/JSTests/test262/test/language/expressions/await/await-awaits-thenables.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsawaitawaitinfunctionjs">trunk/JSTests/test262/test/language/expressions/await/await-in-function.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsawaitawaitingeneratorjs">trunk/JSTests/test262/test/language/expressions/await/await-in-generator.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsawaitawaitinglobaljs">trunk/JSTests/test262/test/language/expressions/await/await-in-global.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsawaitawaitinnestedfunctionjs">trunk/JSTests/test262/test/language/expressions/await/await-in-nested-function.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsawaitawaitinnestedgeneratorjs">trunk/JSTests/test262/test/language/expressions/await/await-in-nested-generator.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsawaitawaitthrowsrejectionsjs">trunk/JSTests/test262/test/language/expressions/await/await-throws-rejections.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsawaitearlyerrorsawaitnotsimpleassignmenttargetjs">trunk/JSTests/test262/test/language/expressions/await/early-errors-await-not-simple-assignment-target.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsawaitnooperandjs">trunk/JSTests/test262/test/language/expressions/await/no-operand.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsawaitsyntaxawaithasUnaryExpressionwithMultiplicativeExpressionjs">trunk/JSTests/test262/test/language/expressions/await/syntax-await-has-UnaryExpression-with-MultiplicativeExpression.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsawaitsyntaxawaithasUnaryExpressionjs">trunk/JSTests/test262/test/language/expressions/await/syntax-await-has-UnaryExpression.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionscalltrailingcommajs">trunk/JSTests/test262/test/language/expressions/call/trailing-comma.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsfunctionargumentswithargumentsfnjs">trunk/JSTests/test262/test/language/expressions/function/arguments-with-arguments-fn.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsfunctionargumentswithargumentslexjs">trunk/JSTests/test262/test/language/expressions/function/arguments-with-arguments-lex.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsfunctionparamstrailingcommaargumentsjs">trunk/JSTests/test262/test/language/expressions/function/params-trailing-comma-arguments.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsfunctionparamstrailingcommalengthjs">trunk/JSTests/test262/test/language/expressions/function/params-trailing-comma-length.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsfunctionparamstrailingcommajs">trunk/JSTests/test262/test/language/expressions/function/params-trailing-comma.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsgeneratorsargumentswithargumentsfnjs">trunk/JSTests/test262/test/language/expressions/generators/arguments-with-arguments-fn.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsgeneratorsargumentswithargumentslexjs">trunk/JSTests/test262/test/language/expressions/generators/arguments-with-arguments-lex.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsgeneratorsparamstrailingcommaargumentsjs">trunk/JSTests/test262/test/language/expressions/generators/params-trailing-comma-arguments.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsgeneratorsparamstrailingcommalengthjs">trunk/JSTests/test262/test/language/expressions/generators/params-trailing-comma-length.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsgeneratorsparamstrailingcommajs">trunk/JSTests/test262/test/language/expressions/generators/params-trailing-comma.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsobjectcomputedpropertyevaluationorderjs">trunk/JSTests/test262/test/language/expressions/object/computed-property-evaluation-order.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsobjectmethoddefinitionasyncsupercallbodyjs">trunk/JSTests/test262/test/language/expressions/object/method-definition/async-super-call-body.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsobjectmethoddefinitionasyncsupercallparamjs">trunk/JSTests/test262/test/language/expressions/object/method-definition/async-super-call-param.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsobjectmethoddefinitionearlyerrorsobjectmethodNSPLwithUSDjs">trunk/JSTests/test262/test/language/expressions/object/method-definition/early-errors-object-method-NSPL-with-USD.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsobjectmethoddefinitionearlyerrorsobjectmethodargumentsinformalparametersjs">trunk/JSTests/test262/test/language/expressions/object/method-definition/early-errors-object-method-arguments-in-formal-parameters.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsobjectmethoddefinitionearlyerrorsobjectmethodawaitinformalsdefaultjs">trunk/JSTests/test262/test/language/expressions/object/method-definition/early-errors-object-method-await-in-formals-default.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsobjectmethoddefinitionearlyerrorsobjectmethodawaitinformalsjs">trunk/JSTests/test262/test/language/expressions/object/method-definition/early-errors-object-method-await-in-formals.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsobjectmethoddefinitionearlyerrorsobjectmethodbodycontainssupercalljs">trunk/JSTests/test262/test/language/expressions/object/method-definition/early-errors-object-method-body-contains-super-call.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsobjectmethoddefinitionearlyerrorsobjectmethodduplicateparametersjs">trunk/JSTests/test262/test/language/expressions/object/method-definition/early-errors-object-method-duplicate-parameters.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsobjectmethoddefinitionearlyerrorsobjectmethodevalinformalparametersjs">trunk/JSTests/test262/test/language/expressions/object/method-definition/early-errors-object-method-eval-in-formal-parameters.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsobjectmethoddefinitionearlyerrorsobjectmethodformalsbodyduplicatejs">trunk/JSTests/test262/test/language/expressions/object/method-definition/early-errors-object-method-formals-body-duplicate.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsobjectmethoddefinitionearlyerrorsobjectmethodformalscontainssupercalljs">trunk/JSTests/test262/test/language/expressions/object/method-definition/early-errors-object-method-formals-contains-super-call.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsobjectmethoddefinitionobjectmethodreturnspromisejs">trunk/JSTests/test262/test/language/expressions/object/method-definition/object-method-returns-promise.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsobjectmethoddefinitionparamstrailingcommaargumentsjs">trunk/JSTests/test262/test/language/expressions/object/method-definition/params-trailing-comma-arguments.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsobjectmethoddefinitionparamstrailingcommalengthjs">trunk/JSTests/test262/test/language/expressions/object/method-definition/params-trailing-comma-length.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsobjectmethoddefinitionparamstrailingcommarestjs">trunk/JSTests/test262/test/language/expressions/object/method-definition/params-trailing-comma-rest.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsobjectmethoddefinitionparamstrailingcommajs">trunk/JSTests/test262/test/language/expressions/object/method-definition/params-trailing-comma.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageglobalcodedeclfuncdupjs">trunk/JSTests/test262/test/language/global-code/decl-func-dup.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageglobalcodedeclfuncjs">trunk/JSTests/test262/test/language/global-code/decl-func.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageglobalcodedecllexconfigurableglobaljs">trunk/JSTests/test262/test/language/global-code/decl-lex-configurable-global.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageglobalcodedecllexdeletionjs">trunk/JSTests/test262/test/language/global-code/decl-lex-deletion.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageglobalcodedecllexrestrictedglobaljs">trunk/JSTests/test262/test/language/global-code/decl-lex-restricted-global.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageglobalcodedecllexjs">trunk/JSTests/test262/test/language/global-code/decl-lex.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageglobalcodedeclvarjs">trunk/JSTests/test262/test/language/global-code/decl-var.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageglobalcodereturnjs">trunk/JSTests/test262/test/language/global-code/return.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageglobalcodescriptdeclfuncdupsjs">trunk/JSTests/test262/test/language/global-code/script-decl-func-dups.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageglobalcodescriptdeclfuncerrnonconfigurablejs">trunk/JSTests/test262/test/language/global-code/script-decl-func-err-non-configurable.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageglobalcodescriptdeclfuncerrnonextensiblejs">trunk/JSTests/test262/test/language/global-code/script-decl-func-err-non-extensible.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageglobalcodescriptdeclfuncjs">trunk/JSTests/test262/test/language/global-code/script-decl-func.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageglobalcodescriptdecllexdeletionjs">trunk/JSTests/test262/test/language/global-code/script-decl-lex-deletion.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageglobalcodescriptdecllexlexjs">trunk/JSTests/test262/test/language/global-code/script-decl-lex-lex.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageglobalcodescriptdecllexrestrictedglobaljs">trunk/JSTests/test262/test/language/global-code/script-decl-lex-restricted-global.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageglobalcodescriptdecllexvarjs">trunk/JSTests/test262/test/language/global-code/script-decl-lex-var.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageglobalcodescriptdecllexjs">trunk/JSTests/test262/test/language/global-code/script-decl-lex.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageglobalcodescriptdeclvarcollisionjs">trunk/JSTests/test262/test/language/global-code/script-decl-var-collision.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageglobalcodescriptdeclvarerrjs">trunk/JSTests/test262/test/language/global-code/script-decl-var-err.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageglobalcodescriptdeclvarjs">trunk/JSTests/test262/test/language/global-code/script-decl-var.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageglobalcodesupercallarrowjs">trunk/JSTests/test262/test/language/global-code/super-call-arrow.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageglobalcodesupercalljs">trunk/JSTests/test262/test/language/global-code/super-call.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageglobalcodesuperproparrowjs">trunk/JSTests/test262/test/language/global-code/super-prop-arrow.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageglobalcodesuperpropjs">trunk/JSTests/test262/test/language/global-code/super-prop.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageglobalcodeyieldnonstrictjs">trunk/JSTests/test262/test/language/global-code/yield-non-strict.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageglobalcodeyieldstrictjs">trunk/JSTests/test262/test/language/global-code/yield-strict.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageliteralsregexplastIndexjs">trunk/JSTests/test262/test/language/literals/regexp/lastIndex.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageliteralsregexpyassertionstartjs">trunk/JSTests/test262/test/language/literals/regexp/y-assertion-start.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagemodulecodeparseerrreturnjs">trunk/JSTests/test262/test/language/module-code/parse-err-return.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagemodulecodeparseerryieldjs">trunk/JSTests/test262/test/language/module-code/parse-err-yield.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagerestparametersparamstrailingcommarestjs">trunk/JSTests/test262/test/language/rest-parameters/params-trailing-comma-rest.js</a></li>
<li>trunk/JSTests/test262/test/language/statements/async-function/</li>
<li><a href="#trunkJSTeststest262testlanguagestatementsasyncfunctiondeclarationreturnspromisejs">trunk/JSTests/test262/test/language/statements/async-function/declaration-returns-promise.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagestatementsasyncfunctionearlyerrorsdeclarationNSPLwithUSDjs">trunk/JSTests/test262/test/language/statements/async-function/early-errors-declaration-NSPL-with-USD.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagestatementsasyncfunctionearlyerrorsdeclarationargumentsinformalparametersjs">trunk/JSTests/test262/test/language/statements/async-function/early-errors-declaration-arguments-in-formal-parameters.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagestatementsasyncfunctionearlyerrorsdeclarationawaitinformalsdefaultjs">trunk/JSTests/test262/test/language/statements/async-function/early-errors-declaration-await-in-formals-default.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagestatementsasyncfunctionearlyerrorsdeclarationawaitinformalsjs">trunk/JSTests/test262/test/language/statements/async-function/early-errors-declaration-await-in-formals.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagestatementsasyncfunctionearlyerrorsdeclarationbindingidentifierargumentsjs">trunk/JSTests/test262/test/language/statements/async-function/early-errors-declaration-binding-identifier-arguments.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagestatementsasyncfunctionearlyerrorsdeclarationbindingidentifierevaljs">trunk/JSTests/test262/test/language/statements/async-function/early-errors-declaration-binding-identifier-eval.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagestatementsasyncfunctionearlyerrorsdeclarationbodycontainssupercalljs">trunk/JSTests/test262/test/language/statements/async-function/early-errors-declaration-body-contains-super-call.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagestatementsasyncfunctionearlyerrorsdeclarationbodycontainssuperpropertyjs">trunk/JSTests/test262/test/language/statements/async-function/early-errors-declaration-body-contains-super-property.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagestatementsasyncfunctionearlyerrorsdeclarationduplicateparametersjs">trunk/JSTests/test262/test/language/statements/async-function/early-errors-declaration-duplicate-parameters.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagestatementsasyncfunctionearlyerrorsdeclarationevalinformalparametersjs">trunk/JSTests/test262/test/language/statements/async-function/early-errors-declaration-eval-in-formal-parameters.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagestatementsasyncfunctionearlyerrorsdeclarationformalsbodyduplicatejs">trunk/JSTests/test262/test/language/statements/async-function/early-errors-declaration-formals-body-duplicate.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagestatementsasyncfunctionearlyerrorsdeclarationformalscontainssupercalljs">trunk/JSTests/test262/test/language/statements/async-function/early-errors-declaration-formals-contains-super-call.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagestatementsasyncfunctionearlyerrorsdeclarationformalscontainssuperpropertyjs">trunk/JSTests/test262/test/language/statements/async-function/early-errors-declaration-formals-contains-super-property.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagestatementsasyncfunctionearlyerrorsnoasyncgeneratorjs">trunk/JSTests/test262/test/language/statements/async-function/early-errors-no-async-generator.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagestatementsasyncfunctionevaluationbodythatreturnsafterawaitjs">trunk/JSTests/test262/test/language/statements/async-function/evaluation-body-that-returns-after-await.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagestatementsasyncfunctionevaluationbodythatreturnsjs">trunk/JSTests/test262/test/language/statements/async-function/evaluation-body-that-returns.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagestatementsasyncfunctionevaluationbodythatthrowsafterawaitjs">trunk/JSTests/test262/test/language/statements/async-function/evaluation-body-that-throws-after-await.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagestatementsasyncfunctionevaluationbodythatthrowsjs">trunk/JSTests/test262/test/language/statements/async-function/evaluation-body-that-throws.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagestatementsasyncfunctionevaluationbodyjs">trunk/JSTests/test262/test/language/statements/async-function/evaluation-body.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagestatementsasyncfunctionevaluationdefaultthatthrowsjs">trunk/JSTests/test262/test/language/statements/async-function/evaluation-default-that-throws.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagestatementsasyncfunctionevaluationmappedargumentsjs">trunk/JSTests/test262/test/language/statements/async-function/evaluation-mapped-arguments.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagestatementsasyncfunctionevaluationthisvalueglobaljs">trunk/JSTests/test262/test/language/statements/async-function/evaluation-this-value-global.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagestatementsasyncfunctionevaluationthisvaluepassedjs">trunk/JSTests/test262/test/language/statements/async-function/evaluation-this-value-passed.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagestatementsasyncfunctionevaluationunmappedargumentsjs">trunk/JSTests/test262/test/language/statements/async-function/evaluation-unmapped-arguments.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagestatementsasyncfunctionsyntaxdeclarationlineterminatorsallowedjs">trunk/JSTests/test262/test/language/statements/async-function/syntax-declaration-line-terminators-allowed.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagestatementsasyncfunctionsyntaxdeclarationnolineterminatorjs">trunk/JSTests/test262/test/language/statements/async-function/syntax-declaration-no-line-terminator.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagestatementsasyncfunctionsyntaxdeclarationjs">trunk/JSTests/test262/test/language/statements/async-function/syntax-declaration.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagestatementsclassdefinitionclassmethodreturnspromisejs">trunk/JSTests/test262/test/language/statements/class/definition/class-method-returns-promise.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagestatementsclassdefinitionearlyerrorsclassmethodNSPLwithUSDjs">trunk/JSTests/test262/test/language/statements/class/definition/early-errors-class-method-NSPL-with-USD.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagestatementsclassdefinitionearlyerrorsclassmethodargumentsinformalparametersjs">trunk/JSTests/test262/test/language/statements/class/definition/early-errors-class-method-arguments-in-formal-parameters.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagestatementsclassdefinitionearlyerrorsclassmethodawaitinformalsdefaultjs">trunk/JSTests/test262/test/language/statements/class/definition/early-errors-class-method-await-in-formals-default.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagestatementsclassdefinitionearlyerrorsclassmethodawaitinformalsjs">trunk/JSTests/test262/test/language/statements/class/definition/early-errors-class-method-await-in-formals.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagestatementsclassdefinitionearlyerrorsclassmethodbodycontainssupercalljs">trunk/JSTests/test262/test/language/statements/class/definition/early-errors-class-method-body-contains-super-call.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagestatementsclassdefinitionearlyerrorsclassmethodduplicateparametersjs">trunk/JSTests/test262/test/language/statements/class/definition/early-errors-class-method-duplicate-parameters.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagestatementsclassdefinitionearlyerrorsclassmethodevalinformalparametersjs">trunk/JSTests/test262/test/language/statements/class/definition/early-errors-class-method-eval-in-formal-parameters.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagestatementsclassdefinitionearlyerrorsclassmethodformalsbodyduplicatejs">trunk/JSTests/test262/test/language/statements/class/definition/early-errors-class-method-formals-body-duplicate.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagestatementsclassdefinitionearlyerrorsclassmethodformalscontainssupercalljs">trunk/JSTests/test262/test/language/statements/class/definition/early-errors-class-method-formals-contains-super-call.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagestatementsclassdefinitionmethodsasyncsupercallbodyjs">trunk/JSTests/test262/test/language/statements/class/definition/methods-async-super-call-body.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagestatementsclassdefinitionmethodsasyncsupercallparamjs">trunk/JSTests/test262/test/language/statements/class/definition/methods-async-super-call-param.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagestatementsclassdefinitionparamstrailingcommaargumentsjs">trunk/JSTests/test262/test/language/statements/class/definition/params-trailing-comma-arguments.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagestatementsclassdefinitionparamstrailingcommalengthjs">trunk/JSTests/test262/test/language/statements/class/definition/params-trailing-comma-length.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagestatementsclassdefinitionparamstrailingcommarestjs">trunk/JSTests/test262/test/language/statements/class/definition/params-trailing-comma-rest.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagestatementsclassdefinitionparamstrailingcommajs">trunk/JSTests/test262/test/language/statements/class/definition/params-trailing-comma.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagestatementsfunctionargumentswithargumentsfnjs">trunk/JSTests/test262/test/language/statements/function/arguments-with-arguments-fn.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagestatementsfunctionargumentswithargumentslexjs">trunk/JSTests/test262/test/language/statements/function/arguments-with-arguments-lex.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagestatementsfunctionparamstrailingcommaargumentsjs">trunk/JSTests/test262/test/language/statements/function/params-trailing-comma-arguments.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagestatementsfunctionparamstrailingcommalengthjs">trunk/JSTests/test262/test/language/statements/function/params-trailing-comma-length.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagestatementsfunctionparamstrailingcommajs">trunk/JSTests/test262/test/language/statements/function/params-trailing-comma.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagestatementsgeneratorsargumentswithargumentsfnjs">trunk/JSTests/test262/test/language/statements/generators/arguments-with-arguments-fn.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagestatementsgeneratorsargumentswithargumentslexjs">trunk/JSTests/test262/test/language/statements/generators/arguments-with-arguments-lex.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagestatementsgeneratorsparamstrailingcommalengthjs">trunk/JSTests/test262/test/language/statements/generators/params-trailing-comma-length.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagestatementsgeneratorsparamstrailingcommajs">trunk/JSTests/test262/test/language/statements/generators/params-trailing-comma.js</a></li>
</ul>

<h3>Removed Paths</h3>
<ul>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypegetFloat32detachedbufferafterintegerbyteoffsetjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/getFloat32/detached-buffer-after-integer-byteoffset.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypegetFloat64detachedbufferafterintegerbyteoffsetjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/getFloat64/detached-buffer-after-integer-byteoffset.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypegetInt16detachedbufferafterintegerbyteoffsetjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/getInt16/detached-buffer-after-integer-byteoffset.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypegetInt32detachedbufferafterintegerbyteoffsetjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/getInt32/detached-buffer-after-integer-byteoffset.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypegetInt8detachedbufferafterintegerbyteoffsetjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/getInt8/detached-buffer-after-integer-byteoffset.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypegetUint16detachedbufferafterintegerbyteoffsetjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/getUint16/detached-buffer-after-integer-byteoffset.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypegetUint32detachedbufferafterintegerbyteoffsetjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/getUint32/detached-buffer-after-integer-byteoffset.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypegetUint8detachedbufferafterintegerbyteoffsetjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/getUint8/detached-buffer-after-integer-byteoffset.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypesetFloat32detachedbufferafterintegerbyteoffsetjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/setFloat32/detached-buffer-after-integer-byteoffset.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypesetFloat64detachedbufferafterintegerbyteoffsetjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/setFloat64/detached-buffer-after-integer-byteoffset.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypesetInt16detachedbufferafterintegerbyteoffsetjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt16/detached-buffer-after-integer-byteoffset.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypesetInt32detachedbufferafterintegerbyteoffsetjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt32/detached-buffer-after-integer-byteoffset.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypesetInt8detachedbufferafterintegerbyteoffsetjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt8/detached-buffer-after-integer-byteoffset.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypesetUint16detachedbufferafterintegerbyteoffsetjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint16/detached-buffer-after-integer-byteoffset.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypesetUint32detachedbufferafterintegerbyteoffsetjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint32/detached-buffer-after-integer-byteoffset.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypesetUint8detachedbufferafterintegerbyteoffsetjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint8/detached-buffer-after-integer-byteoffset.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsProxysetPrototypeOfbooleantrapresultextensibletargetjs">trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/boolean-trap-result-extensible-target.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsProxysetPrototypeOfnotextensibletrapisfalsereturnfalsejs">trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/not-extensible-trap-is-false-return-false.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsProxysetPrototypeOfreturnisabruptjs">trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/return-is-abrupt.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsProxysetPrototypeOftrapisundefinedjs">trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/trap-is-undefined.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsRegExpprototypeglobal1510721js">trunk/JSTests/test262/test/built-ins/RegExp/prototype/global/15.10.7.2-1.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsRegExpprototypeignoreCase1510731js">trunk/JSTests/test262/test/built-ins/RegExp/prototype/ignoreCase/15.10.7.3-1.js</a></li>
<li>trunk/JSTests/test262/test/built-ins/RegExp/prototype/lastIndex/</li>
<li><a href="#trunkJSTeststest262testbuiltinsRegExpprototypemultiline1510741js">trunk/JSTests/test262/test/built-ins/RegExp/prototype/multiline/15.10.7.4-1.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsRegExpprototypesource1510711js">trunk/JSTests/test262/test/built-ins/RegExp/prototype/source/15.10.7.1-1.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsRegExpprototypestickythisinvalidobjjs">trunk/JSTests/test262/test/built-ins/RegExp/prototype/sticky/this-invalid-obj.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsRegExpprototypestickythisnonobjjs">trunk/JSTests/test262/test/built-ins/RegExp/prototype/sticky/this-non-obj.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsRegExpprototypestickythisregexpjs">trunk/JSTests/test262/test/built-ins/RegExp/prototype/sticky/this-regexp.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsRegExpprototypeunicodethisinvaldobjjs">trunk/JSTests/test262/test/built-ins/RegExp/prototype/unicode/this-invald-obj.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsRegExpprototypeunicodethisnonobjjs">trunk/JSTests/test262/test/built-ins/RegExp/prototype/unicode/this-non-obj.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsRegExpprototypeunicodethisregexpjs">trunk/JSTests/test262/test/built-ins/RegExp/prototype/unicode/this-regexp.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageargumentsobject10610cii2sjs">trunk/JSTests/test262/test/language/arguments-object/10.6-10-c-ii-2-s.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageblockscopesyntaxredeclarationglobalallowedtoredeclarefunctiondeclarationwithfunctiondeclarationjs">trunk/JSTests/test262/test/language/block-scope/syntax/redeclaration-global/allowed-to-redeclare-function-declaration-with-function-declaration.js</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkJSTestsChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/JSTests/ChangeLog (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/ChangeLog        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/ChangeLog        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -1,3 +1,617 @@
</span><ins>+2016-08-23  Keith Miller  &lt;keith_miller@apple.com&gt;
+
+        Update/add new test262 tests
+        https://bugs.webkit.org/show_bug.cgi?id=161098
+
+        Reviewed by Saam Barati.
+
+        * test262.yaml:
+        * test262/test/annexB/language/statements/for-in/bare-initializer.js: Added.
+        * test262/test/annexB/language/statements/for-in/const-initializer.js: Added.
+        * test262/test/annexB/language/statements/for-in/let-initializer.js: Added.
+        * test262/test/annexB/language/statements/for-in/nonstrict-initializer.js: Added.
+        (a):
+        * test262/test/annenxB/language/statements/for-in/strict-initializer.js: Added.
+        * test262/test/annexB/language/statements/for-in/var-arraybindingpattern-initializer.js: Added.
+        * test262/test/annexB/language/statements/for-in/var-objectbindingpattern-initializer.js: Added.
+        * test262/test/built-ins/AsyncFunction/AsyncFunction-construct.js: Added.
+        (AsyncFunction.async.foo):
+        * test262/test/built-ins/AsyncFunction/AsyncFunction-is-extensible.js: Added.
+        (AsyncFunction.async):
+        * test262/test/built-ins/AsyncFunction/AsyncFunction-is-subclass.js: Added.
+        (async.foo):
+        * test262/test/built-ins/AsyncFunction/AsyncFunction-length.js: Added.
+        (AsyncFunction.async.foo):
+        * test262/test/built-ins/AsyncFunction/AsyncFunction-name.js: Added.
+        (AsyncFunction.async.foo):
+        * test262/test/built-ins/AsyncFunction/AsyncFunction-prototype.js: Added.
+        (AsyncFunction.async.foo):
+        * test262/test/built-ins/AsyncFunction/AsyncFunction.js: Added.
+        (AsyncFunction.async.foo):
+        * test262/test/built-ins/AsyncFunction/AsyncFunctionPrototype-is-extensible.js: Added.
+        (AsyncFunction.async.foo):
+        * test262/test/built-ins/AsyncFunction/AsyncFunctionPrototype-prototype.js: Added.
+        (AsyncFunction.async.foo):
+        * test262/test/built-ins/AsyncFunction/AsyncFunctionPrototype-to-string.js: Added.
+        (AsyncFunction.async.foo):
+        * test262/test/built-ins/AsyncFunction/instance-construct.js: Added.
+        (async.foo):
+        * test262/test/built-ins/AsyncFunction/instance-has-name.js: Added.
+        (async.foo):
+        * test262/test/built-ins/AsyncFunction/instance-length.js: Added.
+        (async.l0):
+        (async.l1):
+        (async.l2):
+        * test262/test/built-ins/AsyncFunction/instance-prototype-property.js: Added.
+        (async.foo):
+        * test262/test/built-ins/AsyncFunction/is-not-a-global.js: Added.
+        * test262/test/built-ins/DataView/prototype/getFloat32/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/getFloat32/detached-buffer-after-integer-byteoffset.js.
+        * test262/test/built-ins/DataView/prototype/getFloat32/detached-buffer-before-outofrange-byteoffset.js:
+        * test262/test/built-ins/DataView/prototype/getFloat64/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/getFloat64/detached-buffer-after-integer-byteoffset.js.
+        * test262/test/built-ins/DataView/prototype/getFloat64/detached-buffer-before-outofrange-byteoffset.js:
+        * test262/test/built-ins/DataView/prototype/getInt16/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/getInt16/detached-buffer-after-integer-byteoffset.js.
+        * test262/test/built-ins/DataView/prototype/getInt16/detached-buffer-before-outofrange-byteoffset.js:
+        * test262/test/built-ins/DataView/prototype/getInt32/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/getInt32/detached-buffer-after-integer-byteoffset.js.
+        * test262/test/built-ins/DataView/prototype/getInt32/detached-buffer-before-outofrange-byteoffset.js:
+        * test262/test/built-ins/DataView/prototype/getInt8/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/getInt8/detached-buffer-after-integer-byteoffset.js.
+        * test262/test/built-ins/DataView/prototype/getInt8/detached-buffer-before-outofrange-byteoffset.js:
+        * test262/test/built-ins/DataView/prototype/getUint16/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/getUint16/detached-buffer-after-integer-byteoffset.js.
+        * test262/test/built-ins/DataView/prototype/getUint16/detached-buffer-before-outofrange-byteoffset.js:
+        * test262/test/built-ins/DataView/prototype/getUint32/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/getUint32/detached-buffer-after-integer-byteoffset.js.
+        * test262/test/built-ins/DataView/prototype/getUint32/detached-buffer-before-outofrange-byteoffset.js:
+        * test262/test/built-ins/DataView/prototype/getUint8/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/getUint8/detached-buffer-after-integer-byteoffset.js.
+        * test262/test/built-ins/DataView/prototype/getUint8/detached-buffer-before-outofrange-byteoffset.js:
+        * test262/test/built-ins/DataView/prototype/setFloat32/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/setFloat32/detached-buffer-after-integer-byteoffset.js.
+        * test262/test/built-ins/DataView/prototype/setFloat32/detached-buffer-before-outofrange-byteoffset.js:
+        * test262/test/built-ins/DataView/prototype/setFloat32/index-check-before-value-conversion.js:
+        * test262/test/built-ins/DataView/prototype/setFloat32/range-check-after-value-conversion.js:
+        * test262/test/built-ins/DataView/prototype/setFloat64/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/setFloat64/detached-buffer-after-integer-byteoffset.js.
+        * test262/test/built-ins/DataView/prototype/setFloat64/detached-buffer-before-outofrange-byteoffset.js:
+        * test262/test/built-ins/DataView/prototype/setFloat64/index-check-before-value-conversion.js:
+        * test262/test/built-ins/DataView/prototype/setFloat64/range-check-after-value-conversion.js:
+        * test262/test/built-ins/DataView/prototype/setInt16/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/setInt16/detached-buffer-after-integer-byteoffset.js.
+        * test262/test/built-ins/DataView/prototype/setInt16/detached-buffer-before-outofrange-byteoffset.js:
+        * test262/test/built-ins/DataView/prototype/setInt16/index-check-before-value-conversion.js:
+        * test262/test/built-ins/DataView/prototype/setInt16/range-check-after-value-conversion.js:
+        * test262/test/built-ins/DataView/prototype/setInt32/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/setInt32/detached-buffer-after-integer-byteoffset.js.
+        * test262/test/built-ins/DataView/prototype/setInt32/detached-buffer-before-outofrange-byteoffset.js:
+        * test262/test/built-ins/DataView/prototype/setInt32/index-check-before-value-conversion.js:
+        * test262/test/built-ins/DataView/prototype/setInt32/range-check-after-value-conversion.js:
+        * test262/test/built-ins/DataView/prototype/setInt8/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/setInt8/detached-buffer-after-integer-byteoffset.js.
+        * test262/test/built-ins/DataView/prototype/setInt8/detached-buffer-before-outofrange-byteoffset.js:
+        * test262/test/built-ins/DataView/prototype/setInt8/index-check-before-value-conversion.js:
+        * test262/test/built-ins/DataView/prototype/setInt8/range-check-after-value-conversion.js:
+        * test262/test/built-ins/DataView/prototype/setUint16/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/setUint16/detached-buffer-after-integer-byteoffset.js.
+        * test262/test/built-ins/DataView/prototype/setUint16/detached-buffer-before-outofrange-byteoffset.js:
+        * test262/test/built-ins/DataView/prototype/setUint16/index-check-before-value-conversion.js:
+        * test262/test/built-ins/DataView/prototype/setUint16/range-check-after-value-conversion.js:
+        * test262/test/built-ins/DataView/prototype/setUint32/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/setUint32/detached-buffer-after-integer-byteoffset.js.
+        * test262/test/built-ins/DataView/prototype/setUint32/detached-buffer-before-outofrange-byteoffset.js:
+        * test262/test/built-ins/DataView/prototype/setUint32/index-check-before-value-conversion.js:
+        * test262/test/built-ins/DataView/prototype/setUint32/range-check-after-value-conversion.js:
+        * test262/test/built-ins/DataView/prototype/setUint8/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/setUint8/detached-buffer-after-integer-byteoffset.js.
+        * test262/test/built-ins/DataView/prototype/setUint8/detached-buffer-before-outofrange-byteoffset.js:
+        * test262/test/built-ins/DataView/prototype/setUint8/index-check-before-value-conversion.js:
+        * test262/test/built-ins/DataView/prototype/setUint8/range-check-after-value-conversion.js:
+        * test262/test/built-ins/Function/prototype/bind/instance-construct-newtarget-boundtarget-bound.js: Added.
+        (A):
+        * test262/test/built-ins/Function/prototype/bind/instance-construct-newtarget-boundtarget.js: Added.
+        (A):
+        * test262/test/built-ins/Function/prototype/bind/instance-construct-newtarget-self-new.js: Added.
+        (A):
+        * test262/test/built-ins/Function/prototype/bind/instance-construct-newtarget-self-reflect.js: Added.
+        (A):
+        * test262/test/built-ins/Function/prototype/toString/AsyncFunction.js: Added.
+        (async.f):
+        * test262/test/built-ins/Function/prototype/toString/async-function-declaration.js: Added.
+        (async.f):
+        * test262/test/built-ins/Function/prototype/toString/async-function-expression.js: Added.
+        (let.f.async.f):
+        * test262/test/built-ins/Function/prototype/toString/async-method.js: Added.
+        (let.f.async.f):
+        (let.g.async.string_appeared_here):
+        * test262/test/built-ins/JSON/parse/reviver-array-define-prop-err.js: Added.
+        (defineProperty):
+        * test262/test/built-ins/JSON/parse/reviver-array-delete-err.js: Added.
+        (deleteProperty):
+        * test262/test/built-ins/JSON/parse/reviver-array-length-coerce-err.js: Added.
+        (uncoercible.valueOf):
+        (get if):
+        * test262/test/built-ins/JSON/parse/reviver-array-length-get-err.js: Added.
+        (get if):
+        * test262/test/built-ins/JSON/parse/reviver-call-err.js: Added.
+        * test262/test/built-ins/JSON/parse/reviver-get-name-err.js: Added.
+        (thrower):
+        * test262/test/built-ins/JSON/parse/reviver-object-define-prop-err.js: Added.
+        (defineProperty):
+        * test262/test/built-ins/JSON/parse/reviver-object-delete-err.js: Added.
+        (deleteProperty):
+        * test262/test/built-ins/JSON/parse/reviver-object-own-keys-err.js: Added.
+        (ownKeys):
+        * test262/test/built-ins/Number/prototype/toExponential/infinity.js: Added.
+        * test262/test/built-ins/Number/prototype/toExponential/nan.js: Added.
+        * test262/test/built-ins/Number/prototype/toExponential/prop-desc.js: Added.
+        * test262/test/built-ins/Number/prototype/toExponential/return-abrupt-tointeger-fractiondigits-symbol.js: Added.
+        * test262/test/built-ins/Number/prototype/toExponential/return-abrupt-tointeger-fractiondigits.js: Added.
+        (fd1.valueOf):
+        (fd2.toString):
+        * test262/test/built-ins/Number/prototype/toExponential/return-values.js: Added.
+        * test262/test/built-ins/Number/prototype/toExponential/this-is-0-fractiondigits-is-0.js: Added.
+        * test262/test/built-ins/Number/prototype/toExponential/this-is-0-fractiondigits-is-not-0.js: Added.
+        * test262/test/built-ins/Number/prototype/toExponential/this-type-not-number-or-number-object.js: Added.
+        * test262/test/built-ins/Number/prototype/toExponential/tointeger-fractiondigits.js: Added.
+        * test262/test/built-ins/Number/prototype/toExponential/undefined-fractiondigits.js: Added.
+        * test262/test/built-ins/Object/getOwnPropertyDescriptors/duplicate-keys.js:
+        * test262/test/built-ins/Object/getOwnPropertyDescriptors/proxy-undefined-descriptor.js: Added.
+        (badProxyHandlers.allowProxyTraps.getOwnPropertyDescriptor):
+        (badProxyHandlers.allowProxyTraps.ownKeys):
+        * test262/test/built-ins/Proxy/setPrototypeOf/boolean-trap-result-extensible-target.js: Removed.
+        (setPrototypeOf): Deleted.
+        * test262/test/built-ins/Proxy/setPrototypeOf/internals-call-order.js: Added.
+        (target.new.Proxy.Object.create.isExtensible):
+        (target.new.Proxy.Object.create.getPrototypeOf):
+        (target.new.Proxy.Object.create):
+        (setPrototypeOf):
+        * test262/test/built-ins/Proxy/setPrototypeOf/not-extensible-target-not-same-target-prototype.js:
+        (setPrototypeOf):
+        * test262/test/built-ins/Proxy/setPrototypeOf/not-extensible-target-same-target-prototype.js:
+        (setPrototypeOf):
+        * test262/test/built-ins/Proxy/setPrototypeOf/not-extensible-trap-is-false-return-false.js: Removed.
+        (setPrototypeOf): Deleted.
+        * test262/test/built-ins/Proxy/setPrototypeOf/return-abrupt-from-get-trap.js: Added.
+        * test262/test/built-ins/Proxy/setPrototypeOf/return-abrupt-from-isextensible-target.js: Added.
+        (isExtensible):
+        (setPrototypeOf):
+        * test262/test/built-ins/Proxy/setPrototypeOf/return-abrupt-from-target-getprototypeof.js: Added.
+        (getPrototypeOf):
+        (setPrototypeOf):
+        * test262/test/built-ins/Proxy/setPrototypeOf/return-abrupt-from-trap.js: Renamed from JSTests/test262/test/built-ins/Proxy/setPrototypeOf/return-is-abrupt.js.
+        (setPrototypeOf):
+        * test262/test/built-ins/Proxy/setPrototypeOf/return-is-abrupt.js:
+        (setPrototypeOf): Deleted.
+        * test262/test/built-ins/Proxy/setPrototypeOf/toboolean-trap-result-false.js: Added.
+        (isExtensible):
+        (setPrototypeOf):
+        * test262/test/built-ins/Proxy/setPrototypeOf/toboolean-trap-result-true-target-is-extensible.js: Added.
+        (isExtensible):
+        (getPrototypeOf):
+        (setPrototypeOf):
+        * test262/test/built-ins/Proxy/setPrototypeOf/trap-is-not-callable.js:
+        * test262/test/built-ins/Proxy/setPrototypeOf/trap-is-undefined-or-null.js: Added.
+        (setPrototypeOf):
+        * test262/test/built-ins/Proxy/setPrototypeOf/trap-is-undefined.js: Removed.
+        * test262/test/built-ins/RegExp/lastIndex.js: Added.
+        * test262/test/built-ins/RegExp/prototype/global/15.10.7.2-1.js: Removed.
+        * test262/test/built-ins/RegExp/prototype/global/this-val-invalid-obj.js: Added.
+        (get Object):
+        * test262/test/built-ins/RegExp/prototype/global/this-val-non-obj.js: Added.
+        (get Object):
+        * test262/test/built-ins/RegExp/prototype/global/this-val-regexp-prototype.js: Added.
+        * test262/test/built-ins/RegExp/prototype/ignoreCase/15.10.7.3-1.js: Removed.
+        * test262/test/built-ins/RegExp/prototype/ignoreCase/this-val-invalid-obj.js: Added.
+        (get Object):
+        * test262/test/built-ins/RegExp/prototype/ignoreCase/this-val-non-obj.js: Added.
+        (get Object):
+        * test262/test/built-ins/RegExp/prototype/ignoreCase/this-val-regexp-prototype.js: Added.
+        * test262/test/built-ins/RegExp/prototype/lastIndex/15.10.7.5-1.js: Removed.
+        * test262/test/built-ins/RegExp/prototype/lastIndex/15.10.7.5-2.js: Removed.
+        * test262/test/built-ins/RegExp/prototype/lastIndex/S15.10.7.5_A8.js: Removed.
+        (__re.hasOwnProperty): Deleted.
+        (__re.propertyIsEnumerable): Deleted.
+        (count.0): Deleted.
+        * test262/test/built-ins/RegExp/prototype/lastIndex/S15.10.7.5_A9.js: Removed.
+        (__re.hasOwnProperty): Deleted.
+        (catch): Deleted.
+        * test262/test/built-ins/RegExp/prototype/multiline/15.10.7.4-1.js: Removed.
+        * test262/test/built-ins/RegExp/prototype/multiline/this-val-invalid-obj.js: Added.
+        (get Object):
+        * test262/test/built-ins/RegExp/prototype/multiline/this-val-non-obj.js: Added.
+        (get Object):
+        * test262/test/built-ins/RegExp/prototype/multiline/this-val-regexp-prototype.js: Added.
+        * test262/test/built-ins/RegExp/prototype/no-regexp-matcher.js: Added.
+        * test262/test/built-ins/RegExp/prototype/source/15.10.7.1-1.js: Removed.
+        * test262/test/built-ins/RegExp/prototype/source/this-val-invalid-obj.js: Added.
+        (get Object):
+        * test262/test/built-ins/RegExp/prototype/source/this-val-non-obj.js: Added.
+        (get Object):
+        * test262/test/built-ins/RegExp/prototype/source/this-val-regexp-prototype.js: Added.
+        * test262/test/built-ins/RegExp/prototype/source/value-empty.js: Added.
+        * test262/test/built-ins/RegExp/prototype/source/value-line-terminator.js: Added.
+        * test262/test/built-ins/RegExp/prototype/source/value-u.js: Added.
+        * test262/test/built-ins/RegExp/prototype/source/value.js: Added.
+        * test262/test/built-ins/RegExp/prototype/sticky/this-val-invalid-obj.js: Renamed from JSTests/test262/test/built-ins/RegExp/prototype/sticky/this-invalid-obj.js.
+        * test262/test/built-ins/RegExp/prototype/sticky/this-val-non-obj.js: Renamed from JSTests/test262/test/built-ins/RegExp/prototype/sticky/this-non-obj.js.
+        * test262/test/built-ins/RegExp/prototype/sticky/this-val-regexp-prototype.js: Added.
+        * test262/test/built-ins/RegExp/prototype/sticky/this-val-regexp.js: Renamed from JSTests/test262/test/built-ins/RegExp/prototype/sticky/this-regexp.js.
+        * test262/test/built-ins/RegExp/prototype/unicode/this-val-invalid-obj.js: Renamed from JSTests/test262/test/built-ins/RegExp/prototype/unicode/this-invald-obj.js.
+        * test262/test/built-ins/RegExp/prototype/unicode/this-val-non-obj.js: Renamed from JSTests/test262/test/built-ins/RegExp/prototype/unicode/this-non-obj.js.
+        * test262/test/built-ins/RegExp/prototype/unicode/this-val-regexp-prototype.js: Added.
+        * test262/test/built-ins/RegExp/prototype/unicode/this-val-regexp.js: Renamed from JSTests/test262/test/built-ins/RegExp/prototype/unicode/this-regexp.js.
+        * test262/test/built-ins/String/numeric-properties.js: Added.
+        * test262/test/intl402/DateTimeFormat/prototype/formatToParts/date-is-infinity-throws.js: Added.
+        * test262/test/intl402/DateTimeFormat/prototype/formatToParts/date-is-nan-throws.js: Added.
+        * test262/test/intl402/DateTimeFormat/prototype/formatToParts/formatToParts.js: Added.
+        * test262/test/intl402/DateTimeFormat/prototype/formatToParts/length.js: Added.
+        * test262/test/intl402/DateTimeFormat/prototype/formatToParts/main.js: Added.
+        (reduce):
+        (compareFTPtoFormat):
+        * test262/test/intl402/DateTimeFormat/prototype/formatToParts/name.js: Added.
+        * test262/test/intl402/DateTimeFormat/prototype/formatToParts/return-abrupt-tonumber-date.js: Added.
+        (obj1.valueOf):
+        (obj2.toString):
+        * test262/test/intl402/DateTimeFormat/prototype/formatToParts/this-has-not-internal-throws.js: Added.
+        * test262/test/intl402/DateTimeFormat/prototype/formatToParts/this-is-not-object-throws.js: Added.
+        * test262/test/intl402/NumberFormat/prototype/formatToParts/formatToParts.js: Added.
+        * test262/test/intl402/NumberFormat/prototype/formatToParts/length.js: Added.
+        * test262/test/intl402/NumberFormat/prototype/formatToParts/main.js: Added.
+        (reduce):
+        (compareFTPtoFormat):
+        * test262/test/intl402/NumberFormat/prototype/formatToParts/name.js: Added.
+        * test262/test/intl402/NumberFormat/prototype/formatToParts/return-abrupt-tonumber.js: Added.
+        (obj1.valueOf):
+        (obj2.toString):
+        * test262/test/intl402/NumberFormat/prototype/formatToParts/this-has-not-internal-throws.js: Added.
+        * test262/test/intl402/NumberFormat/prototype/formatToParts/this-is-not-object-throws.js: Added.
+        * test262/test/language/arguments-object/10.6-10-c-ii-2-s.js:
+        (foo): Deleted.
+        * test262/test/language/arguments-object/unmapped/via-params-dflt.js: Added.
+        (dflt):
+        * test262/test/language/arguments-object/unmapped/via-params-dstr.js: Added.
+        (dstr):
+        * test262/test/language/arguments-object/unmapped/via-params-rest.js: Added.
+        (rest):
+        * test262/test/language/arguments-object/unmapped/via-strict.js: Renamed from JSTests/test262/test/language/arguments-object/10.6-10-c-ii-2-s.js.
+        (foo):
+        * test262/test/language/block-scope/syntax/redeclaration-global/allowed-to-redeclare-function-declaration-with-function-declaration.js:
+        (f): Deleted.
+        * test262/test/language/eval-code/direct/super-call-arrow.js: Added.
+        (catch):
+        * test262/test/language/eval-code/direct/super-call-fn.js: Added.
+        (f):
+        * test262/test/language/eval-code/direct/super-call.js: Added.
+        (catch):
+        * test262/test/language/eval-code/direct/super-prop-arrow.js: Added.
+        (catch):
+        * test262/test/language/eval-code/direct/super-prop-method.js: Added.
+        (o.method):
+        * test262/test/language/eval-code/direct/super-prop.js: Added.
+        (catch):
+        * test262/test/language/eval-code/indirect/super-call.js: Added.
+        (catch):
+        (try.m):
+        * test262/test/language/eval-code/indirect/super-prop.js: Added.
+        (catch):
+        (try.m):
+        * test262/test/language/expressions/arrow-function/params-trailing-comma-length.js: Added.
+        (assert.sameValue):
+        * test262/test/language/expressions/arrow-function/params-trailing-comma.js: Added.
+        * test262/test/language/expressions/async-arrow-function/arrow-returns-promise.js: Added.
+        (p.then):
+        * test262/test/language/expressions/async-arrow-function/early-errors-arrow-NSPL-with-USD.js: Added.
+        (async):
+        * test262/test/language/expressions/async-arrow-function/early-errors-arrow-arguments-in-formal-parameters.js: Added.
+        (async):
+        * test262/test/language/expressions/async-arrow-function/early-errors-arrow-await-in-formals-default.js: Added.
+        (async):
+        * test262/test/language/expressions/async-arrow-function/early-errors-arrow-await-in-formals.js: Added.
+        (async):
+        * test262/test/language/expressions/async-arrow-function/early-errors-arrow-body-contains-super-call.js: Added.
+        (async):
+        * test262/test/language/expressions/async-arrow-function/early-errors-arrow-body-contains-super-property.js: Added.
+        (async):
+        * test262/test/language/expressions/async-arrow-function/early-errors-arrow-duplicate-parameters.js: Added.
+        (async):
+        * test262/test/language/expressions/async-arrow-function/early-errors-arrow-eval-in-formal-parameters.js: Added.
+        (async):
+        * test262/test/language/expressions/async-arrow-function/early-errors-arrow-formals-body-duplicate.js: Added.
+        (async):
+        * test262/test/language/expressions/async-arrow-function/early-errors-arrow-formals-contains-super-call.js: Added.
+        (async.foo.super):
+        * test262/test/language/expressions/async-arrow-function/early-errors-arrow-formals-contains-super-property.js: Added.
+        (async):
+        * test262/test/language/expressions/async-function/early-errors-expression-NSPL-with-USD.js: Added.
+        (async):
+        * test262/test/language/expressions/async-function/early-errors-expression-binding-identifier-arguments.js: Added.
+        (async.arguments):
+        * test262/test/language/expressions/async-function/early-errors-expression-binding-identifier-eval.js: Added.
+        (async.eval):
+        * test262/test/language/expressions/async-function/early-errors-expression-body-contains-super-call.js: Added.
+        (async.foo):
+        * test262/test/language/expressions/async-function/early-errors-expression-body-contains-super-property.js: Added.
+        (async.foo):
+        * test262/test/language/expressions/async-function/early-errors-expression-eval-in-formal-parameters.js: Added.
+        (async.foo):
+        * test262/test/language/expressions/async-function/early-errors-expression-formals-body-duplicate.js: Added.
+        (async.foo):
+        * test262/test/language/expressions/async-function/early-errors-expression-formals-contains-super-call.js: Added.
+        (async.foo):
+        * test262/test/language/expressions/async-function/early-errors-expression-formals-contains-super-property.js: Added.
+        (async.foo):
+        * test262/test/language/expressions/async-function/early-errors-expression-not-simple-assignment-target.js: Added.
+        (async.foo):
+        * test262/test/language/expressions/async-function/expression-returns-promise.js: Added.
+        (p.async):
+        * test262/test/language/expressions/async-function/syntax-expression-is-PrimaryExpression.js: Added.
+        (async.foo):
+        * test262/test/language/expressions/await/await-BindingIdentifier-in-global.js: Added.
+        (async.await):
+        * test262/test/language/expressions/await/await-BindingIdentifier-nested.js: Added.
+        (async.foo.await):
+        (async.foo):
+        * test262/test/language/expressions/await/await-awaits-thenable-not-callable.js: Added.
+        (async.foo):
+        * test262/test/language/expressions/await/await-awaits-thenables-that-throw.js: Added.
+        (thenable.then):
+        (async.foo):
+        * test262/test/language/expressions/await/await-awaits-thenables.js: Added.
+        (thenable.then):
+        (async.foo):
+        * test262/test/language/expressions/await/await-in-function.js: Added.
+        (foo):
+        * test262/test/language/expressions/await/await-in-generator.js: Added.
+        (foo):
+        * test262/test/language/expressions/await/await-in-global.js: Added.
+        * test262/test/language/expressions/await/await-in-nested-function.js: Added.
+        (async.foo.bar):
+        (async.foo):
+        * test262/test/language/expressions/await/await-in-nested-generator.js: Added.
+        (async.foo.bar):
+        (async.foo):
+        * test262/test/language/expressions/await/await-throws-rejections.js: Added.
+        (async.foo):
+        * test262/test/language/expressions/await/early-errors-await-not-simple-assignment-target.js: Added.
+        (async.foo):
+        * test262/test/language/expressions/await/no-operand.js: Added.
+        (async.foo):
+        * test262/test/language/expressions/await/syntax-await-has-UnaryExpression-with-MultiplicativeExpression.js: Added.
+        (async.foo):
+        * test262/test/language/expressions/await/syntax-await-has-UnaryExpression.js: Added.
+        (async.foo):
+        * test262/test/language/expressions/call/trailing-comma.js: Added.
+        (foo):
+        * test262/test/language/expressions/function/arguments-with-arguments-fn.js: Added.
+        (f):
+        * test262/test/language/expressions/function/arguments-with-arguments-lex.js: Added.
+        (f):
+        * test262/test/language/expressions/function/params-trailing-comma-arguments.js: Added.
+        (f1):
+        (f2):
+        * test262/test/language/expressions/function/params-trailing-comma-length.js: Added.
+        (assert.sameValue):
+        * test262/test/language/expressions/function/params-trailing-comma.js: Added.
+        * test262/test/language/expressions/generators/arguments-with-arguments-fn.js: Added.
+        (g):
+        * test262/test/language/expressions/generators/arguments-with-arguments-lex.js: Added.
+        (g):
+        * test262/test/language/expressions/generators/params-trailing-comma-arguments.js: Added.
+        (f1):
+        (f2):
+        * test262/test/language/expressions/generators/params-trailing-comma-length.js: Added.
+        (assert.sameValue):
+        * test262/test/language/expressions/generators/params-trailing-comma.js: Added.
+        * test262/test/language/expressions/object/computed-property-evaluation-order.js: Added.
+        * test262/test/language/expressions/object/method-definition/async-super-call-body.js: Added.
+        (sup.method):
+        (child.async.method):
+        * test262/test/language/expressions/object/method-definition/async-super-call-param.js: Added.
+        (sup.method):
+        (child.async.method.x.super.method):
+        * test262/test/language/expressions/object/method-definition/early-errors-object-method-NSPL-with-USD.js: Added.
+        (foo):
+        * test262/test/language/expressions/object/method-definition/early-errors-object-method-arguments-in-formal-parameters.js: Added.
+        (async.foo):
+        * test262/test/language/expressions/object/method-definition/early-errors-object-method-await-in-formals-default.js: Added.
+        (async.foo):
+        * test262/test/language/expressions/object/method-definition/early-errors-object-method-await-in-formals.js: Added.
+        (async.foo):
+        * test262/test/language/expressions/object/method-definition/early-errors-object-method-body-contains-super-call.js: Added.
+        (async.foo):
+        * test262/test/language/expressions/object/method-definition/early-errors-object-method-duplicate-parameters.js: Added.
+        (async.foo):
+        * test262/test/language/expressions/object/method-definition/early-errors-object-method-eval-in-formal-parameters.js: Added.
+        (async.foo):
+        * test262/test/language/expressions/object/method-definition/early-errors-object-method-formals-body-duplicate.js: Added.
+        (async.foo):
+        * test262/test/language/expressions/object/method-definition/early-errors-object-method-formals-contains-super-call.js: Added.
+        (async.foo.foo.super):
+        * test262/test/language/expressions/object/method-definition/object-method-returns-promise.js: Added.
+        (obj.async.method):
+        * test262/test/language/expressions/object/method-definition/params-trailing-comma-arguments.js: Added.
+        (obj.f1):
+        (obj.f2):
+        * test262/test/language/expressions/object/method-definition/params-trailing-comma-length.js: Added.
+        (obj.one):
+        (obj.two):
+        * test262/test/language/expressions/object/method-definition/params-trailing-comma-rest.js: Added.
+        (m):
+        * test262/test/language/expressions/object/method-definition/params-trailing-comma.js: Added.
+        (one):
+        (two):
+        * test262/test/language/global-code/decl-func-dup.js: Renamed from JSTests/test262/test/language/block-scope/syntax/redeclaration-global/allowed-to-redeclare-function-declaration-with-function-declaration.js.
+        (f):
+        * test262/test/language/global-code/decl-func.js: Added.
+        (brandNew):
+        * test262/test/language/global-code/decl-lex-configurable-global.js: Added.
+        * test262/test/language/global-code/decl-lex-deletion.js: Added.
+        (test262class):
+        * test262/test/language/global-code/decl-lex-restricted-global.js: Added.
+        * test262/test/language/global-code/decl-lex.js: Added.
+        (test262class):
+        * test262/test/language/global-code/decl-var.js: Added.
+        * test262/test/language/global-code/return.js: Added.
+        * test262/test/language/global-code/script-decl-func-dups.js: Added.
+        * test262/test/language/global-code/script-decl-func-err-non-configurable.js: Added.
+        * test262/test/language/global-code/script-decl-func-err-non-extensible.js: Added.
+        * test262/test/language/global-code/script-decl-func.js: Added.
+        * test262/test/language/global-code/script-decl-lex-deletion.js: Added.
+        * test262/test/language/global-code/script-decl-lex-lex.js: Added.
+        (test262Class):
+        * test262/test/language/global-code/script-decl-lex-restricted-global.js: Added.
+        * test262/test/language/global-code/script-decl-lex-var.js: Added.
+        (test262Fn):
+        * test262/test/language/global-code/script-decl-lex.js: Added.
+        * test262/test/language/global-code/script-decl-var-collision.js: Added.
+        (test262Class):
+        * test262/test/language/global-code/script-decl-var-err.js: Added.
+        * test262/test/language/global-code/script-decl-var.js: Added.
+        * test262/test/language/global-code/super-call-arrow.js: Added.
+        * test262/test/language/global-code/super-call.js: Added.
+        * test262/test/language/global-code/super-prop-arrow.js: Added.
+        * test262/test/language/global-code/super-prop.js: Added.
+        * test262/test/language/global-code/yield-non-strict.js: Added.
+        (catch):
+        * test262/test/language/global-code/yield-strict.js: Added.
+        * test262/test/language/literals/regexp/lastIndex.js: Added.
+        * test262/test/language/literals/regexp/u-unicode-esc-bounds.js:
+        * test262/test/language/literals/regexp/y-assertion-start.js: Added.
+        * test262/test/language/module-code/instn-star-err-not-found-faulty_FIXTURE.js:
+        * test262/test/language/module-code/instn-star-err-not-found.js:
+        * test262/test/language/module-code/namespace/internals/get-own-property-str-found-init.js:
+        * test262/test/language/module-code/parse-err-return.js: Added.
+        * test262/test/language/module-code/parse-err-yield.js: Added.
+        * test262/test/language/rest-parameters/params-trailing-comma-rest.js: Added.
+        * test262/test/language/statements/async-function/declaration-returns-promise.js: Added.
+        (async.foo):
+        * test262/test/language/statements/async-function/early-errors-declaration-NSPL-with-USD.js: Added.
+        (async.foo):
+        * test262/test/language/statements/async-function/early-errors-declaration-arguments-in-formal-parameters.js: Added.
+        (async.foo):
+        * test262/test/language/statements/async-function/early-errors-declaration-await-in-formals-default.js: Added.
+        (async.foo):
+        * test262/test/language/statements/async-function/early-errors-declaration-await-in-formals.js: Added.
+        (async.foo):
+        * test262/test/language/statements/async-function/early-errors-declaration-binding-identifier-arguments.js: Added.
+        (async.arguments):
+        * test262/test/language/statements/async-function/early-errors-declaration-binding-identifier-eval.js: Added.
+        (async.eval):
+        * test262/test/language/statements/async-function/early-errors-declaration-body-contains-super-call.js: Added.
+        (async.foo):
+        * test262/test/language/statements/async-function/early-errors-declaration-body-contains-super-property.js: Added.
+        (async.foo):
+        * test262/test/language/statements/async-function/early-errors-declaration-duplicate-parameters.js: Added.
+        (async.foo):
+        * test262/test/language/statements/async-function/early-errors-declaration-eval-in-formal-parameters.js: Added.
+        (async.foo):
+        * test262/test/language/statements/async-function/early-errors-declaration-formals-body-duplicate.js: Added.
+        (async.foo):
+        * test262/test/language/statements/async-function/early-errors-declaration-formals-contains-super-call.js: Added.
+        (async.foo):
+        * test262/test/language/statements/async-function/early-errors-declaration-formals-contains-super-property.js: Added.
+        (async.foo):
+        * test262/test/language/statements/async-function/early-errors-no-async-generator.js: Added.
+        (async.foo):
+        * test262/test/language/statements/async-function/evaluation-body-that-returns-after-await.js: Added.
+        (async.foo):
+        (foo.then):
+        * test262/test/language/statements/async-function/evaluation-body-that-returns.js: Added.
+        (async.foo):
+        (foo.then):
+        * test262/test/language/statements/async-function/evaluation-body-that-throws-after-await.js: Added.
+        (async.foo):
+        (foo.then):
+        * test262/test/language/statements/async-function/evaluation-body-that-throws.js: Added.
+        (async.foo):
+        (foo.then):
+        * test262/test/language/statements/async-function/evaluation-body.js: Added.
+        (async.foo):
+        * test262/test/language/statements/async-function/evaluation-default-that-throws.js: Added.
+        (async.foo):
+        (foo.then):
+        * test262/test/language/statements/async-function/evaluation-mapped-arguments.js: Added.
+        (async.foo):
+        * test262/test/language/statements/async-function/evaluation-this-value-global.js: Added.
+        (async.foo):
+        * test262/test/language/statements/async-function/evaluation-this-value-passed.js: Added.
+        (async.foo):
+        * test262/test/language/statements/async-function/evaluation-unmapped-arguments.js: Added.
+        (async.foo):
+        * test262/test/language/statements/async-function/syntax-declaration-line-terminators-allowed.js: Added.
+        (async.foo):
+        * test262/test/language/statements/async-function/syntax-declaration-no-line-terminator.js: Added.
+        (async.foo):
+        * test262/test/language/statements/async-function/syntax-declaration.js: Added.
+        (async.foo):
+        (foo.then):
+        * test262/test/language/statements/class/definition/class-method-returns-promise.js: Added.
+        (Foo.prototype.async.method):
+        (Foo):
+        * test262/test/language/statements/class/definition/early-errors-class-method-NSPL-with-USD.js: Added.
+        (Foo.prototype.async.bar):
+        (Foo):
+        * test262/test/language/statements/class/definition/early-errors-class-method-arguments-in-formal-parameters.js: Added.
+        (Foo.prototype.async.foo):
+        (Foo):
+        * test262/test/language/statements/class/definition/early-errors-class-method-await-in-formals-default.js: Added.
+        (Foo.prototype.async.foo):
+        (Foo):
+        * test262/test/language/statements/class/definition/early-errors-class-method-await-in-formals.js: Added.
+        (Foo.prototype.async.foo):
+        (Foo):
+        * test262/test/language/statements/class/definition/early-errors-class-method-body-contains-super-call.js: Added.
+        (Foo.prototype.async.foo):
+        (Foo):
+        * test262/test/language/statements/class/definition/early-errors-class-method-duplicate-parameters.js: Added.
+        (Foo.prototype.async.foo):
+        (Foo):
+        * test262/test/language/statements/class/definition/early-errors-class-method-eval-in-formal-parameters.js: Added.
+        (Foo.prototype.async.foo):
+        (Foo):
+        * test262/test/language/statements/class/definition/early-errors-class-method-formals-body-duplicate.js: Added.
+        (Foo.async.foo):
+        (Foo):
+        * test262/test/language/statements/class/definition/early-errors-class-method-formals-contains-super-call.js: Added.
+        (Foo.prototype.async.foo):
+        (Foo):
+        * test262/test/language/statements/class/definition/methods-async-super-call-body.js: Added.
+        (A.prototype.async.method):
+        (A):
+        (B.prototype.async.method):
+        (B):
+        * test262/test/language/statements/class/definition/methods-async-super-call-param.js: Added.
+        (A.prototype.async.method):
+        (A):
+        (B.prototype.async.method):
+        (B):
+        * test262/test/language/statements/class/definition/params-trailing-comma-arguments.js: Added.
+        (C.prototype.f1):
+        (C.prototype.f2):
+        (C):
+        * test262/test/language/statements/class/definition/params-trailing-comma-length.js: Added.
+        (C.prototype.one):
+        (C.prototype.two):
+        (C):
+        * test262/test/language/statements/class/definition/params-trailing-comma-rest.js: Added.
+        (C.prototype.m):
+        (C):
+        * test262/test/language/statements/class/definition/params-trailing-comma.js: Added.
+        (C.prototype.one):
+        (C.prototype.two):
+        (C):
+        * test262/test/language/statements/function/arguments-with-arguments-fn.js: Added.
+        (f):
+        * test262/test/language/statements/function/arguments-with-arguments-lex.js: Added.
+        (f):
+        * test262/test/language/statements/function/params-trailing-comma-arguments.js: Added.
+        (f1):
+        (f2):
+        * test262/test/language/statements/function/params-trailing-comma-length.js: Added.
+        (one):
+        (two):
+        * test262/test/language/statements/function/params-trailing-comma.js: Added.
+        (one):
+        (two):
+        * test262/test/language/statements/generators/arguments-with-arguments-fn.js: Added.
+        (g):
+        * test262/test/language/statements/generators/arguments-with-arguments-lex.js: Added.
+        (g):
+        * test262/test/language/statements/generators/params-trailing-comma-length.js: Added.
+        (one):
+        (two):
+        * test262/test/language/statements/generators/params-trailing-comma.js: Added.
+        (one):
+        (two):
+        * test262/test262-Revision.txt:
+
</ins><span class="cx"> 2016-08-23  Benjamin Poulain  &lt;bpoulain@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         [JSC] Make Math.cos() and Math.sin() work with any argument type
</span></span></pre></div>
<a id="trunkJSTeststest262testannexBlanguagestatementsforinbareinitializerjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/annexB/language/statements/for-in/bare-initializer.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/annexB/language/statements/for-in/bare-initializer.js                                (rev 0)
+++ trunk/JSTests/test262/test/annexB/language/statements/for-in/bare-initializer.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,12 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-initializers-in-forin-statement-heads
+description: &gt;
+    for-in heads prohibit AssignmentExpressions
+negative: SyntaxError
+---*/
+var a;
+throw NotEarlyError;
+for (a = 0 in {});
+
</ins></span></pre></div>
<a id="trunkJSTeststest262testannexBlanguagestatementsforinconstinitializerjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/annexB/language/statements/for-in/const-initializer.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/annexB/language/statements/for-in/const-initializer.js                                (rev 0)
+++ trunk/JSTests/test262/test/annexB/language/statements/for-in/const-initializer.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,11 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-initializers-in-forin-statement-heads
+description: &gt;
+    for-in initializers with const are prohibited
+negative: SyntaxError
+---*/
+throw NotEarlyError;
+for (const a = 0 in {});
+
</ins></span></pre></div>
<a id="trunkJSTeststest262testannexBlanguagestatementsforinletinitializerjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/annexB/language/statements/for-in/let-initializer.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/annexB/language/statements/for-in/let-initializer.js                                (rev 0)
+++ trunk/JSTests/test262/test/annexB/language/statements/for-in/let-initializer.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,11 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-initializers-in-forin-statement-heads
+description: &gt;
+    for-in initializers with let are prohibited
+negative: SyntaxError
+---*/
+throw NotEarlyError;
+for (let a = 0 in {});
+
</ins></span></pre></div>
<a id="trunkJSTeststest262testannexBlanguagestatementsforinnonstrictinitializerjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/annexB/language/statements/for-in/nonstrict-initializer.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/annexB/language/statements/for-in/nonstrict-initializer.js                                (rev 0)
+++ trunk/JSTests/test262/test/annexB/language/statements/for-in/nonstrict-initializer.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,39 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-initializers-in-forin-statement-heads
+description: &gt;
+    for-in initializers in nonstrict mode
+flags: [noStrict]
+---*/
+(function() {
+  var effects = 0;
+  for (var a = ++effects in {});
+  assert.sameValue(effects, 1);
+})();
+
+
+(function() {
+  var stored;
+  for (var a = 0 in stored = a, {});
+  assert.sameValue(stored, 0);
+})();
+
+
+(function() {
+  for (var a = 0 in {});
+  assert.sameValue(a, 0);
+})();
+
+
+(function() {
+  var effects = 0;
+  var iterations = 0;
+  var stored;
+  for (var a = (++effects, -1) in stored = a, {a: 0, b: 1, c: 2}) {
+    ++iterations;
+  }
+  assert.sameValue(stored, -1, &quot;Initialized value should be available to RHS&quot;);
+  assert.sameValue(effects, 1, &quot;Initializer should only be executed once&quot;);
+  assert.sameValue(iterations, 3, &quot;Loop body should be executed the appropriate number of times&quot;);
+})();
</ins></span></pre></div>
<a id="trunkJSTeststest262testannexBlanguagestatementsforinstrictinitializerjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/annexB/language/statements/for-in/strict-initializer.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/annexB/language/statements/for-in/strict-initializer.js                                (rev 0)
+++ trunk/JSTests/test262/test/annexB/language/statements/for-in/strict-initializer.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,12 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-initializers-in-forin-statement-heads
+description: &gt;
+    for-in initializers in strict mode are prohibited
+negative: SyntaxError
+flags: [onlyStrict]
+---*/
+throw NotEarlyError;
+for (var a = 0 in {});
+
</ins></span></pre></div>
<a id="trunkJSTeststest262testannexBlanguagestatementsforinvararraybindingpatterninitializerjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/annexB/language/statements/for-in/var-arraybindingpattern-initializer.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/annexB/language/statements/for-in/var-arraybindingpattern-initializer.js                                (rev 0)
+++ trunk/JSTests/test262/test/annexB/language/statements/for-in/var-arraybindingpattern-initializer.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,11 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-initializers-in-forin-statement-heads
+description: &gt;
+    for-in initializers with ArrayBindingPatterns are always prohibited
+negative: SyntaxError
+---*/
+throw NotEarlyError;
+for (var [a] = 0 in {});
+
</ins></span></pre></div>
<a id="trunkJSTeststest262testannexBlanguagestatementsforinvarobjectbindingpatterninitializerjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/annexB/language/statements/for-in/var-objectbindingpattern-initializer.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/annexB/language/statements/for-in/var-objectbindingpattern-initializer.js                                (rev 0)
+++ trunk/JSTests/test262/test/annexB/language/statements/for-in/var-objectbindingpattern-initializer.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,11 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-initializers-in-forin-statement-heads
+description: &gt;
+    for-in initializers with ObjectBindingPattern are always prohibited
+negative: SyntaxError
+---*/
+throw NotEarlyError;
+for (var {a} = 0 in {});
+
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsAsyncFunctionAsyncFunctionconstructjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/AsyncFunction/AsyncFunction-construct.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/AsyncFunction/AsyncFunction-construct.js                                (rev 0)
+++ trunk/JSTests/test262/test/built-ins/AsyncFunction/AsyncFunction-construct.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,31 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson &lt;brian.terlson@microsoft.com&gt;
+esid: pending
+description: &gt;
+  %AsyncFunction% creates functions with or without new and handles arguments
+  similarly to functions.
+---*/
+
+var AsyncFunction = async function foo() { }.constructor;
+var fn;
+
+fn = AsyncFunction(&quot;a&quot;, &quot;await 1;&quot;);
+assert.sameValue(fn.length, 1, &quot;length with 1 argument, call&quot;);
+
+fn = AsyncFunction(&quot;a,b&quot;, &quot;await 1;&quot;);
+assert.sameValue(fn.length, 2, &quot;length with 2 arguments in one, call&quot;);
+
+fn = AsyncFunction(&quot;a&quot;, &quot;b&quot;, &quot;await 1;&quot;);
+assert.sameValue(fn.length, 2, &quot;length with 2 arguments, call&quot;);
+
+fn = new AsyncFunction(&quot;a&quot;, &quot;await 1;&quot;);
+assert.sameValue(fn.length, 1, &quot;length with 1 argument, construct&quot;);
+
+fn = new AsyncFunction(&quot;a,b&quot;, &quot;await 1;&quot;);
+assert.sameValue(fn.length, 2, &quot;length with 2 arguments in one, construct&quot;);
+
+fn = new AsyncFunction(&quot;a&quot;, &quot;b&quot;, &quot;await 1;&quot;);
+assert.sameValue(fn.length, 2, &quot;length with 2 arguments, construct&quot;);
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsAsyncFunctionAsyncFunctionisextensiblejs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/AsyncFunction/AsyncFunction-is-extensible.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/AsyncFunction/AsyncFunction-is-extensible.js                                (rev 0)
+++ trunk/JSTests/test262/test/built-ins/AsyncFunction/AsyncFunction-is-extensible.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,13 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson &lt;brian.terlson@microsoft.com&gt;
+esid: pending
+description: &gt;
+  %AsyncFunction% is extensible
+---*/
+
+var AsyncFunction = async function() { }.constructor;
+AsyncFunction.x = 1;
+assert.sameValue(AsyncFunction.x, 1);
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsAsyncFunctionAsyncFunctionissubclassjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/AsyncFunction/AsyncFunction-is-subclass.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/AsyncFunction/AsyncFunction-is-subclass.js                                (rev 0)
+++ trunk/JSTests/test262/test/built-ins/AsyncFunction/AsyncFunction-is-subclass.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,15 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson &lt;brian.terlson@microsoft.com&gt;
+esid: pending
+description: &gt;
+  %AsyncFunction% is a subclass of Function
+---*/
+async function foo() { };
+var AsyncFunction = foo.constructor;
+assert.sameValue(Object.getPrototypeOf(AsyncFunction), Function, &quot;Prototype of constructor is Function&quot;);
+assert.sameValue(Object.getPrototypeOf(AsyncFunction.prototype), Function.prototype, &quot;Prototype of constructor's prototype is Function.prototype&quot;);
+assert(foo instanceof Function, 'async function instance is instanceof Function');
+
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsAsyncFunctionAsyncFunctionlengthjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/AsyncFunction/AsyncFunction-length.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/AsyncFunction/AsyncFunction-length.js                                (rev 0)
+++ trunk/JSTests/test262/test/built-ins/AsyncFunction/AsyncFunction-length.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,16 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson &lt;brian.terlson@microsoft.com&gt;
+esid: pending
+description: &gt;
+  %AsyncFunction% has a length of 1 with writable false, enumerable false, configurable true.
+includes: [propertyHelper.js]
+---*/
+
+var AsyncFunction = async function foo() { }.constructor;
+assert.sameValue(AsyncFunction.length, 1);
+verifyNotWritable(AsyncFunction, 'length');
+verifyNotEnumerable(AsyncFunction, 'length');
+verifyConfigurable(AsyncFunction, 'length');
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsAsyncFunctionAsyncFunctionnamejs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/AsyncFunction/AsyncFunction-name.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/AsyncFunction/AsyncFunction-name.js                                (rev 0)
+++ trunk/JSTests/test262/test/built-ins/AsyncFunction/AsyncFunction-name.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,16 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson &lt;brian.terlson@microsoft.com&gt;
+esid: pending
+description: &gt;
+  %AsyncFunction% has a name of &quot;AsyncFunction&quot;.
+includes: [propertyHelper.js]
+---*/
+
+var AsyncFunction = async function foo() { }.constructor;
+assert.sameValue(AsyncFunction.name, &quot;AsyncFunction&quot;);
+verifyNotWritable(AsyncFunction, &quot;name&quot;);
+verifyNotEnumerable(AsyncFunction, &quot;name&quot;);
+verifyConfigurable(AsyncFunction, &quot;name&quot;);
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsAsyncFunctionAsyncFunctionprototypejs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/AsyncFunction/AsyncFunction-prototype.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/AsyncFunction/AsyncFunction-prototype.js                                (rev 0)
+++ trunk/JSTests/test262/test/built-ins/AsyncFunction/AsyncFunction-prototype.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,14 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson &lt;brian.terlson@microsoft.com&gt;
+esid: pending
+description: AsyncFunction has a prototype property with writable false, enumerable false, configurable false.
+includes: [propertyHelper.js]
+---*/
+
+var AsyncFunction = async function foo() { }.constructor;
+verifyNotConfigurable(AsyncFunction, 'prototype');
+verifyNotWritable(AsyncFunction, 'prototype');
+verifyNotEnumerable(AsyncFunction, 'prototype');
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsAsyncFunctionAsyncFunctionjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/AsyncFunction/AsyncFunction.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/AsyncFunction/AsyncFunction.js                                (rev 0)
+++ trunk/JSTests/test262/test/built-ins/AsyncFunction/AsyncFunction.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,12 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson &lt;brian.terlson@microsoft.com&gt;
+esid: pending
+description: &gt;
+  %AsyncFunction% exists and is a function
+---*/
+
+var AsyncFunction = async function foo() { }.constructor;
+assert.sameValue(typeof AsyncFunction, &quot;function&quot;);
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsAsyncFunctionAsyncFunctionPrototypeisextensiblejs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/AsyncFunction/AsyncFunctionPrototype-is-extensible.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/AsyncFunction/AsyncFunctionPrototype-is-extensible.js                                (rev 0)
+++ trunk/JSTests/test262/test/built-ins/AsyncFunction/AsyncFunctionPrototype-is-extensible.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,14 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson &lt;brian.terlson@microsoft.com&gt;
+esid: pending
+description: &gt;
+  %AsyncFunctionPrototype% has a [[Extensible]] of true
+---*/
+
+var AsyncFunction = async function foo() { }.constructor;
+AsyncFunction.prototype.x = 1;
+assert.sameValue(AsyncFunction.prototype.x, 1);
+
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsAsyncFunctionAsyncFunctionPrototypeprototypejs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/AsyncFunction/AsyncFunctionPrototype-prototype.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/AsyncFunction/AsyncFunctionPrototype-prototype.js                                (rev 0)
+++ trunk/JSTests/test262/test/built-ins/AsyncFunction/AsyncFunctionPrototype-prototype.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,10 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson &lt;brian.terlson@microsoft.com&gt;
+esid: pending
+description: AsyncFunction.prototype has a [[prototype]] of Function.prototype
+---*/
+var AsyncFunction = async function foo() { }.constructor;
+assert.sameValue(Object.getPrototypeOf(AsyncFunction.prototype), Function.prototype);
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsAsyncFunctionAsyncFunctionPrototypetostringjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/AsyncFunction/AsyncFunctionPrototype-to-string.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/AsyncFunction/AsyncFunctionPrototype-to-string.js                                (rev 0)
+++ trunk/JSTests/test262/test/built-ins/AsyncFunction/AsyncFunctionPrototype-to-string.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,17 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson &lt;brian.terlson@microsoft.com&gt;
+esid: pending
+description: &gt;
+  %AsyncFunctionPrototype% has a Symbol.toStringTag property of &quot;AsyncFunction&quot;
+includes: [propertyHelper.js]
+---*/
+
+var AsyncFunction = async function foo() { }.constructor;
+var AFP = AsyncFunction.prototype;
+assert.sameValue(AFP[Symbol.toStringTag], &quot;AsyncFunction&quot;, &quot;toStringTag value&quot;);
+verifyNotWritable(AFP, Symbol.toStringTag);
+verifyNotEnumerable(AFP, Symbol.toStringTag);
+verifyConfigurable(AFP, Symbol.toStringTag);
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsAsyncFunctioninstanceconstructjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/AsyncFunction/instance-construct.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/AsyncFunction/instance-construct.js                                (rev 0)
+++ trunk/JSTests/test262/test/built-ins/AsyncFunction/instance-construct.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,16 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson &lt;brian.terlson@microsoft.com&gt;
+esid: pending
+description: &gt;
+  Async function instances are not constructors and do not have a
+  [[Construct]] slot.
+---*/
+
+async function foo() { }
+assert.throws(TypeError, function() {
+  new foo();
+});
+
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsAsyncFunctioninstancehasnamejs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/AsyncFunction/instance-has-name.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/AsyncFunction/instance-has-name.js                                (rev 0)
+++ trunk/JSTests/test262/test/built-ins/AsyncFunction/instance-has-name.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,16 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson &lt;brian.terlson@microsoft.com&gt;
+esid: pending
+description: Async function declarations have a name property
+includes: [propertyHelper.js]
+---*/
+
+async function foo () { };
+
+assert.sameValue(foo.name, &quot;foo&quot;);
+verifyNotWritable(foo, &quot;name&quot;);
+verifyNotEnumerable(foo, &quot;name&quot;);
+verifyConfigurable(foo, &quot;name&quot;);
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsAsyncFunctioninstancelengthjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/AsyncFunction/instance-length.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/AsyncFunction/instance-length.js                                (rev 0)
+++ trunk/JSTests/test262/test/built-ins/AsyncFunction/instance-length.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,22 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson &lt;brian.terlson@microsoft.com&gt;
+esid: pending
+description: &gt;
+  Async functions have a length property that is the number of expected
+  arguments.
+includes: [propertyHelper.js]
+---*/
+
+async function l0() { }
+async function l1(a) { }
+async function l2(a, b) { }
+assert.sameValue(l0.length, 0);
+assert.sameValue(l1.length, 1);
+assert.sameValue(l2.length, 2)
+
+verifyNotWritable(l0, 'length');
+verifyNotEnumerable(l0, 'length');
+verifyConfigurable(l0, 'length');
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsAsyncFunctioninstanceprototypepropertyjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/AsyncFunction/instance-prototype-property.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/AsyncFunction/instance-prototype-property.js                                (rev 0)
+++ trunk/JSTests/test262/test/built-ins/AsyncFunction/instance-prototype-property.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,12 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson &lt;brian.terlson@microsoft.com&gt;
+esid: pending
+description: &gt;
+  Async function instances do not have a prototype property.
+---*/
+async function foo() { };
+assert.sameValue(foo.prototype, undefined, 'foo.prototype should be undefined');
+assert(!foo.hasOwnProperty('prototype'), 'foo.prototype should not exist');
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsAsyncFunctionisnotaglobaljs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/AsyncFunction/is-not-a-global.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/AsyncFunction/is-not-a-global.js                                (rev 0)
+++ trunk/JSTests/test262/test/built-ins/AsyncFunction/is-not-a-global.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,13 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson &lt;brian.terlson@microsoft.com&gt;
+esid: pending
+description: &gt;
+  %AsyncFunction% is not exposed as a global
+---*/
+
+assert.throws(ReferenceError, function () {
+  AsyncFunction
+}, &quot;AsyncFunction should not be present as a global&quot;);
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypegetFloat32detachedbufferafterintegerbyteoffsetjs"></a>
<div class="delfile"><h4>Deleted: trunk/JSTests/test262/test/built-ins/DataView/prototype/getFloat32/detached-buffer-after-integer-byteoffset.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/getFloat32/detached-buffer-after-integer-byteoffset.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/getFloat32/detached-buffer-after-integer-byteoffset.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -1,35 +0,0 @@
</span><del>-// Copyright (C) 2016 the V8 project authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-esid: sec-dataview.prototype.getfloat32
-es6id: 24.2.4.5
-description: &gt;
-  Detached buffer is checked after checking If numberIndex ≠ getIndex or
-  getIndex &lt; 0,
-info: |
-  24.2.4.5 DataView.prototype.getFloat32 ( byteOffset [ , littleEndian ] )
-
-  1. Let v be the this value.
-  2. If littleEndian is not present, let littleEndian be false.
-  3. Return ? GetViewValue(v, byteOffset, littleEndian, &quot;Float32&quot;).
-
-  24.2.1.1 GetViewValue ( view, requestIndex, isLittleEndian, type )
-
-  ...
-  4. Let getIndex be ? ToIndex(requestIndex).
-  ...
-  7. Let buffer be view.[[ViewedArrayBuffer]].
-  8. If IsDetachedBuffer(buffer) is true, throw a TypeError exception.
-  ...
-includes: [detachArrayBuffer.js]
----*/
-
-var buffer = new ArrayBuffer(6);
-var sample = new DataView(buffer, 0);
-
-$DETACHBUFFER(buffer);
-
-assert.throws(RangeError, function() {
-  sample.getFloat32(-1);
-});
</del></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypegetFloat32detachedbufferaftertoindexbyteoffsetjsfromrev204850trunkJSTeststest262testbuiltinsDataViewprototypegetFloat32detachedbufferafterintegerbyteoffsetjs"></a>
<div class="copfile"><h4>Copied: trunk/JSTests/test262/test/built-ins/DataView/prototype/getFloat32/detached-buffer-after-toindex-byteoffset.js (from rev 204850, trunk/JSTests/test262/test/built-ins/DataView/prototype/getFloat32/detached-buffer-after-integer-byteoffset.js) (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/getFloat32/detached-buffer-after-toindex-byteoffset.js                                (rev 0)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/getFloat32/detached-buffer-after-toindex-byteoffset.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,37 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-dataview.prototype.getfloat32
+description: &gt;
+  Detached buffer is only checked after ToIndex(requestIndex)
+info: |
+  24.2.4.5 DataView.prototype.getFloat32 ( byteOffset [ , littleEndian ] )
+
+  1. Let v be the this value.
+  2. If littleEndian is not present, let littleEndian be false.
+  3. Return ? GetViewValue(v, byteOffset, littleEndian, &quot;Float32&quot;).
+
+  24.2.1.1 GetViewValue ( view, requestIndex, isLittleEndian, type )
+
+  ...
+  4. Let getIndex be ? ToIndex(requestIndex).
+  ...
+  6. Let buffer be view.[[ViewedArrayBuffer]].
+  7. If IsDetachedBuffer(buffer) is true, throw a TypeError exception.
+  ...
+includes: [detachArrayBuffer.js]
+---*/
+
+var buffer = new ArrayBuffer(6);
+var sample = new DataView(buffer, 0);
+
+$DETACHBUFFER(buffer);
+
+assert.throws(RangeError, function() {
+  sample.getFloat32(-1);
+});
+
+assert.throws(RangeError, function() {
+  sample.getFloat32(Infinity);
+}, &quot;Infinity&quot;);
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypegetFloat32detachedbufferbeforeoutofrangebyteoffsetjs"></a>
<div class="modfile"><h4>Modified: trunk/JSTests/test262/test/built-ins/DataView/prototype/getFloat32/detached-buffer-before-outofrange-byteoffset.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/getFloat32/detached-buffer-before-outofrange-byteoffset.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/getFloat32/detached-buffer-before-outofrange-byteoffset.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -16,10 +16,10 @@
</span><span class="cx">   24.2.1.1 GetViewValue ( view, requestIndex, isLittleEndian, type )
</span><span class="cx"> 
</span><span class="cx">   ...
</span><del>-  8. Let buffer be the value of view's [[ViewedArrayBuffer]] internal slot.
-  9. If IsDetachedBuffer(buffer) is true, throw a TypeError exception.
</del><ins>+  6. Let buffer be view.[[ViewedArrayBuffer]].
+  7. If IsDetachedBuffer(buffer) is true, throw a TypeError exception.
</ins><span class="cx">   ...
</span><del>-  13. If getIndex + elementSize &gt; viewSize, throw a RangeError exception.
</del><ins>+  11. If getIndex + elementSize &gt; viewSize, throw a RangeError exception.
</ins><span class="cx">   ...
</span><span class="cx"> includes: [detachArrayBuffer.js]
</span><span class="cx"> ---*/
</span><span class="lines">@@ -32,9 +32,5 @@
</span><span class="cx"> $DETACHBUFFER(buffer);
</span><span class="cx"> 
</span><span class="cx"> assert.throws(TypeError, function() {
</span><del>-  sample.getFloat32(Infinity);
-}, &quot;Infinity&quot;);
-
-assert.throws(TypeError, function() {
</del><span class="cx">   sample.getFloat32(13);
</span><span class="cx"> }, &quot;13&quot;);
</span></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypegetFloat64detachedbufferafterintegerbyteoffsetjs"></a>
<div class="delfile"><h4>Deleted: trunk/JSTests/test262/test/built-ins/DataView/prototype/getFloat64/detached-buffer-after-integer-byteoffset.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/getFloat64/detached-buffer-after-integer-byteoffset.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/getFloat64/detached-buffer-after-integer-byteoffset.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -1,35 +0,0 @@
</span><del>-// Copyright (C) 2016 the V8 project authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-esid: sec-dataview.prototype.getfloat64
-es6id: 24.2.4.6
-description: &gt;
-  Detached buffer is checked after checking If numberIndex ≠ getIndex or
-  getIndex &lt; 0,
-info: |
-  24.2.4.6 DataView.prototype.getFloat64 ( byteOffset [ , littleEndian ] )
-
-  1. Let v be the this value.
-  2. If littleEndian is not present, let littleEndian be false.
-  3. Return ? GetViewValue(v, byteOffset, littleEndian, &quot;Float64&quot;).
-
-  24.2.1.1 GetViewValue ( view, requestIndex, isLittleEndian, type )
-
-  ...
-  4. Let getIndex be ? ToIndex(requestIndex).
-  ...
-  7. Let buffer be view.[[ViewedArrayBuffer]].
-  8. If IsDetachedBuffer(buffer) is true, throw a TypeError exception.
-  ...
-includes: [detachArrayBuffer.js]
----*/
-
-var buffer = new ArrayBuffer(10);
-var sample = new DataView(buffer, 0);
-
-$DETACHBUFFER(buffer);
-
-assert.throws(RangeError, function() {
-  sample.getFloat64(-1);
-});
</del></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypegetFloat64detachedbufferaftertoindexbyteoffsetjsfromrev204850trunkJSTeststest262testbuiltinsDataViewprototypegetFloat64detachedbufferafterintegerbyteoffsetjs"></a>
<div class="copfile"><h4>Copied: trunk/JSTests/test262/test/built-ins/DataView/prototype/getFloat64/detached-buffer-after-toindex-byteoffset.js (from rev 204850, trunk/JSTests/test262/test/built-ins/DataView/prototype/getFloat64/detached-buffer-after-integer-byteoffset.js) (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/getFloat64/detached-buffer-after-toindex-byteoffset.js                                (rev 0)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/getFloat64/detached-buffer-after-toindex-byteoffset.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,37 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-dataview.prototype.getfloat64
+description: &gt;
+  Detached buffer is only checked after ToIndex(requestIndex)
+info: |
+  24.2.4.6 DataView.prototype.getFloat64 ( byteOffset [ , littleEndian ] )
+
+  1. Let v be the this value.
+  2. If littleEndian is not present, let littleEndian be false.
+  3. Return ? GetViewValue(v, byteOffset, littleEndian, &quot;Float64&quot;).
+
+  24.2.1.1 GetViewValue ( view, requestIndex, isLittleEndian, type )
+
+  ...
+  4. Let getIndex be ? ToIndex(requestIndex).
+  ...
+  6. Let buffer be view.[[ViewedArrayBuffer]].
+  7. If IsDetachedBuffer(buffer) is true, throw a TypeError exception.
+  ...
+includes: [detachArrayBuffer.js]
+---*/
+
+var buffer = new ArrayBuffer(10);
+var sample = new DataView(buffer, 0);
+
+$DETACHBUFFER(buffer);
+
+assert.throws(RangeError, function() {
+  sample.getFloat64(-1);
+});
+
+assert.throws(RangeError, function() {
+  sample.getFloat64(Infinity);
+}, &quot;Infinity&quot;);
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypegetFloat64detachedbufferbeforeoutofrangebyteoffsetjs"></a>
<div class="modfile"><h4>Modified: trunk/JSTests/test262/test/built-ins/DataView/prototype/getFloat64/detached-buffer-before-outofrange-byteoffset.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/getFloat64/detached-buffer-before-outofrange-byteoffset.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/getFloat64/detached-buffer-before-outofrange-byteoffset.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -16,10 +16,10 @@
</span><span class="cx">   24.2.1.1 GetViewValue ( view, requestIndex, isLittleEndian, type )
</span><span class="cx"> 
</span><span class="cx">   ...
</span><del>-  8. Let buffer be the value of view's [[ViewedArrayBuffer]] internal slot.
-  9. If IsDetachedBuffer(buffer) is true, throw a TypeError exception.
</del><ins>+  6. Let buffer be view.[[ViewedArrayBuffer]].
+  7. If IsDetachedBuffer(buffer) is true, throw a TypeError exception.
</ins><span class="cx">   ...
</span><del>-  13. If getIndex + elementSize &gt; viewSize, throw a RangeError exception.
</del><ins>+  11. If getIndex + elementSize &gt; viewSize, throw a RangeError exception.
</ins><span class="cx">   ...
</span><span class="cx"> includes: [detachArrayBuffer.js]
</span><span class="cx"> ---*/
</span><span class="lines">@@ -32,9 +32,5 @@
</span><span class="cx"> $DETACHBUFFER(buffer);
</span><span class="cx"> 
</span><span class="cx"> assert.throws(TypeError, function() {
</span><del>-  sample.getFloat64(Infinity);
-}, &quot;Infinity&quot;);
-
-assert.throws(TypeError, function() {
</del><span class="cx">   sample.getFloat64(13);
</span><span class="cx"> }, &quot;13&quot;);
</span></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypegetInt16detachedbufferafterintegerbyteoffsetjs"></a>
<div class="delfile"><h4>Deleted: trunk/JSTests/test262/test/built-ins/DataView/prototype/getInt16/detached-buffer-after-integer-byteoffset.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/getInt16/detached-buffer-after-integer-byteoffset.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/getInt16/detached-buffer-after-integer-byteoffset.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -1,35 +0,0 @@
</span><del>-// Copyright (C) 2016 the V8 project authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-esid: sec-dataview.prototype.getint16
-es6id: 24.2.4.8
-description: &gt;
-  Detached buffer is checked after checking If numberIndex ≠ getIndex or
-  getIndex &lt; 0,
-info: |
-  24.2.4.8 DataView.prototype.getInt16 ( byteOffset [ , littleEndian ] )
-
-  1. Let v be the this value.
-  2. If littleEndian is not present, let littleEndian be false.
-  3. Return ? GetViewValue(v, byteOffset, littleEndian, &quot;Int16&quot;).
-
-  24.2.1.1 GetViewValue ( view, requestIndex, isLittleEndian, type )
-
-  ...
-  4. Let getIndex be ? ToIndex(requestIndex).
-  ...
-  7. Let buffer be view.[[ViewedArrayBuffer]].
-  8. If IsDetachedBuffer(buffer) is true, throw a TypeError exception.
-  ...
-includes: [detachArrayBuffer.js]
----*/
-
-var buffer = new ArrayBuffer(8);
-var sample = new DataView(buffer, 0);
-
-$DETACHBUFFER(buffer);
-
-assert.throws(RangeError, function() {
-  sample.getInt16(-1);
-});
</del></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypegetInt16detachedbufferaftertoindexbyteoffsetjsfromrev204850trunkJSTeststest262testbuiltinsDataViewprototypegetInt16detachedbufferafterintegerbyteoffsetjs"></a>
<div class="copfile"><h4>Copied: trunk/JSTests/test262/test/built-ins/DataView/prototype/getInt16/detached-buffer-after-toindex-byteoffset.js (from rev 204850, trunk/JSTests/test262/test/built-ins/DataView/prototype/getInt16/detached-buffer-after-integer-byteoffset.js) (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/getInt16/detached-buffer-after-toindex-byteoffset.js                                (rev 0)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/getInt16/detached-buffer-after-toindex-byteoffset.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,37 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-dataview.prototype.getint16
+description: &gt;
+  Detached buffer is only checked after ToIndex(requestIndex)
+info: |
+  24.2.4.8 DataView.prototype.getInt16 ( byteOffset [ , littleEndian ] )
+
+  1. Let v be the this value.
+  2. If littleEndian is not present, let littleEndian be false.
+  3. Return ? GetViewValue(v, byteOffset, littleEndian, &quot;Int16&quot;).
+
+  24.2.1.1 GetViewValue ( view, requestIndex, isLittleEndian, type )
+
+  ...
+  4. Let getIndex be ? ToIndex(requestIndex).
+  ...
+  6. Let buffer be view.[[ViewedArrayBuffer]].
+  7. If IsDetachedBuffer(buffer) is true, throw a TypeError exception.
+  ...
+includes: [detachArrayBuffer.js]
+---*/
+
+var buffer = new ArrayBuffer(8);
+var sample = new DataView(buffer, 0);
+
+$DETACHBUFFER(buffer);
+
+assert.throws(RangeError, function() {
+  sample.getInt16(Infinity);
+}, &quot;Infinity&quot;);
+
+assert.throws(RangeError, function() {
+  sample.getInt16(-1);
+});
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypegetInt16detachedbufferbeforeoutofrangebyteoffsetjs"></a>
<div class="modfile"><h4>Modified: trunk/JSTests/test262/test/built-ins/DataView/prototype/getInt16/detached-buffer-before-outofrange-byteoffset.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/getInt16/detached-buffer-before-outofrange-byteoffset.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/getInt16/detached-buffer-before-outofrange-byteoffset.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -16,10 +16,10 @@
</span><span class="cx">   24.2.1.1 GetViewValue ( view, requestIndex, isLittleEndian, type )
</span><span class="cx"> 
</span><span class="cx">   ...
</span><del>-  8. Let buffer be the value of view's [[ViewedArrayBuffer]] internal slot.
-  9. If IsDetachedBuffer(buffer) is true, throw a TypeError exception.
</del><ins>+  6. Let buffer be view.[[ViewedArrayBuffer]].
+  7. If IsDetachedBuffer(buffer) is true, throw a TypeError exception.
</ins><span class="cx">   ...
</span><del>-  13. If getIndex + elementSize &gt; viewSize, throw a RangeError exception.
</del><ins>+  11. If getIndex + elementSize &gt; viewSize, throw a RangeError exception.
</ins><span class="cx">   ...
</span><span class="cx"> includes: [detachArrayBuffer.js]
</span><span class="cx"> ---*/
</span><span class="lines">@@ -32,9 +32,5 @@
</span><span class="cx"> $DETACHBUFFER(buffer);
</span><span class="cx"> 
</span><span class="cx"> assert.throws(TypeError, function() {
</span><del>-  sample.getInt16(Infinity);
-}, &quot;Infinity&quot;);
-
-assert.throws(TypeError, function() {
</del><span class="cx">   sample.getInt16(13);
</span><span class="cx"> }, &quot;13&quot;);
</span></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypegetInt32detachedbufferafterintegerbyteoffsetjs"></a>
<div class="delfile"><h4>Deleted: trunk/JSTests/test262/test/built-ins/DataView/prototype/getInt32/detached-buffer-after-integer-byteoffset.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/getInt32/detached-buffer-after-integer-byteoffset.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/getInt32/detached-buffer-after-integer-byteoffset.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -1,35 +0,0 @@
</span><del>-// Copyright (C) 2016 the V8 project authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-esid: sec-dataview.prototype.getint32
-es6id: 24.2.4.9
-description: &gt;
-  Detached buffer is checked after checking If numberIndex ≠ getIndex or
-  getIndex &lt; 0,
-info: |
-  24.2.4.9 DataView.prototype.getInt32 ( byteOffset [ , littleEndian ] )
-
-  1. Let v be the this value.
-  2. If littleEndian is not present, let littleEndian be false.
-  3. Return ? GetViewValue(v, byteOffset, littleEndian, &quot;Int32&quot;).
-
-  24.2.1.1 GetViewValue ( view, requestIndex, isLittleEndian, type )
-
-  ...
-  4. Let getIndex be ? ToIndex(requestIndex).
-  ...
-  7. Let buffer be view.[[ViewedArrayBuffer]].
-  8. If IsDetachedBuffer(buffer) is true, throw a TypeError exception.
-  ...
-includes: [detachArrayBuffer.js]
----*/
-
-var buffer = new ArrayBuffer(8);
-var sample = new DataView(buffer, 0);
-
-$DETACHBUFFER(buffer);
-
-assert.throws(RangeError, function() {
-  sample.getInt32(-1);
-});
</del></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypegetInt32detachedbufferaftertoindexbyteoffsetjsfromrev204850trunkJSTeststest262testbuiltinsDataViewprototypegetInt32detachedbufferafterintegerbyteoffsetjs"></a>
<div class="copfile"><h4>Copied: trunk/JSTests/test262/test/built-ins/DataView/prototype/getInt32/detached-buffer-after-toindex-byteoffset.js (from rev 204850, trunk/JSTests/test262/test/built-ins/DataView/prototype/getInt32/detached-buffer-after-integer-byteoffset.js) (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/getInt32/detached-buffer-after-toindex-byteoffset.js                                (rev 0)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/getInt32/detached-buffer-after-toindex-byteoffset.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,37 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-dataview.prototype.getint32
+description: &gt;
+  Detached buffer is only checked after ToIndex(requestIndex)
+info: |
+  24.2.4.9 DataView.prototype.getInt32 ( byteOffset [ , littleEndian ] )
+
+  1. Let v be the this value.
+  2. If littleEndian is not present, let littleEndian be false.
+  3. Return ? GetViewValue(v, byteOffset, littleEndian, &quot;Int32&quot;).
+
+  24.2.1.1 GetViewValue ( view, requestIndex, isLittleEndian, type )
+
+  ...
+  4. Let getIndex be ? ToIndex(requestIndex).
+  ...
+  6. Let buffer be view.[[ViewedArrayBuffer]].
+  7. If IsDetachedBuffer(buffer) is true, throw a TypeError exception.
+  ...
+includes: [detachArrayBuffer.js]
+---*/
+
+var buffer = new ArrayBuffer(8);
+var sample = new DataView(buffer, 0);
+
+$DETACHBUFFER(buffer);
+
+assert.throws(RangeError, function() {
+  sample.getInt32(Infinity);
+}, &quot;Infinity&quot;);
+
+assert.throws(RangeError, function() {
+  sample.getInt32(-1);
+});
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypegetInt32detachedbufferbeforeoutofrangebyteoffsetjs"></a>
<div class="modfile"><h4>Modified: trunk/JSTests/test262/test/built-ins/DataView/prototype/getInt32/detached-buffer-before-outofrange-byteoffset.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/getInt32/detached-buffer-before-outofrange-byteoffset.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/getInt32/detached-buffer-before-outofrange-byteoffset.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -16,10 +16,10 @@
</span><span class="cx">   24.2.1.1 GetViewValue ( view, requestIndex, isLittleEndian, type )
</span><span class="cx"> 
</span><span class="cx">   ...
</span><del>-  8. Let buffer be the value of view's [[ViewedArrayBuffer]] internal slot.
-  9. If IsDetachedBuffer(buffer) is true, throw a TypeError exception.
</del><ins>+  6. Let buffer be view.[[ViewedArrayBuffer]].
+  7. If IsDetachedBuffer(buffer) is true, throw a TypeError exception.
</ins><span class="cx">   ...
</span><del>-  13. If getIndex + elementSize &gt; viewSize, throw a RangeError exception.
</del><ins>+  11. If getIndex + elementSize &gt; viewSize, throw a RangeError exception.
</ins><span class="cx">   ...
</span><span class="cx"> includes: [detachArrayBuffer.js]
</span><span class="cx"> ---*/
</span><span class="lines">@@ -32,9 +32,5 @@
</span><span class="cx"> $DETACHBUFFER(buffer);
</span><span class="cx"> 
</span><span class="cx"> assert.throws(TypeError, function() {
</span><del>-  sample.getInt32(Infinity);
-}, &quot;Infinity&quot;);
-
-assert.throws(TypeError, function() {
</del><span class="cx">   sample.getInt32(13);
</span><span class="cx"> }, &quot;13&quot;);
</span></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypegetInt8detachedbufferafterintegerbyteoffsetjs"></a>
<div class="delfile"><h4>Deleted: trunk/JSTests/test262/test/built-ins/DataView/prototype/getInt8/detached-buffer-after-integer-byteoffset.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/getInt8/detached-buffer-after-integer-byteoffset.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/getInt8/detached-buffer-after-integer-byteoffset.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -1,34 +0,0 @@
</span><del>-// Copyright (C) 2016 the V8 project authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-esid: sec-dataview.prototype.getint8
-es6id: 24.2.4.7
-description: &gt;
-  Detached buffer is checked after checking If numberIndex ≠ getIndex or
-  getIndex &lt; 0,
-info: |
-  24.2.4.7 DataView.prototype.getInt8 ( byteOffset )
-
-  1. Let v be the this value.
-  2. Return ? GetViewValue(v, byteOffset, true, &quot;Int8&quot;).
-
-  24.2.1.1 GetViewValue ( view, requestIndex, isLittleEndian, type )
-
-  ...
-  4. Let getIndex be ? ToIndex(requestIndex).
-  ...
-  7. Let buffer be view.[[ViewedArrayBuffer]].
-  8. If IsDetachedBuffer(buffer) is true, throw a TypeError exception.
-  ...
-includes: [detachArrayBuffer.js]
----*/
-
-var buffer = new ArrayBuffer(8);
-var sample = new DataView(buffer, 0);
-
-$DETACHBUFFER(buffer);
-
-assert.throws(RangeError, function() {
-  sample.getInt8(-1);
-});
</del></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypegetInt8detachedbufferaftertoindexbyteoffsetjsfromrev204850trunkJSTeststest262testbuiltinsDataViewprototypegetInt8detachedbufferafterintegerbyteoffsetjs"></a>
<div class="copfile"><h4>Copied: trunk/JSTests/test262/test/built-ins/DataView/prototype/getInt8/detached-buffer-after-toindex-byteoffset.js (from rev 204850, trunk/JSTests/test262/test/built-ins/DataView/prototype/getInt8/detached-buffer-after-integer-byteoffset.js) (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/getInt8/detached-buffer-after-toindex-byteoffset.js                                (rev 0)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/getInt8/detached-buffer-after-toindex-byteoffset.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,36 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-dataview.prototype.getint8
+description: &gt;
+  Detached buffer is only checked after ToIndex(requestIndex)
+info: |
+  24.2.4.7 DataView.prototype.getInt8 ( byteOffset )
+
+  1. Let v be the this value.
+  2. Return ? GetViewValue(v, byteOffset, true, &quot;Int8&quot;).
+
+  24.2.1.1 GetViewValue ( view, requestIndex, isLittleEndian, type )
+
+  ...
+  4. Let getIndex be ? ToIndex(requestIndex).
+  ...
+  6. Let buffer be view.[[ViewedArrayBuffer]].
+  7. If IsDetachedBuffer(buffer) is true, throw a TypeError exception.
+  ...
+includes: [detachArrayBuffer.js]
+---*/
+
+var buffer = new ArrayBuffer(8);
+var sample = new DataView(buffer, 0);
+
+$DETACHBUFFER(buffer);
+
+assert.throws(RangeError, function() {
+  sample.getInt8(Infinity);
+}, &quot;Infinity&quot;);
+
+assert.throws(RangeError, function() {
+  sample.getInt8(-1);
+});
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypegetInt8detachedbufferbeforeoutofrangebyteoffsetjs"></a>
<div class="modfile"><h4>Modified: trunk/JSTests/test262/test/built-ins/DataView/prototype/getInt8/detached-buffer-before-outofrange-byteoffset.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/getInt8/detached-buffer-before-outofrange-byteoffset.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/getInt8/detached-buffer-before-outofrange-byteoffset.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -15,10 +15,10 @@
</span><span class="cx">   24.2.1.1 GetViewValue ( view, requestIndex, isLittleEndian, type )
</span><span class="cx"> 
</span><span class="cx">   ...
</span><del>-  8. Let buffer be the value of view's [[ViewedArrayBuffer]] internal slot.
-  9. If IsDetachedBuffer(buffer) is true, throw a TypeError exception.
</del><ins>+  6. Let buffer be view.[[ViewedArrayBuffer]].
+  7. If IsDetachedBuffer(buffer) is true, throw a TypeError exception.
</ins><span class="cx">   ...
</span><del>-  13. If getIndex + elementSize &gt; viewSize, throw a RangeError exception.
</del><ins>+  11. If getIndex + elementSize &gt; viewSize, throw a RangeError exception.
</ins><span class="cx">   ...
</span><span class="cx"> includes: [detachArrayBuffer.js]
</span><span class="cx"> ---*/
</span><span class="lines">@@ -31,9 +31,5 @@
</span><span class="cx"> $DETACHBUFFER(buffer);
</span><span class="cx"> 
</span><span class="cx"> assert.throws(TypeError, function() {
</span><del>-  sample.getInt8(Infinity);
-}, &quot;Infinity&quot;);
-
-assert.throws(TypeError, function() {
</del><span class="cx">   sample.getInt8(13);
</span><span class="cx"> }, &quot;13&quot;);
</span></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypegetUint16detachedbufferafterintegerbyteoffsetjs"></a>
<div class="delfile"><h4>Deleted: trunk/JSTests/test262/test/built-ins/DataView/prototype/getUint16/detached-buffer-after-integer-byteoffset.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/getUint16/detached-buffer-after-integer-byteoffset.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/getUint16/detached-buffer-after-integer-byteoffset.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -1,35 +0,0 @@
</span><del>-// Copyright (C) 2016 the V8 project authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-esid: sec-dataview.prototype.getuint16
-es6id: 24.2.4.11
-description: &gt;
-  Detached buffer is checked after checking If numberIndex ≠ getIndex or
-  getIndex &lt; 0,
-info: |
-  24.2.4.11 DataView.prototype.getUint16 ( byteOffset [ , littleEndian ] )
-
-  1. Let v be the this value.
-  2. If littleEndian is not present, let littleEndian be false.
-  3. Return ? GetViewValue(v, byteOffset, littleEndian, &quot;Uint16&quot;).
-
-  24.2.1.1 GetViewValue ( view, requestIndex, isLittleEndian, type )
-
-  ...
-  4. Let getIndex be ? ToIndex(requestIndex).
-  ...
-  7. Let buffer be view.[[ViewedArrayBuffer]].
-  8. If IsDetachedBuffer(buffer) is true, throw a TypeError exception.
-  ...
-includes: [detachArrayBuffer.js]
----*/
-
-var buffer = new ArrayBuffer(8);
-var sample = new DataView(buffer, 0);
-
-$DETACHBUFFER(buffer);
-
-assert.throws(RangeError, function() {
-  sample.getUint16(-1);
-});
</del></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypegetUint16detachedbufferaftertoindexbyteoffsetjsfromrev204850trunkJSTeststest262testbuiltinsDataViewprototypegetUint16detachedbufferafterintegerbyteoffsetjs"></a>
<div class="copfile"><h4>Copied: trunk/JSTests/test262/test/built-ins/DataView/prototype/getUint16/detached-buffer-after-toindex-byteoffset.js (from rev 204850, trunk/JSTests/test262/test/built-ins/DataView/prototype/getUint16/detached-buffer-after-integer-byteoffset.js) (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/getUint16/detached-buffer-after-toindex-byteoffset.js                                (rev 0)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/getUint16/detached-buffer-after-toindex-byteoffset.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,37 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-dataview.prototype.getuint16
+description: &gt;
+  Detached buffer is only checked after ToIndex(requestIndex)
+info: |
+  24.2.4.11 DataView.prototype.getUint16 ( byteOffset [ , littleEndian ] )
+
+  1. Let v be the this value.
+  2. If littleEndian is not present, let littleEndian be false.
+  3. Return ? GetViewValue(v, byteOffset, littleEndian, &quot;Uint16&quot;).
+
+  24.2.1.1 GetViewValue ( view, requestIndex, isLittleEndian, type )
+
+  ...
+  4. Let getIndex be ? ToIndex(requestIndex).
+  ...
+  6. Let buffer be view.[[ViewedArrayBuffer]].
+  7. If IsDetachedBuffer(buffer) is true, throw a TypeError exception.
+  ...
+includes: [detachArrayBuffer.js]
+---*/
+
+var buffer = new ArrayBuffer(8);
+var sample = new DataView(buffer, 0);
+
+$DETACHBUFFER(buffer);
+
+assert.throws(RangeError, function() {
+  sample.getUint16(Infinity);
+}, &quot;Infinity&quot;);
+
+assert.throws(RangeError, function() {
+  sample.getUint16(-1);
+});
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypegetUint16detachedbufferbeforeoutofrangebyteoffsetjs"></a>
<div class="modfile"><h4>Modified: trunk/JSTests/test262/test/built-ins/DataView/prototype/getUint16/detached-buffer-before-outofrange-byteoffset.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/getUint16/detached-buffer-before-outofrange-byteoffset.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/getUint16/detached-buffer-before-outofrange-byteoffset.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -16,10 +16,10 @@
</span><span class="cx">   24.2.1.1 GetViewValue ( view, requestIndex, isLittleEndian, type )
</span><span class="cx"> 
</span><span class="cx">   ...
</span><del>-  8. Let buffer be the value of view's [[ViewedArrayBuffer]] internal slot.
-  9. If IsDetachedBuffer(buffer) is true, throw a TypeError exception.
</del><ins>+  6. Let buffer be view.[[ViewedArrayBuffer]].
+  7. If IsDetachedBuffer(buffer) is true, throw a TypeError exception.
</ins><span class="cx">   ...
</span><del>-  13. If getIndex + elementSize &gt; viewSize, throw a RangeError exception.
</del><ins>+  11. If getIndex + elementSize &gt; viewSize, throw a RangeError exception.
</ins><span class="cx">   ...
</span><span class="cx"> includes: [detachArrayBuffer.js]
</span><span class="cx"> ---*/
</span><span class="lines">@@ -32,9 +32,5 @@
</span><span class="cx"> $DETACHBUFFER(buffer);
</span><span class="cx"> 
</span><span class="cx"> assert.throws(TypeError, function() {
</span><del>-  sample.getUint16(Infinity);
-}, &quot;Infinity&quot;);
-
-assert.throws(TypeError, function() {
</del><span class="cx">   sample.getUint16(13);
</span><span class="cx"> }, &quot;13&quot;);
</span></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypegetUint32detachedbufferafterintegerbyteoffsetjs"></a>
<div class="delfile"><h4>Deleted: trunk/JSTests/test262/test/built-ins/DataView/prototype/getUint32/detached-buffer-after-integer-byteoffset.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/getUint32/detached-buffer-after-integer-byteoffset.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/getUint32/detached-buffer-after-integer-byteoffset.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -1,35 +0,0 @@
</span><del>-// Copyright (C) 2016 the V8 project authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-esid: sec-dataview.prototype.getuint32
-es6id: 24.2.4.12
-description: &gt;
-  Detached buffer is checked after checking If numberIndex ≠ getIndex or
-  getIndex &lt; 0,
-info: |
-  24.2.4.12 DataView.prototype.getUint32 ( byteOffset [ , littleEndian ] )
-
-  1. Let v be the this value.
-  2. If littleEndian is not present, let littleEndian be false.
-  3. Return ? GetViewValue(v, byteOffset, littleEndian, &quot;Uint32&quot;).
-
-  24.2.1.1 GetViewValue ( view, requestIndex, isLittleEndian, type )
-
-  ...
-  4. Let getIndex be ? ToIndex(requestIndex).
-  ...
-  7. Let buffer be view.[[ViewedArrayBuffer]].
-  8. If IsDetachedBuffer(buffer) is true, throw a TypeError exception.
-  ...
-includes: [detachArrayBuffer.js]
----*/
-
-var buffer = new ArrayBuffer(8);
-var sample = new DataView(buffer, 0);
-
-$DETACHBUFFER(buffer);
-
-assert.throws(RangeError, function() {
-  sample.getUint32(-1);
-});
</del></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypegetUint32detachedbufferaftertoindexbyteoffsetjsfromrev204850trunkJSTeststest262testbuiltinsDataViewprototypegetUint32detachedbufferafterintegerbyteoffsetjs"></a>
<div class="copfile"><h4>Copied: trunk/JSTests/test262/test/built-ins/DataView/prototype/getUint32/detached-buffer-after-toindex-byteoffset.js (from rev 204850, trunk/JSTests/test262/test/built-ins/DataView/prototype/getUint32/detached-buffer-after-integer-byteoffset.js) (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/getUint32/detached-buffer-after-toindex-byteoffset.js                                (rev 0)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/getUint32/detached-buffer-after-toindex-byteoffset.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,37 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-dataview.prototype.getuint32
+description: &gt;
+  Detached buffer is only checked after ToIndex(requestIndex)
+info: |
+  24.2.4.12 DataView.prototype.getUint32 ( byteOffset [ , littleEndian ] )
+
+  1. Let v be the this value.
+  2. If littleEndian is not present, let littleEndian be false.
+  3. Return ? GetViewValue(v, byteOffset, littleEndian, &quot;Uint32&quot;).
+
+  24.2.1.1 GetViewValue ( view, requestIndex, isLittleEndian, type )
+
+  ...
+  4. Let getIndex be ? ToIndex(requestIndex).
+  ...
+  6. Let buffer be view.[[ViewedArrayBuffer]].
+  7. If IsDetachedBuffer(buffer) is true, throw a TypeError exception.
+  ...
+includes: [detachArrayBuffer.js]
+---*/
+
+var buffer = new ArrayBuffer(8);
+var sample = new DataView(buffer, 0);
+
+$DETACHBUFFER(buffer);
+
+assert.throws(RangeError, function() {
+  sample.getUint32(Infinity);
+}, &quot;Infinity&quot;);
+
+assert.throws(RangeError, function() {
+  sample.getUint32(-1);
+});
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypegetUint32detachedbufferbeforeoutofrangebyteoffsetjs"></a>
<div class="modfile"><h4>Modified: trunk/JSTests/test262/test/built-ins/DataView/prototype/getUint32/detached-buffer-before-outofrange-byteoffset.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/getUint32/detached-buffer-before-outofrange-byteoffset.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/getUint32/detached-buffer-before-outofrange-byteoffset.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -16,10 +16,10 @@
</span><span class="cx">   24.2.1.1 GetViewValue ( view, requestIndex, isLittleEndian, type )
</span><span class="cx"> 
</span><span class="cx">   ...
</span><del>-  8. Let buffer be the value of view's [[ViewedArrayBuffer]] internal slot.
-  9. If IsDetachedBuffer(buffer) is true, throw a TypeError exception.
</del><ins>+  6. Let buffer be view.[[ViewedArrayBuffer]].
+  7. If IsDetachedBuffer(buffer) is true, throw a TypeError exception.
</ins><span class="cx">   ...
</span><del>-  13. If getIndex + elementSize &gt; viewSize, throw a RangeError exception.
</del><ins>+  11. If getIndex + elementSize &gt; viewSize, throw a RangeError exception.
</ins><span class="cx">   ...
</span><span class="cx"> includes: [detachArrayBuffer.js]
</span><span class="cx"> ---*/
</span><span class="lines">@@ -32,9 +32,5 @@
</span><span class="cx"> $DETACHBUFFER(buffer);
</span><span class="cx"> 
</span><span class="cx"> assert.throws(TypeError, function() {
</span><del>-  sample.getUint32(Infinity);
-}, &quot;Infinity&quot;);
-
-assert.throws(TypeError, function() {
</del><span class="cx">   sample.getUint32(13);
</span><span class="cx"> }, &quot;13&quot;);
</span></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypegetUint8detachedbufferafterintegerbyteoffsetjs"></a>
<div class="delfile"><h4>Deleted: trunk/JSTests/test262/test/built-ins/DataView/prototype/getUint8/detached-buffer-after-integer-byteoffset.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/getUint8/detached-buffer-after-integer-byteoffset.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/getUint8/detached-buffer-after-integer-byteoffset.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -1,34 +0,0 @@
</span><del>-// Copyright (C) 2016 the V8 project authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-esid: sec-dataview.prototype.getuint8
-es6id: 24.2.4.10
-description: &gt;
-  Detached buffer is checked after checking If numberIndex ≠ getIndex or
-  getIndex &lt; 0,
-info: |
-  24.2.4.10 DataView.prototype.getUint8 ( byteOffset )
-
-  1. Let v be the this value.
-  2. Return ? GetViewValue(v, byteOffset, true, &quot;Uint8&quot;).
-
-  24.2.1.1 GetViewValue ( view, requestIndex, isLittleEndian, type )
-
-  ...
-  4. Let getIndex be ? ToIndex(requestIndex).
-  ...
-  7. Let buffer be view.[[ViewedArrayBuffer]].
-  8. If IsDetachedBuffer(buffer) is true, throw a TypeError exception.
-  ...
-includes: [detachArrayBuffer.js]
----*/
-
-var buffer = new ArrayBuffer(8);
-var sample = new DataView(buffer, 0);
-
-$DETACHBUFFER(buffer);
-
-assert.throws(RangeError, function() {
-  sample.getUint8(-1);
-});
</del></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypegetUint8detachedbufferaftertoindexbyteoffsetjsfromrev204850trunkJSTeststest262testbuiltinsDataViewprototypegetUint8detachedbufferafterintegerbyteoffsetjs"></a>
<div class="copfile"><h4>Copied: trunk/JSTests/test262/test/built-ins/DataView/prototype/getUint8/detached-buffer-after-toindex-byteoffset.js (from rev 204850, trunk/JSTests/test262/test/built-ins/DataView/prototype/getUint8/detached-buffer-after-integer-byteoffset.js) (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/getUint8/detached-buffer-after-toindex-byteoffset.js                                (rev 0)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/getUint8/detached-buffer-after-toindex-byteoffset.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,36 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-dataview.prototype.getuint8
+description: &gt;
+  Detached buffer is only checked after ToIndex(requestIndex)
+info: |
+  24.2.4.10 DataView.prototype.getUint8 ( byteOffset )
+
+  1. Let v be the this value.
+  2. Return ? GetViewValue(v, byteOffset, true, &quot;Uint8&quot;).
+
+  24.2.1.1 GetViewValue ( view, requestIndex, isLittleEndian, type )
+
+  ...
+  4. Let getIndex be ? ToIndex(requestIndex).
+  ...
+  6. Let buffer be view.[[ViewedArrayBuffer]].
+  7. If IsDetachedBuffer(buffer) is true, throw a TypeError exception.
+  ...
+includes: [detachArrayBuffer.js]
+---*/
+
+var buffer = new ArrayBuffer(8);
+var sample = new DataView(buffer, 0);
+
+$DETACHBUFFER(buffer);
+
+assert.throws(RangeError, function() {
+  sample.getUint8(Infinity);
+}, &quot;Infinity&quot;);
+
+assert.throws(RangeError, function() {
+  sample.getUint8(-1);
+});
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypegetUint8detachedbufferbeforeoutofrangebyteoffsetjs"></a>
<div class="modfile"><h4>Modified: trunk/JSTests/test262/test/built-ins/DataView/prototype/getUint8/detached-buffer-before-outofrange-byteoffset.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/getUint8/detached-buffer-before-outofrange-byteoffset.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/getUint8/detached-buffer-before-outofrange-byteoffset.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -15,10 +15,10 @@
</span><span class="cx">   24.2.1.1 GetViewValue ( view, requestIndex, isLittleEndian, type )
</span><span class="cx"> 
</span><span class="cx">   ...
</span><del>-  8. Let buffer be the value of view's [[ViewedArrayBuffer]] internal slot.
-  9. If IsDetachedBuffer(buffer) is true, throw a TypeError exception.
</del><ins>+  6. Let buffer be view.[[ViewedArrayBuffer]].
+  7. If IsDetachedBuffer(buffer) is true, throw a TypeError exception.
</ins><span class="cx">   ...
</span><del>-  13. If getIndex + elementSize &gt; viewSize, throw a RangeError exception.
</del><ins>+  11. If getIndex + elementSize &gt; viewSize, throw a RangeError exception.
</ins><span class="cx">   ...
</span><span class="cx"> includes: [detachArrayBuffer.js]
</span><span class="cx"> ---*/
</span><span class="lines">@@ -31,9 +31,5 @@
</span><span class="cx"> $DETACHBUFFER(buffer);
</span><span class="cx"> 
</span><span class="cx"> assert.throws(TypeError, function() {
</span><del>-  sample.getUint8(Infinity);
-}, &quot;Infinity&quot;);
-
-assert.throws(TypeError, function() {
</del><span class="cx">   sample.getUint8(13);
</span><span class="cx"> }, &quot;13&quot;);
</span></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypesetFloat32detachedbufferafterintegerbyteoffsetjs"></a>
<div class="delfile"><h4>Deleted: trunk/JSTests/test262/test/built-ins/DataView/prototype/setFloat32/detached-buffer-after-integer-byteoffset.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/setFloat32/detached-buffer-after-integer-byteoffset.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/setFloat32/detached-buffer-after-integer-byteoffset.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -1,35 +0,0 @@
</span><del>-// Copyright (C) 2016 the V8 project authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-esid: sec-dataview.prototype.setfloat32
-es6id: 24.2.4.13
-description: &gt;
-  Detached buffer is checked after checking If numberIndex ≠ getIndex or
-  getIndex &lt; 0
-info: |
-  24.2.4.13 DataView.prototype.setFloat32 ( byteOffset, value [ , littleEndian ] )
-
-  1. Let v be the this value.
-  2. If littleEndian is not present, let littleEndian be false.
-  3. Return ? SetViewValue(v, byteOffset, littleEndian, &quot;Float32&quot;, value).
-
-  24.2.1.2 SetViewValue ( view, requestIndex, isLittleEndian, type, value )
-
-  ...
-  4. Let getIndex be ? ToIndex(requestIndex).
-  ...
-  7. Let buffer be view.[[ViewedArrayBuffer]].
-  8. If IsDetachedBuffer(buffer) is true, throw a TypeError exception.
-  ...
-includes: [detachArrayBuffer.js]
----*/
-
-var buffer = new ArrayBuffer(8);
-var sample = new DataView(buffer, 0);
-
-$DETACHBUFFER(buffer);
-
-assert.throws(RangeError, function() {
-  sample.setFloat32(-1, 0);
-});
</del></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypesetFloat32detachedbufferaftertoindexbyteoffsetjsfromrev204850trunkJSTeststest262testbuiltinsDataViewprototypesetFloat32detachedbufferafterintegerbyteoffsetjs"></a>
<div class="copfile"><h4>Copied: trunk/JSTests/test262/test/built-ins/DataView/prototype/setFloat32/detached-buffer-after-toindex-byteoffset.js (from rev 204850, trunk/JSTests/test262/test/built-ins/DataView/prototype/setFloat32/detached-buffer-after-integer-byteoffset.js) (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/setFloat32/detached-buffer-after-toindex-byteoffset.js                                (rev 0)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/setFloat32/detached-buffer-after-toindex-byteoffset.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,37 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-dataview.prototype.setfloat32
+description: &gt;
+  Detached buffer is only checked after ToIndex(requestIndex)
+info: |
+  24.2.4.13 DataView.prototype.setFloat32 ( byteOffset, value [ , littleEndian ] )
+
+  1. Let v be the this value.
+  2. If littleEndian is not present, let littleEndian be false.
+  3. Return ? SetViewValue(v, byteOffset, littleEndian, &quot;Float32&quot;, value).
+
+  24.2.1.2 SetViewValue ( view, requestIndex, isLittleEndian, type, value )
+
+  ...
+  4. Let getIndex be ? ToIndex(requestIndex).
+  ...
+  7. Let buffer be view.[[ViewedArrayBuffer]].
+  8. If IsDetachedBuffer(buffer) is true, throw a TypeError exception.
+  ...
+includes: [detachArrayBuffer.js]
+---*/
+
+var buffer = new ArrayBuffer(8);
+var sample = new DataView(buffer, 0);
+
+$DETACHBUFFER(buffer);
+
+assert.throws(RangeError, function() {
+  sample.setFloat32(Infinity, 0);
+}, &quot;Infinity&quot;);
+
+assert.throws(RangeError, function() {
+  sample.setFloat32(-1, 0);
+});
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypesetFloat32detachedbufferbeforeoutofrangebyteoffsetjs"></a>
<div class="modfile"><h4>Modified: trunk/JSTests/test262/test/built-ins/DataView/prototype/setFloat32/detached-buffer-before-outofrange-byteoffset.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/setFloat32/detached-buffer-before-outofrange-byteoffset.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/setFloat32/detached-buffer-before-outofrange-byteoffset.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -32,9 +32,5 @@
</span><span class="cx"> $DETACHBUFFER(buffer);
</span><span class="cx"> 
</span><span class="cx"> assert.throws(TypeError, function() {
</span><del>-  sample.setFloat32(Infinity, 0);
-}, &quot;Infinity&quot;);
-
-assert.throws(TypeError, function() {
</del><span class="cx">   sample.setFloat32(13, 0);
</span><span class="cx"> }, &quot;13&quot;);
</span></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypesetFloat32indexcheckbeforevalueconversionjs"></a>
<div class="modfile"><h4>Modified: trunk/JSTests/test262/test/built-ins/DataView/prototype/setFloat32/index-check-before-value-conversion.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/setFloat32/index-check-before-value-conversion.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/setFloat32/index-check-before-value-conversion.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -35,3 +35,7 @@
</span><span class="cx"> assert.throws(RangeError, function() {
</span><span class="cx">   dataView.setFloat32(-Infinity, poisoned);
</span><span class="cx"> }, &quot;setFloat32(-Infinity, poisoned)&quot;);
</span><ins>+
+assert.throws(RangeError, function() {
+  dataView.setFloat32(Infinity, poisoned);
+}, &quot;setFloat32(Infinity, poisoned)&quot;);
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypesetFloat32rangecheckaftervalueconversionjs"></a>
<div class="modfile"><h4>Modified: trunk/JSTests/test262/test/built-ins/DataView/prototype/setFloat32/range-check-after-value-conversion.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/setFloat32/range-check-after-value-conversion.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/setFloat32/range-check-after-value-conversion.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -31,17 +31,9 @@
</span><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> assert.throws(Test262Error, function() {
</span><del>-  dataView.setFloat32(Infinity, poisoned);
-}, &quot;setFloat32(Infinity, poisoned)&quot;);
-
-assert.throws(Test262Error, function() {
</del><span class="cx">   dataView.setFloat32(100, poisoned);
</span><span class="cx"> }, &quot;setFloat32(100, poisoned)&quot;);
</span><span class="cx"> 
</span><span class="cx"> assert.throws(Test262Error, function() {
</span><del>-  dataView.setFloat32('Infinity', poisoned);
-}, &quot;setFloat32('Infinity', poisoned)&quot;);
-
-assert.throws(Test262Error, function() {
</del><span class="cx">   dataView.setFloat32('100', poisoned);
</span><span class="cx"> }, &quot;setFloat32('100', poisoned)&quot;);
</span></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypesetFloat64detachedbufferafterintegerbyteoffsetjs"></a>
<div class="delfile"><h4>Deleted: trunk/JSTests/test262/test/built-ins/DataView/prototype/setFloat64/detached-buffer-after-integer-byteoffset.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/setFloat64/detached-buffer-after-integer-byteoffset.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/setFloat64/detached-buffer-after-integer-byteoffset.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -1,35 +0,0 @@
</span><del>-// Copyright (C) 2016 the V8 project authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-esid: sec-dataview.prototype.setfloat64
-es6id: 24.2.4.14
-description: &gt;
-  Detached buffer is checked after checking If numberIndex ≠ getIndex or
-  getIndex &lt; 0
-info: |
-  24.2.4.14 DataView.prototype.setFloat64 ( byteOffset, value [ , littleEndian ] )
-
-  1. Let v be the this value.
-  2. If littleEndian is not present, let littleEndian be false.
-  3. Return ? SetViewValue(v, byteOffset, littleEndian, &quot;Float64&quot;, value).
-
-  24.2.1.2 SetViewValue ( view, requestIndex, isLittleEndian, type, value )
-
-  ...
-  4. Let getIndex be ? ToIndex(requestIndex).
-  ...
-  7. Let buffer be view.[[ViewedArrayBuffer]].
-  8. If IsDetachedBuffer(buffer) is true, throw a TypeError exception.
-  ...
-includes: [detachArrayBuffer.js]
----*/
-
-var buffer = new ArrayBuffer(12);
-var sample = new DataView(buffer, 0);
-
-$DETACHBUFFER(buffer);
-
-assert.throws(RangeError, function() {
-  sample.setFloat64(-1, 0);
-});
</del></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypesetFloat64detachedbufferaftertoindexbyteoffsetjsfromrev204850trunkJSTeststest262testbuiltinsDataViewprototypesetFloat64detachedbufferafterintegerbyteoffsetjs"></a>
<div class="copfile"><h4>Copied: trunk/JSTests/test262/test/built-ins/DataView/prototype/setFloat64/detached-buffer-after-toindex-byteoffset.js (from rev 204850, trunk/JSTests/test262/test/built-ins/DataView/prototype/setFloat64/detached-buffer-after-integer-byteoffset.js) (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/setFloat64/detached-buffer-after-toindex-byteoffset.js                                (rev 0)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/setFloat64/detached-buffer-after-toindex-byteoffset.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,37 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-dataview.prototype.setfloat64
+description: &gt;
+  Detached buffer is only checked after ToIndex(requestIndex)
+info: |
+  24.2.4.14 DataView.prototype.setFloat64 ( byteOffset, value [ , littleEndian ] )
+
+  1. Let v be the this value.
+  2. If littleEndian is not present, let littleEndian be false.
+  3. Return ? SetViewValue(v, byteOffset, littleEndian, &quot;Float64&quot;, value).
+
+  24.2.1.2 SetViewValue ( view, requestIndex, isLittleEndian, type, value )
+
+  ...
+  4. Let getIndex be ? ToIndex(requestIndex).
+  ...
+  7. Let buffer be view.[[ViewedArrayBuffer]].
+  8. If IsDetachedBuffer(buffer) is true, throw a TypeError exception.
+  ...
+includes: [detachArrayBuffer.js]
+---*/
+
+var buffer = new ArrayBuffer(12);
+var sample = new DataView(buffer, 0);
+
+$DETACHBUFFER(buffer);
+
+assert.throws(TypeError, function() {
+  sample.setFloat64(Infinity, 0);
+}, &quot;Infinity&quot;);
+
+assert.throws(RangeError, function() {
+  sample.setFloat64(-1, 0);
+});
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypesetFloat64detachedbufferbeforeoutofrangebyteoffsetjs"></a>
<div class="modfile"><h4>Modified: trunk/JSTests/test262/test/built-ins/DataView/prototype/setFloat64/detached-buffer-before-outofrange-byteoffset.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/setFloat64/detached-buffer-before-outofrange-byteoffset.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/setFloat64/detached-buffer-before-outofrange-byteoffset.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -32,9 +32,5 @@
</span><span class="cx"> $DETACHBUFFER(buffer);
</span><span class="cx"> 
</span><span class="cx"> assert.throws(TypeError, function() {
</span><del>-  sample.setFloat64(Infinity, 0);
-}, &quot;Infinity&quot;);
-
-assert.throws(TypeError, function() {
</del><span class="cx">   sample.setFloat64(13, 0);
</span><span class="cx"> }, &quot;13&quot;);
</span></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypesetFloat64indexcheckbeforevalueconversionjs"></a>
<div class="modfile"><h4>Modified: trunk/JSTests/test262/test/built-ins/DataView/prototype/setFloat64/index-check-before-value-conversion.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/setFloat64/index-check-before-value-conversion.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/setFloat64/index-check-before-value-conversion.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -36,3 +36,7 @@
</span><span class="cx"> assert.throws(RangeError, function() {
</span><span class="cx">   dataView.setFloat64(-Infinity, poisoned);
</span><span class="cx"> }, &quot;setFloat64(-Infinity, poisoned)&quot;);
</span><ins>+
+assert.throws(RangeError, function() {
+  dataView.setFloat64(Infinity, poisoned);
+}, &quot;setFloat64(Infinity, poisoned)&quot;);
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypesetFloat64rangecheckaftervalueconversionjs"></a>
<div class="modfile"><h4>Modified: trunk/JSTests/test262/test/built-ins/DataView/prototype/setFloat64/range-check-after-value-conversion.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/setFloat64/range-check-after-value-conversion.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/setFloat64/range-check-after-value-conversion.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -31,17 +31,9 @@
</span><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> assert.throws(Test262Error, function() {
</span><del>-  dataView.setFloat64(Infinity, poisoned);
-}, &quot;setFloat64(Infinity, poisoned)&quot;);
-
-assert.throws(Test262Error, function() {
</del><span class="cx">   dataView.setFloat64(100, poisoned);
</span><span class="cx"> }, &quot;setFloat64(100, poisoned)&quot;);
</span><span class="cx"> 
</span><span class="cx"> assert.throws(Test262Error, function() {
</span><del>-  dataView.setFloat64('Infinity', poisoned);
-}, &quot;setFloat64('Infinity', poisoned)&quot;);
-
-assert.throws(Test262Error, function() {
</del><span class="cx">   dataView.setFloat64('100', poisoned);
</span><span class="cx"> }, &quot;setFloat64('100', poisoned)&quot;);
</span></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypesetInt16detachedbufferafterintegerbyteoffsetjs"></a>
<div class="delfile"><h4>Deleted: trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt16/detached-buffer-after-integer-byteoffset.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt16/detached-buffer-after-integer-byteoffset.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt16/detached-buffer-after-integer-byteoffset.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -1,35 +0,0 @@
</span><del>-// Copyright (C) 2016 the V8 project authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-esid: sec-dataview.prototype.setint16
-es6id: 24.2.4.16
-description: &gt;
-  Detached buffer is checked after checking If numberIndex ≠ getIndex or
-  getIndex &lt; 0
-info: |
-  24.2.4.16 DataView.prototype.setInt16 ( byteOffset, value [ , littleEndian ] )
-
-  1. Let v be the this value.
-  2. If littleEndian is not present, let littleEndian be false.
-  3. Return ? SetViewValue(v, byteOffset, littleEndian, &quot;Int16&quot;, value).
-
-  24.2.1.2 SetViewValue ( view, requestIndex, isLittleEndian, type, value )
-
-  ...
-  4. Let getIndex be ? ToIndex(requestIndex).
-  ...
-  7. Let buffer be view.[[ViewedArrayBuffer]].
-  8. If IsDetachedBuffer(buffer) is true, throw a TypeError exception.
-  ...
-includes: [detachArrayBuffer.js]
----*/
-
-var buffer = new ArrayBuffer(12);
-var sample = new DataView(buffer, 0);
-
-$DETACHBUFFER(buffer);
-
-assert.throws(RangeError, function() {
-  sample.setInt16(-1, 0);
-});
</del></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypesetInt16detachedbufferaftertoindexbyteoffsetjsfromrev204850trunkJSTeststest262testbuiltinsDataViewprototypesetInt16detachedbufferafterintegerbyteoffsetjs"></a>
<div class="copfile"><h4>Copied: trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt16/detached-buffer-after-toindex-byteoffset.js (from rev 204850, trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt16/detached-buffer-after-integer-byteoffset.js) (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt16/detached-buffer-after-toindex-byteoffset.js                                (rev 0)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt16/detached-buffer-after-toindex-byteoffset.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,37 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-dataview.prototype.setint16
+description: &gt;
+  Detached buffer is only checked after ToIndex(requestIndex)
+info: |
+  24.2.4.16 DataView.prototype.setInt16 ( byteOffset, value [ , littleEndian ] )
+
+  1. Let v be the this value.
+  2. If littleEndian is not present, let littleEndian be false.
+  3. Return ? SetViewValue(v, byteOffset, littleEndian, &quot;Int16&quot;, value).
+
+  24.2.1.2 SetViewValue ( view, requestIndex, isLittleEndian, type, value )
+
+  ...
+  4. Let getIndex be ? ToIndex(requestIndex).
+  ...
+  7. Let buffer be view.[[ViewedArrayBuffer]].
+  8. If IsDetachedBuffer(buffer) is true, throw a TypeError exception.
+  ...
+includes: [detachArrayBuffer.js]
+---*/
+
+var buffer = new ArrayBuffer(12);
+var sample = new DataView(buffer, 0);
+
+$DETACHBUFFER(buffer);
+
+assert.throws(TypeError, function() {
+  sample.setInt16(Infinity, 0);
+}, &quot;Infinity&quot;);
+
+assert.throws(RangeError, function() {
+  sample.setInt16(-1, 0);
+});
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypesetInt16detachedbufferbeforeoutofrangebyteoffsetjs"></a>
<div class="modfile"><h4>Modified: trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt16/detached-buffer-before-outofrange-byteoffset.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt16/detached-buffer-before-outofrange-byteoffset.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt16/detached-buffer-before-outofrange-byteoffset.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -32,9 +32,5 @@
</span><span class="cx"> $DETACHBUFFER(buffer);
</span><span class="cx"> 
</span><span class="cx"> assert.throws(TypeError, function() {
</span><del>-  sample.setInt16(Infinity, 0);
-}, &quot;Infinity&quot;);
-
-assert.throws(TypeError, function() {
</del><span class="cx">   sample.setInt16(13, 0);
</span><span class="cx"> }, &quot;13&quot;);
</span></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypesetInt16indexcheckbeforevalueconversionjs"></a>
<div class="modfile"><h4>Modified: trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt16/index-check-before-value-conversion.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt16/index-check-before-value-conversion.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt16/index-check-before-value-conversion.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -36,3 +36,7 @@
</span><span class="cx"> assert.throws(RangeError, function() {
</span><span class="cx">   dataView.setInt16(-Infinity, poisoned);
</span><span class="cx"> }, &quot;setInt16(-Infinity, poisoned)&quot;);
</span><ins>+
+assert.throws(RangeError, function() {
+  dataView.setInt16(Infinity, poisoned);
+}, &quot;setInt16(Infinity, poisoned)&quot;);
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypesetInt16rangecheckaftervalueconversionjs"></a>
<div class="modfile"><h4>Modified: trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt16/range-check-after-value-conversion.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt16/range-check-after-value-conversion.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt16/range-check-after-value-conversion.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -31,17 +31,9 @@
</span><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> assert.throws(Test262Error, function() {
</span><del>-  dataView.setInt16(Infinity, poisoned);
-}, &quot;setInt16(Infinity, poisoned)&quot;);
-
-assert.throws(Test262Error, function() {
</del><span class="cx">   dataView.setInt16(100, poisoned);
</span><span class="cx"> }, &quot;setInt16(100, poisoned)&quot;);
</span><span class="cx"> 
</span><span class="cx"> assert.throws(Test262Error, function() {
</span><del>-  dataView.setInt16('Infinity', poisoned);
-}, &quot;setInt16('Infinity', poisoned)&quot;);
-
-assert.throws(Test262Error, function() {
</del><span class="cx">   dataView.setInt16('100', poisoned);
</span><span class="cx"> }, &quot;setInt16('100', poisoned)&quot;);
</span></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypesetInt32detachedbufferafterintegerbyteoffsetjs"></a>
<div class="delfile"><h4>Deleted: trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt32/detached-buffer-after-integer-byteoffset.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt32/detached-buffer-after-integer-byteoffset.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt32/detached-buffer-after-integer-byteoffset.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -1,35 +0,0 @@
</span><del>-// Copyright (C) 2016 the V8 project authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-esid: sec-dataview.prototype.setint32
-es6id: 24.2.4.17
-description: &gt;
-  Detached buffer is checked after checking If numberIndex ≠ getIndex or
-  getIndex &lt; 0
-info: |
-  24.2.4.17 DataView.prototype.setInt32 ( byteOffset, value [ , littleEndian ] )
-
-  1. Let v be the this value.
-  2. If littleEndian is not present, let littleEndian be false.
-  3. Return ? SetViewValue(v, byteOffset, littleEndian, &quot;Int32&quot;, value).
-
-  24.2.1.2 SetViewValue ( view, requestIndex, isLittleEndian, type, value )
-
-  ...
-  4. Let getIndex be ? ToIndex(requestIndex).
-  ...
-  7. Let buffer be view.[[ViewedArrayBuffer]].
-  8. If IsDetachedBuffer(buffer) is true, throw a TypeError exception.
-  ...
-includes: [detachArrayBuffer.js]
----*/
-
-var buffer = new ArrayBuffer(12);
-var sample = new DataView(buffer, 0);
-
-$DETACHBUFFER(buffer);
-
-assert.throws(RangeError, function() {
-  sample.setInt32(-1, 0);
-});
</del></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypesetInt32detachedbufferaftertoindexbyteoffsetjsfromrev204850trunkJSTeststest262testbuiltinsDataViewprototypesetInt32detachedbufferafterintegerbyteoffsetjs"></a>
<div class="copfile"><h4>Copied: trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt32/detached-buffer-after-toindex-byteoffset.js (from rev 204850, trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt32/detached-buffer-after-integer-byteoffset.js) (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt32/detached-buffer-after-toindex-byteoffset.js                                (rev 0)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt32/detached-buffer-after-toindex-byteoffset.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,37 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-dataview.prototype.setint32
+description: &gt;
+  Detached buffer is only checked after ToIndex(requestIndex)
+info: |
+  24.2.4.17 DataView.prototype.setInt32 ( byteOffset, value [ , littleEndian ] )
+
+  1. Let v be the this value.
+  2. If littleEndian is not present, let littleEndian be false.
+  3. Return ? SetViewValue(v, byteOffset, littleEndian, &quot;Int32&quot;, value).
+
+  24.2.1.2 SetViewValue ( view, requestIndex, isLittleEndian, type, value )
+
+  ...
+  4. Let getIndex be ? ToIndex(requestIndex).
+  ...
+  7. Let buffer be view.[[ViewedArrayBuffer]].
+  8. If IsDetachedBuffer(buffer) is true, throw a TypeError exception.
+  ...
+includes: [detachArrayBuffer.js]
+---*/
+
+var buffer = new ArrayBuffer(12);
+var sample = new DataView(buffer, 0);
+
+$DETACHBUFFER(buffer);
+
+assert.throws(RangeError, function() {
+  sample.setInt32(Infinity, 0);
+}, &quot;Infinity&quot;);
+
+assert.throws(RangeError, function() {
+  sample.setInt32(-1, 0);
+});
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypesetInt32detachedbufferbeforeoutofrangebyteoffsetjs"></a>
<div class="modfile"><h4>Modified: trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt32/detached-buffer-before-outofrange-byteoffset.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt32/detached-buffer-before-outofrange-byteoffset.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt32/detached-buffer-before-outofrange-byteoffset.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -32,9 +32,5 @@
</span><span class="cx"> $DETACHBUFFER(buffer);
</span><span class="cx"> 
</span><span class="cx"> assert.throws(TypeError, function() {
</span><del>-  sample.setInt32(Infinity, 0);
-}, &quot;Infinity&quot;);
-
-assert.throws(TypeError, function() {
</del><span class="cx">   sample.setInt32(13, 0);
</span><span class="cx"> }, &quot;13&quot;);
</span></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypesetInt32indexcheckbeforevalueconversionjs"></a>
<div class="modfile"><h4>Modified: trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt32/index-check-before-value-conversion.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt32/index-check-before-value-conversion.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt32/index-check-before-value-conversion.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -36,3 +36,7 @@
</span><span class="cx"> assert.throws(RangeError, function() {
</span><span class="cx">   dataView.setInt32(-Infinity, poisoned);
</span><span class="cx"> }, &quot;setInt32(-Infinity, poisoned)&quot;);
</span><ins>+
+assert.throws(RangeError, function() {
+  dataView.setInt32(Infinity, poisoned);
+}, &quot;setInt32(Infinity, poisoned)&quot;);
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypesetInt32rangecheckaftervalueconversionjs"></a>
<div class="modfile"><h4>Modified: trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt32/range-check-after-value-conversion.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt32/range-check-after-value-conversion.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt32/range-check-after-value-conversion.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -31,17 +31,9 @@
</span><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> assert.throws(Test262Error, function() {
</span><del>-  dataView.setInt32(Infinity, poisoned);
-}, &quot;setInt32(Infinity, poisoned)&quot;);
-
-assert.throws(Test262Error, function() {
</del><span class="cx">   dataView.setInt32(100, poisoned);
</span><span class="cx"> }, &quot;setInt32(100, poisoned)&quot;);
</span><span class="cx"> 
</span><span class="cx"> assert.throws(Test262Error, function() {
</span><del>-  dataView.setInt32('Infinity', poisoned);
-}, &quot;setInt32('Infinity', poisoned)&quot;);
-
-assert.throws(Test262Error, function() {
</del><span class="cx">   dataView.setInt32('100', poisoned);
</span><span class="cx"> }, &quot;setInt32('100', poisoned)&quot;);
</span></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypesetInt8detachedbufferafterintegerbyteoffsetjs"></a>
<div class="delfile"><h4>Deleted: trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt8/detached-buffer-after-integer-byteoffset.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt8/detached-buffer-after-integer-byteoffset.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt8/detached-buffer-after-integer-byteoffset.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -1,34 +0,0 @@
</span><del>-// Copyright (C) 2016 the V8 project authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-esid: sec-dataview.prototype.setint8
-es6id: 24.2.4.15
-description: &gt;
-  Detached buffer is checked after checking If numberIndex ≠ getIndex or
-  getIndex &lt; 0
-info: |
-  24.2.4.15 DataView.prototype.setInt8 ( byteOffset, value )
-
-  1. Let v be the this value.
-  2. Return ? SetViewValue(v, byteOffset, true, &quot;Int8&quot;, value).
-
-  24.2.1.2 SetViewValue ( view, requestIndex, isLittleEndian, type, value )
-
-  ...
-  4. Let getIndex be ? ToIndex(requestIndex).
-  ...
-  7. Let buffer be view.[[ViewedArrayBuffer]].
-  8. If IsDetachedBuffer(buffer) is true, throw a TypeError exception.
-  ...
-includes: [detachArrayBuffer.js]
----*/
-
-var buffer = new ArrayBuffer(12);
-var sample = new DataView(buffer, 0);
-
-$DETACHBUFFER(buffer);
-
-assert.throws(RangeError, function() {
-  sample.setInt8(-1, 0);
-});
</del></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypesetInt8detachedbufferaftertoindexbyteoffsetjsfromrev204850trunkJSTeststest262testbuiltinsDataViewprototypesetInt8detachedbufferafterintegerbyteoffsetjs"></a>
<div class="copfile"><h4>Copied: trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt8/detached-buffer-after-toindex-byteoffset.js (from rev 204850, trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt8/detached-buffer-after-integer-byteoffset.js) (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt8/detached-buffer-after-toindex-byteoffset.js                                (rev 0)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt8/detached-buffer-after-toindex-byteoffset.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,36 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-dataview.prototype.setint8
+description: &gt;
+  Detached buffer is only checked after ToIndex(requestIndex)
+info: |
+  24.2.4.15 DataView.prototype.setInt8 ( byteOffset, value )
+
+  1. Let v be the this value.
+  2. Return ? SetViewValue(v, byteOffset, true, &quot;Int8&quot;, value).
+
+  24.2.1.2 SetViewValue ( view, requestIndex, isLittleEndian, type, value )
+
+  ...
+  4. Let getIndex be ? ToIndex(requestIndex).
+  ...
+  7. Let buffer be view.[[ViewedArrayBuffer]].
+  8. If IsDetachedBuffer(buffer) is true, throw a TypeError exception.
+  ...
+includes: [detachArrayBuffer.js]
+---*/
+
+var buffer = new ArrayBuffer(12);
+var sample = new DataView(buffer, 0);
+
+$DETACHBUFFER(buffer);
+
+assert.throws(RangeError, function() {
+  sample.setInt8(Infinity, 0);
+}, &quot;Infinity&quot;);
+
+assert.throws(RangeError, function() {
+  sample.setInt8(-1, 0);
+});
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypesetInt8detachedbufferbeforeoutofrangebyteoffsetjs"></a>
<div class="modfile"><h4>Modified: trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt8/detached-buffer-before-outofrange-byteoffset.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt8/detached-buffer-before-outofrange-byteoffset.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt8/detached-buffer-before-outofrange-byteoffset.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -31,9 +31,5 @@
</span><span class="cx"> $DETACHBUFFER(buffer);
</span><span class="cx"> 
</span><span class="cx"> assert.throws(TypeError, function() {
</span><del>-  sample.setInt8(Infinity, 0);
-}, &quot;Infinity&quot;);
-
-assert.throws(TypeError, function() {
</del><span class="cx">   sample.setInt8(13, 0);
</span><span class="cx"> }, &quot;13&quot;);
</span></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypesetInt8indexcheckbeforevalueconversionjs"></a>
<div class="modfile"><h4>Modified: trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt8/index-check-before-value-conversion.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt8/index-check-before-value-conversion.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt8/index-check-before-value-conversion.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -36,3 +36,7 @@
</span><span class="cx"> assert.throws(RangeError, function() {
</span><span class="cx">   dataView.setInt8(-Infinity, poisoned);
</span><span class="cx"> }, &quot;setInt8(-Infinity, poisoned)&quot;);
</span><ins>+
+assert.throws(RangeError, function() {
+  dataView.setInt8(Infinity, poisoned);
+}, &quot;setInt8(Infinity, poisoned)&quot;);
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypesetInt8rangecheckaftervalueconversionjs"></a>
<div class="modfile"><h4>Modified: trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt8/range-check-after-value-conversion.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt8/range-check-after-value-conversion.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt8/range-check-after-value-conversion.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -31,17 +31,9 @@
</span><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> assert.throws(Test262Error, function() {
</span><del>-  dataView.setInt8(Infinity, poisoned);
-}, &quot;setInt8(Infinity, poisoned)&quot;);
-
-assert.throws(Test262Error, function() {
</del><span class="cx">   dataView.setInt8(100, poisoned);
</span><span class="cx"> }, &quot;setInt8(100, poisoned)&quot;);
</span><span class="cx"> 
</span><span class="cx"> assert.throws(Test262Error, function() {
</span><del>-  dataView.setInt8('Infinity', poisoned);
-}, &quot;setInt8('Infinity', poisoned)&quot;);
-
-assert.throws(Test262Error, function() {
</del><span class="cx">   dataView.setInt8('100', poisoned);
</span><span class="cx"> }, &quot;setInt8('100', poisoned)&quot;);
</span></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypesetUint16detachedbufferafterintegerbyteoffsetjs"></a>
<div class="delfile"><h4>Deleted: trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint16/detached-buffer-after-integer-byteoffset.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint16/detached-buffer-after-integer-byteoffset.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint16/detached-buffer-after-integer-byteoffset.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -1,35 +0,0 @@
</span><del>-// Copyright (C) 2016 the V8 project authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-esid: sec-dataview.prototype.setuint16
-es6id: 24.2.4.19
-description: &gt;
-  Detached buffer is checked after checking If numberIndex ≠ getIndex or
-  getIndex &lt; 0
-info: |
-  24.2.4.19 DataView.prototype.setUint16 ( byteOffset, value [ , littleEndian ] )
-
-  1. Let v be the this value.
-  2. If littleEndian is not present, let littleEndian be false.
-  3. Return ? SetViewValue(v, byteOffset, littleEndian, &quot;Uint16&quot;, value).
-
-  24.2.1.2 SetViewValue ( view, requestIndex, isLittleEndian, type, value )
-
-  ...
-  4. Let getIndex be ? ToIndex(requestIndex).
-  ...
-  7. Let buffer be view.[[ViewedArrayBuffer]].
-  8. If IsDetachedBuffer(buffer) is true, throw a TypeError exception.
-  ...
-includes: [detachArrayBuffer.js]
----*/
-
-var buffer = new ArrayBuffer(12);
-var sample = new DataView(buffer, 0);
-
-$DETACHBUFFER(buffer);
-
-assert.throws(RangeError, function() {
-  sample.setUint16(-1, 0);
-});
</del></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypesetUint16detachedbufferaftertoindexbyteoffsetjsfromrev204850trunkJSTeststest262testbuiltinsDataViewprototypesetUint16detachedbufferafterintegerbyteoffsetjs"></a>
<div class="copfile"><h4>Copied: trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint16/detached-buffer-after-toindex-byteoffset.js (from rev 204850, trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint16/detached-buffer-after-integer-byteoffset.js) (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint16/detached-buffer-after-toindex-byteoffset.js                                (rev 0)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint16/detached-buffer-after-toindex-byteoffset.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,37 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-dataview.prototype.setuint16
+description: &gt;
+  Detached buffer is only checked after ToIndex(requestIndex)
+info: |
+  24.2.4.19 DataView.prototype.setUint16 ( byteOffset, value [ , littleEndian ] )
+
+  1. Let v be the this value.
+  2. If littleEndian is not present, let littleEndian be false.
+  3. Return ? SetViewValue(v, byteOffset, littleEndian, &quot;Uint16&quot;, value).
+
+  24.2.1.2 SetViewValue ( view, requestIndex, isLittleEndian, type, value )
+
+  ...
+  4. Let getIndex be ? ToIndex(requestIndex).
+  ...
+  7. Let buffer be view.[[ViewedArrayBuffer]].
+  8. If IsDetachedBuffer(buffer) is true, throw a TypeError exception.
+  ...
+includes: [detachArrayBuffer.js]
+---*/
+
+var buffer = new ArrayBuffer(12);
+var sample = new DataView(buffer, 0);
+
+$DETACHBUFFER(buffer);
+
+assert.throws(RangeError, function() {
+  sample.setUint16(Infinity, 0);
+}, &quot;Infinity&quot;);
+
+assert.throws(RangeError, function() {
+  sample.setUint16(-1, 0);
+});
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypesetUint16detachedbufferbeforeoutofrangebyteoffsetjs"></a>
<div class="modfile"><h4>Modified: trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint16/detached-buffer-before-outofrange-byteoffset.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint16/detached-buffer-before-outofrange-byteoffset.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint16/detached-buffer-before-outofrange-byteoffset.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -32,9 +32,5 @@
</span><span class="cx"> $DETACHBUFFER(buffer);
</span><span class="cx"> 
</span><span class="cx"> assert.throws(TypeError, function() {
</span><del>-  sample.setUint16(Infinity, 0);
-}, &quot;Infinity&quot;);
-
-assert.throws(TypeError, function() {
</del><span class="cx">   sample.setUint16(13, 0);
</span><span class="cx"> }, &quot;13&quot;);
</span></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypesetUint16indexcheckbeforevalueconversionjs"></a>
<div class="modfile"><h4>Modified: trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint16/index-check-before-value-conversion.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint16/index-check-before-value-conversion.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint16/index-check-before-value-conversion.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -36,3 +36,7 @@
</span><span class="cx"> assert.throws(RangeError, function() {
</span><span class="cx">   dataView.setUint16(-Infinity, poisoned);
</span><span class="cx"> }, &quot;setUint16(-Infinity, poisoned)&quot;);
</span><ins>+
+assert.throws(RangeError, function() {
+  dataView.setUint16(Infinity, poisoned);
+}, &quot;setUint16(Infinity, poisoned)&quot;);
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypesetUint16rangecheckaftervalueconversionjs"></a>
<div class="modfile"><h4>Modified: trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint16/range-check-after-value-conversion.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint16/range-check-after-value-conversion.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint16/range-check-after-value-conversion.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -31,17 +31,9 @@
</span><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> assert.throws(Test262Error, function() {
</span><del>-  dataView.setUint16(Infinity, poisoned);
-}, &quot;setUint16(Infinity, poisoned)&quot;);
-
-assert.throws(Test262Error, function() {
</del><span class="cx">   dataView.setUint16(100, poisoned);
</span><span class="cx"> }, &quot;setUint16(100, poisoned)&quot;);
</span><span class="cx"> 
</span><span class="cx"> assert.throws(Test262Error, function() {
</span><del>-  dataView.setUint16('Infinity', poisoned);
-}, &quot;setUint16('Infinity', poisoned)&quot;);
-
-assert.throws(Test262Error, function() {
</del><span class="cx">   dataView.setUint16('100', poisoned);
</span><span class="cx"> }, &quot;setUint16('100', poisoned)&quot;);
</span></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypesetUint32detachedbufferafterintegerbyteoffsetjs"></a>
<div class="delfile"><h4>Deleted: trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint32/detached-buffer-after-integer-byteoffset.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint32/detached-buffer-after-integer-byteoffset.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint32/detached-buffer-after-integer-byteoffset.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -1,35 +0,0 @@
</span><del>-// Copyright (C) 2016 the V8 project authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-esid: sec-dataview.prototype.setuint32
-es6id: 24.2.4.20
-description: &gt;
-  Detached buffer is checked after checking If numberIndex ≠ getIndex or
-  getIndex &lt; 0
-info: |
-  24.2.4.20 DataView.prototype.setUint32 ( byteOffset, value [ , littleEndian ] )
-
-  1. Let v be the this value.
-  2. If littleEndian is not present, let littleEndian be false.
-  3. Return ? SetViewValue(v, byteOffset, littleEndian, &quot;Uint32&quot;, value).
-
-  24.2.1.2 SetViewValue ( view, requestIndex, isLittleEndian, type, value )
-
-  ...
-  4. Let getIndex be ? ToIndex(requestIndex).
-  ...
-  7. Let buffer be view.[[ViewedArrayBuffer]].
-  8. If IsDetachedBuffer(buffer) is true, throw a TypeError exception.
-  ...
-includes: [detachArrayBuffer.js]
----*/
-
-var buffer = new ArrayBuffer(12);
-var sample = new DataView(buffer, 0);
-
-$DETACHBUFFER(buffer);
-
-assert.throws(RangeError, function() {
-  sample.setUint32(-1, 0);
-});
</del></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypesetUint32detachedbufferaftertoindexbyteoffsetjsfromrev204850trunkJSTeststest262testbuiltinsDataViewprototypesetUint32detachedbufferafterintegerbyteoffsetjs"></a>
<div class="copfile"><h4>Copied: trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint32/detached-buffer-after-toindex-byteoffset.js (from rev 204850, trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint32/detached-buffer-after-integer-byteoffset.js) (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint32/detached-buffer-after-toindex-byteoffset.js                                (rev 0)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint32/detached-buffer-after-toindex-byteoffset.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,37 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-dataview.prototype.setuint32
+description: &gt;
+  Detached buffer is only checked after ToIndex(requestIndex)
+info: |
+  24.2.4.20 DataView.prototype.setUint32 ( byteOffset, value [ , littleEndian ] )
+
+  1. Let v be the this value.
+  2. If littleEndian is not present, let littleEndian be false.
+  3. Return ? SetViewValue(v, byteOffset, littleEndian, &quot;Uint32&quot;, value).
+
+  24.2.1.2 SetViewValue ( view, requestIndex, isLittleEndian, type, value )
+
+  ...
+  4. Let getIndex be ? ToIndex(requestIndex).
+  ...
+  7. Let buffer be view.[[ViewedArrayBuffer]].
+  8. If IsDetachedBuffer(buffer) is true, throw a TypeError exception.
+  ...
+includes: [detachArrayBuffer.js]
+---*/
+
+var buffer = new ArrayBuffer(12);
+var sample = new DataView(buffer, 0);
+
+$DETACHBUFFER(buffer);
+
+assert.throws(RangeError, function() {
+  sample.setUint32(Infinity, 0);
+}, &quot;Infinity&quot;);
+
+assert.throws(RangeError, function() {
+  sample.setUint32(-1, 0);
+});
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypesetUint32detachedbufferbeforeoutofrangebyteoffsetjs"></a>
<div class="modfile"><h4>Modified: trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint32/detached-buffer-before-outofrange-byteoffset.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint32/detached-buffer-before-outofrange-byteoffset.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint32/detached-buffer-before-outofrange-byteoffset.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -32,9 +32,5 @@
</span><span class="cx"> $DETACHBUFFER(buffer);
</span><span class="cx"> 
</span><span class="cx"> assert.throws(TypeError, function() {
</span><del>-  sample.setUint32(Infinity, 0);
-}, &quot;Infinity&quot;);
-
-assert.throws(TypeError, function() {
</del><span class="cx">   sample.setUint32(13, 0);
</span><span class="cx"> }, &quot;13&quot;);
</span></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypesetUint32indexcheckbeforevalueconversionjs"></a>
<div class="modfile"><h4>Modified: trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint32/index-check-before-value-conversion.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint32/index-check-before-value-conversion.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint32/index-check-before-value-conversion.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -36,3 +36,7 @@
</span><span class="cx"> assert.throws(RangeError, function() {
</span><span class="cx">   dataView.setUint32(-Infinity, poisoned);
</span><span class="cx"> }, &quot;setUint32(-Infinity, poisoned)&quot;);
</span><ins>+
+assert.throws(RangeError, function() {
+  dataView.setUint32(Infinity, poisoned);
+}, &quot;setUint32(Infinity, poisoned)&quot;);
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypesetUint32rangecheckaftervalueconversionjs"></a>
<div class="modfile"><h4>Modified: trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint32/range-check-after-value-conversion.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint32/range-check-after-value-conversion.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint32/range-check-after-value-conversion.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -31,17 +31,9 @@
</span><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> assert.throws(Test262Error, function() {
</span><del>-  dataView.setUint32(Infinity, poisoned);
-}, &quot;setUint32(Infinity, poisoned)&quot;);
-
-assert.throws(Test262Error, function() {
</del><span class="cx">   dataView.setUint32(100, poisoned);
</span><span class="cx"> }, &quot;setUint32(100, poisoned)&quot;);
</span><span class="cx"> 
</span><span class="cx"> assert.throws(Test262Error, function() {
</span><del>-  dataView.setUint32('Infinity', poisoned);
-}, &quot;setUint32('Infinity', poisoned)&quot;);
-
-assert.throws(Test262Error, function() {
</del><span class="cx">   dataView.setUint32('100', poisoned);
</span><span class="cx"> }, &quot;setUint32('100', poisoned)&quot;);
</span></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypesetUint8detachedbufferafterintegerbyteoffsetjs"></a>
<div class="delfile"><h4>Deleted: trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint8/detached-buffer-after-integer-byteoffset.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint8/detached-buffer-after-integer-byteoffset.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint8/detached-buffer-after-integer-byteoffset.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -1,34 +0,0 @@
</span><del>-// Copyright (C) 2016 the V8 project authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-esid: sec-dataview.prototype.setuint8
-es6id: 24.2.4.18
-description: &gt;
-  Detached buffer is checked after checking If numberIndex ≠ getIndex or
-  getIndex &lt; 0
-info: |
-  24.2.4.18 DataView.prototype.setUint8 ( byteOffset, value )
-
-  1. Let v be the this value.
-  2. Return ? SetViewValue(v, byteOffset, true, &quot;Uint8&quot;, value).
-
-  24.2.1.2 SetViewValue ( view, requestIndex, isLittleEndian, type, value )
-
-  ...
-  4. Let getIndex be ? ToIndex(requestIndex).
-  ...
-  7. Let buffer be view.[[ViewedArrayBuffer]].
-  8. If IsDetachedBuffer(buffer) is true, throw a TypeError exception.
-  ...
-includes: [detachArrayBuffer.js]
----*/
-
-var buffer = new ArrayBuffer(12);
-var sample = new DataView(buffer, 0);
-
-$DETACHBUFFER(buffer);
-
-assert.throws(RangeError, function() {
-  sample.setUint8(-1, 0);
-});
</del></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypesetUint8detachedbufferaftertoindexbyteoffsetjsfromrev204850trunkJSTeststest262testbuiltinsDataViewprototypesetUint8detachedbufferafterintegerbyteoffsetjs"></a>
<div class="copfile"><h4>Copied: trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint8/detached-buffer-after-toindex-byteoffset.js (from rev 204850, trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint8/detached-buffer-after-integer-byteoffset.js) (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint8/detached-buffer-after-toindex-byteoffset.js                                (rev 0)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint8/detached-buffer-after-toindex-byteoffset.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,36 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-dataview.prototype.setuint8
+description: &gt;
+  Detached buffer is only checked after ToIndex(requestIndex)
+info: |
+  24.2.4.18 DataView.prototype.setUint8 ( byteOffset, value )
+
+  1. Let v be the this value.
+  2. Return ? SetViewValue(v, byteOffset, true, &quot;Uint8&quot;, value).
+
+  24.2.1.2 SetViewValue ( view, requestIndex, isLittleEndian, type, value )
+
+  ...
+  4. Let getIndex be ? ToIndex(requestIndex).
+  ...
+  7. Let buffer be view.[[ViewedArrayBuffer]].
+  8. If IsDetachedBuffer(buffer) is true, throw a TypeError exception.
+  ...
+includes: [detachArrayBuffer.js]
+---*/
+
+var buffer = new ArrayBuffer(12);
+var sample = new DataView(buffer, 0);
+
+$DETACHBUFFER(buffer);
+
+assert.throws(RangeError, function() {
+  sample.setUint8(Infinity, 0);
+}, &quot;Infinity&quot;);
+
+assert.throws(RangeError, function() {
+  sample.setUint8(-1, 0);
+});
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypesetUint8detachedbufferbeforeoutofrangebyteoffsetjs"></a>
<div class="modfile"><h4>Modified: trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint8/detached-buffer-before-outofrange-byteoffset.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint8/detached-buffer-before-outofrange-byteoffset.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint8/detached-buffer-before-outofrange-byteoffset.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -31,9 +31,5 @@
</span><span class="cx"> $DETACHBUFFER(buffer);
</span><span class="cx"> 
</span><span class="cx"> assert.throws(TypeError, function() {
</span><del>-  sample.setUint8(Infinity, 0);
-}, &quot;Infinity&quot;);
-
-assert.throws(TypeError, function() {
</del><span class="cx">   sample.setUint8(13, 0);
</span><span class="cx"> }, &quot;13&quot;);
</span></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypesetUint8indexcheckbeforevalueconversionjs"></a>
<div class="modfile"><h4>Modified: trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint8/index-check-before-value-conversion.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint8/index-check-before-value-conversion.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint8/index-check-before-value-conversion.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -36,3 +36,7 @@
</span><span class="cx"> assert.throws(RangeError, function() {
</span><span class="cx">   dataView.setUint8(-Infinity, poisoned);
</span><span class="cx"> }, &quot;setUint8(-Infinity, poisoned)&quot;);
</span><ins>+
+assert.throws(RangeError, function() {
+  dataView.setUint8(Infinity, poisoned);
+}, &quot;setUint8(Infinity, poisoned)&quot;);
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypesetUint8rangecheckaftervalueconversionjs"></a>
<div class="modfile"><h4>Modified: trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint8/range-check-after-value-conversion.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint8/range-check-after-value-conversion.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint8/range-check-after-value-conversion.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -31,17 +31,9 @@
</span><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> assert.throws(Test262Error, function() {
</span><del>-  dataView.setUint8(Infinity, poisoned);
-}, &quot;setUint8(Infinity, poisoned)&quot;);
-
-assert.throws(Test262Error, function() {
</del><span class="cx">   dataView.setUint8(100, poisoned);
</span><span class="cx"> }, &quot;setUint8(100, poisoned)&quot;);
</span><span class="cx"> 
</span><span class="cx"> assert.throws(Test262Error, function() {
</span><del>-  dataView.setUint8('Infinity', poisoned);
-}, &quot;setUint8('Infinity', poisoned)&quot;);
-
-assert.throws(Test262Error, function() {
</del><span class="cx">   dataView.setUint8('100', poisoned);
</span><span class="cx"> }, &quot;setUint8('100', poisoned)&quot;);
</span></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsFunctionprototypebindinstanceconstructnewtargetboundtargetboundjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/Function/prototype/bind/instance-construct-newtarget-boundtarget-bound.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/Function/prototype/bind/instance-construct-newtarget-boundtarget-bound.js                                (rev 0)
+++ trunk/JSTests/test262/test/built-ins/Function/prototype/bind/instance-construct-newtarget-boundtarget-bound.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,28 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-bound-function-exotic-objects-construct-argumentslist-newtarget
+es6id: 9.4.1.2
+description: &gt;
+  The NewTarget value is changed to the target function when the bound function
+  object is constructed using Reflect.construct and the &quot;bound target&quot; is
+  specified as the NewTarget value (and the bound target is itself a bound
+  function)
+info: |
+  [...]
+  5. If SameValue(F, newTarget) is true, let newTarget be target.
+  6. Return ? Construct(target, args, newTarget). 
+features: [Reflect, new.target]
+---*/
+
+var newTarget;
+function A() {
+  newTarget = new.target;
+}
+var B = A.bind();
+var C = B.bind();
+
+var c = Reflect.construct(C, [], B);
+
+assert.sameValue(newTarget, A);
+assert.sameValue(Object.getPrototypeOf(c), A.prototype);
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsFunctionprototypebindinstanceconstructnewtargetboundtargetjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/Function/prototype/bind/instance-construct-newtarget-boundtarget.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/Function/prototype/bind/instance-construct-newtarget-boundtarget.js                                (rev 0)
+++ trunk/JSTests/test262/test/built-ins/Function/prototype/bind/instance-construct-newtarget-boundtarget.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,27 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-bound-function-exotic-objects-construct-argumentslist-newtarget
+es6id: 9.4.1.2
+description: &gt;
+  The NewTarget value is changed to the target function when the bound function
+  object is constructed using Reflect.construct and the &quot;bound target&quot; is
+  specified as the NewTarget value
+info: |
+  [...]
+  5. If SameValue(F, newTarget) is true, let newTarget be target.
+  6. Return ? Construct(target, args, newTarget). 
+features: [Reflect, new.target]
+---*/
+
+var newTarget;
+function A() {
+  newTarget = new.target;
+}
+var B = A.bind();
+var C = B.bind();
+
+var c = Reflect.construct(C, [], A);
+
+assert.sameValue(newTarget, A);
+assert.sameValue(Object.getPrototypeOf(c), A.prototype);
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsFunctionprototypebindinstanceconstructnewtargetselfnewjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/Function/prototype/bind/instance-construct-newtarget-self-new.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/Function/prototype/bind/instance-construct-newtarget-self-new.js                                (rev 0)
+++ trunk/JSTests/test262/test/built-ins/Function/prototype/bind/instance-construct-newtarget-self-new.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,26 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-bound-function-exotic-objects-construct-argumentslist-newtarget
+es6id: 9.4.1.2
+description: &gt;
+  The NewTarget value is changed to the target function when the bound function
+  object is constructed using the `new` operator
+info: |
+  [...]
+  5. If SameValue(F, newTarget) is true, let newTarget be target.
+  6. Return ? Construct(target, args, newTarget). 
+features: [new.target]
+---*/
+
+var newTarget;
+function A() {
+  newTarget = new.target;
+}
+var B = A.bind();
+var C = B.bind();
+
+var c = new C();
+
+assert.sameValue(newTarget, A);
+assert.sameValue(Object.getPrototypeOf(c), A.prototype);
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsFunctionprototypebindinstanceconstructnewtargetselfreflectjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/Function/prototype/bind/instance-construct-newtarget-self-reflect.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/Function/prototype/bind/instance-construct-newtarget-self-reflect.js                                (rev 0)
+++ trunk/JSTests/test262/test/built-ins/Function/prototype/bind/instance-construct-newtarget-self-reflect.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,27 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-bound-function-exotic-objects-construct-argumentslist-newtarget
+es6id: 9.4.1.2
+description: &gt;
+  The NewTarget value is changed to the target function when the bound function
+  object is constructed using Reflect.construct and the bound function is
+  specified as the NewTarget value
+info: |
+  [...]
+  5. If SameValue(F, newTarget) is true, let newTarget be target.
+  6. Return ? Construct(target, args, newTarget). 
+features: [Reflect, new.target]
+---*/
+
+var newTarget;
+function A() {
+  newTarget = new.target;
+}
+var B = A.bind();
+var C = B.bind();
+
+var c = Reflect.construct(C, [], C);
+
+assert.sameValue(newTarget, A);
+assert.sameValue(Object.getPrototypeOf(c), A.prototype);
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsFunctionprototypetoStringAsyncFunctionjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/Function/prototype/toString/AsyncFunction.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/Function/prototype/toString/AsyncFunction.js                                (rev 0)
+++ trunk/JSTests/test262/test/built-ins/Function/prototype/toString/AsyncFunction.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,15 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson &lt;brian.terlson@microsoft.com&gt;
+esid: pending
+description: &gt;
+  Function.prototype.toString on an async function created with the
+  AsyncFunction constructor.
+features: [async-functions]
+---*/
+async function f() {}
+var AsyncFunction = f.constructor;
+var g = /* before */AsyncFunction(&quot;a&quot;, &quot; /* a */ b, c /* b */ //&quot;, &quot;/* c */ ; /* d */ //&quot;)/* after */; 
+assert.sameValue(g.toString(), &quot;async function anonymous(a, /* a */ b, c /* b */ //\n) {/* c */ ; /* d */ //\n}&quot;);
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsFunctionprototypetoStringasyncfunctiondeclarationjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/Function/prototype/toString/async-function-declaration.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/Function/prototype/toString/async-function-declaration.js                                (rev 0)
+++ trunk/JSTests/test262/test/built-ins/Function/prototype/toString/async-function-declaration.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,13 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson &lt;brian.terlson@microsoft.com&gt;
+esid: pending
+description: Function.prototype.toString on an async function declaration
+features: [async-functions]
+---*/
+
+/* before */async function /* a */ f /* b */ ( /* c */ x /* d */ , /* e */ y /* f */ ) /* g */ { /* h */ ; /* i */ ; /* j */ }/* after */
+
+assert.sameValue(f.toString(), &quot;async function /* a */ f /* b */ ( /* c */ x /* d */ , /* e */ y /* f */ ) /* g */ { /* h */ ; /* i */ ; /* j */ }&quot;);
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsFunctionprototypetoStringasyncfunctionexpressionjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/Function/prototype/toString/async-function-expression.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/Function/prototype/toString/async-function-expression.js                                (rev 0)
+++ trunk/JSTests/test262/test/built-ins/Function/prototype/toString/async-function-expression.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,13 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson &lt;brian.terlson@microsoft.com&gt;
+esid: pending
+description: Function.prototype.toString on an async function expression
+features: [async-functions]
+---*/
+
+let f = /* before */async function /* a */ f /* b */ ( /* c */ x /* d */ , /* e */ y /* f */ ) /* g */ { /* h */ ; /* i */ ; /* j */ }/* after */;
+
+assert.sameValue(f.toString(), &quot;async function /* a */ f /* b */ ( /* c */ x /* d */ , /* e */ y /* f */ ) /* g */ { /* h */ ; /* i */ ; /* j */ }&quot;);
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsFunctionprototypetoStringasyncmethodjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/Function/prototype/toString/async-method.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/Function/prototype/toString/async-method.js                                (rev 0)
+++ trunk/JSTests/test262/test/built-ins/Function/prototype/toString/async-method.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,15 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson &lt;brian.terlson@microsoft.com&gt;
+esid: pending
+description: Function.prototype.toString on an async method
+features: [async-functions]
+---*/
+
+let f = { /* before */async f /* a */ ( /* b */ ) /* c */ { /* d */ }/* after */ }.f;
+let g = { /* before */async /* a */ [ /* b */ &quot;g&quot; /* c */ ] /* d */ ( /* e */ ) /* f */ { /* g */ }/* after */ }.g;
+
+assert.sameValue(f.toString(), &quot;async f /* a */ ( /* b */ ) /* c */ { /* d */ }&quot;);
+assert.sameValue(g.toString(), &quot;async /* a */ [ /* b */ \&quot;g\&quot; /* c */ ] /* d */ ( /* e */ ) /* f */ { /* g */ }&quot;);
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsJSONparsereviverarraydefineproperrjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/JSON/parse/reviver-array-define-prop-err.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/JSON/parse/reviver-array-define-prop-err.js                                (rev 0)
+++ trunk/JSTests/test262/test/built-ins/JSON/parse/reviver-array-define-prop-err.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,47 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-internalizejsonproperty
+es6id: 24.3.1.1
+description: Abrupt completion from defining array property while reviving
+info: |
+  JSON.parse ( text [ , reviver ] )
+
+  [...]
+  7. If IsCallable(reviver) is true, then
+     [...]
+     e. Return ? InternalizeJSONProperty(root, rootName).
+
+  Runtime Semantics: InternalizeJSONProperty ( holder, name)
+
+  1. Let val be ? Get(holder, name).
+  2. If Type(val) is Object, then
+     a. Let isArray be ? IsArray(val).
+     b. If isArray is true, then
+        i. Set I to 0.
+        ii. Let len be ? ToLength(? Get(val, &quot;length&quot;)).
+        iii. Repeat while I &lt; len,
+             1. Let newElement be ? InternalizeJSONProperty(val, !
+                ToString(I)).
+             2. If newElement is undefined, then
+                [...]
+             3. Else,
+                a. Perform ? CreateDataProperty(val, ! ToString(I),
+                   newElement).
+features: [Proxy]
+---*/
+
+var badDefine = new Proxy([null], {
+  defineProperty: function(_, name) {
+    throw new Test262Error();
+  }
+});
+
+assert.throws(Test262Error, function() {
+  JSON.parse('[&quot;first&quot;, null]', function(_, value) {
+    if (value === 'first') {
+      this[1] = badDefine;
+    }
+    return value;
+  });
+});
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsJSONparsereviverarraydeleteerrjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/JSON/parse/reviver-array-delete-err.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/JSON/parse/reviver-array-delete-err.js                                (rev 0)
+++ trunk/JSTests/test262/test/built-ins/JSON/parse/reviver-array-delete-err.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,41 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-internalizejsonproperty
+es6id: 24.3.1.1
+description: Abrupt completion from array property deletion while reviving
+info: |
+  JSON.parse ( text [ , reviver ] )
+
+  [...]
+  7. If IsCallable(reviver) is true, then
+     [...]
+     e. Return ? InternalizeJSONProperty(root, rootName).
+
+  Runtime Semantics: InternalizeJSONProperty ( holder, name)
+
+  1. Let val be ? Get(holder, name).
+  2. If Type(val) is Object, then
+     a. Let isArray be ? IsArray(val).
+     b. If isArray is true, then
+        i. Set I to 0.
+        ii. Let len be ? ToLength(? Get(val, &quot;length&quot;)).
+        iii. Repeat while I &lt; len,
+             1. Let newElement be ? InternalizeJSONProperty(val, !
+                ToString(I)).
+             2. If newElement is undefined, then
+                a. Perform ? val.[[Delete]](! ToString(I)).
+features: [Proxy]
+---*/
+
+var badDelete = new Proxy([0], {
+  deleteProperty: function() {
+    throw new Test262Error();
+  }
+});
+
+assert.throws(Test262Error, function() {
+  JSON.parse('[0,0]', function() {
+    this[1] = badDelete;
+  });
+});
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsJSONparsereviverarraylengthcoerceerrjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/JSON/parse/reviver-array-length-coerce-err.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/JSON/parse/reviver-array-length-coerce-err.js                                (rev 0)
+++ trunk/JSTests/test262/test/built-ins/JSON/parse/reviver-array-length-coerce-err.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,44 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-internalizejsonproperty
+es6id: 24.3.1.1
+description: &gt;
+  Abrupt completion from coercing array &quot;length&quot; property to a number value
+info: |
+  JSON.parse ( text [ , reviver ] )
+
+  [...]
+  7. If IsCallable(reviver) is true, then
+     [...]
+     e. Return ? InternalizeJSONProperty(root, rootName).
+
+  Runtime Semantics: InternalizeJSONProperty ( holder, name)
+
+  1. Let val be ? Get(holder, name).
+  2. If Type(val) is Object, then
+     a. Let isArray be ? IsArray(val).
+     b. If isArray is true, then
+        i. Set I to 0.
+        ii. Let len be ? ToLength(? Get(val, &quot;length&quot;)).
+features: [Proxy]
+---*/
+
+var uncoercible = {
+  valueOf: function() {
+    throw new Test262Error();
+  }
+};
+var badLength = new Proxy([], {
+  get: function(_, name) {
+    if (name === 'length') {
+      return uncoercible;
+    }
+  }
+});
+
+assert.throws(Test262Error, function() {
+  JSON.parse('[0,0]', function() {
+    this[1] = badLength;
+  });
+});
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsJSONparsereviverarraylengthgeterrjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/JSON/parse/reviver-array-length-get-err.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/JSON/parse/reviver-array-length-get-err.js                                (rev 0)
+++ trunk/JSTests/test262/test/built-ins/JSON/parse/reviver-array-length-get-err.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,39 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-internalizejsonproperty
+es6id: 24.3.1.1
+description: &gt;
+  Abrupt completion from array &quot;length&quot; property access while reviving
+info: |
+  JSON.parse ( text [ , reviver ] )
+
+  [...]
+  7. If IsCallable(reviver) is true, then
+     [...]
+     e. Return ? InternalizeJSONProperty(root, rootName).
+
+  Runtime Semantics: InternalizeJSONProperty ( holder, name)
+
+  1. Let val be ? Get(holder, name).
+  2. If Type(val) is Object, then
+     a. Let isArray be ? IsArray(val).
+     b. If isArray is true, then
+        i. Set I to 0.
+        ii. Let len be ? ToLength(? Get(val, &quot;length&quot;)).
+features: [Proxy]
+---*/
+
+var badLength = new Proxy([], {
+  get: function(_, name) {
+    if (name === 'length') {
+      throw new Test262Error();
+    }
+  }
+});
+
+assert.throws(Test262Error, function() {
+  JSON.parse('[0,0]', function() {
+    this[1] = badLength;
+  });
+});
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsJSONparserevivercallerrjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/JSON/parse/reviver-call-err.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/JSON/parse/reviver-call-err.js                                (rev 0)
+++ trunk/JSTests/test262/test/built-ins/JSON/parse/reviver-call-err.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,26 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-internalizejsonproperty
+es6id: 24.3.1.1
+description: &gt;
+  Abrupt completion when reviver function returns an abrupt completion
+info: |
+  JSON.parse ( text [ , reviver ] )
+
+  [...]
+  7. If IsCallable(reviver) is true, then
+     [...]
+     e. Return ? InternalizeJSONProperty(root, rootName).
+
+  Runtime Semantics: InternalizeJSONProperty ( holder, name)
+
+  [...]
+  3. Return ? Call(reviver, holder, « name, val »).
+---*/
+
+assert.throws(Test262Error, function() {
+  JSON.parse('0', function() {
+    throw new Test262Error();
+  });
+});
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsJSONparserevivergetnameerrjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/JSON/parse/reviver-get-name-err.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/JSON/parse/reviver-get-name-err.js                                (rev 0)
+++ trunk/JSTests/test262/test/built-ins/JSON/parse/reviver-get-name-err.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,30 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-internalizejsonproperty
+es6id: 24.3.1.1
+description: Abrupt completion from &quot;holder&quot; property access while reviving
+info: |
+  JSON.parse ( text [ , reviver ] )
+
+  [...]
+  7. If IsCallable(reviver) is true, then
+     [...]
+     e. Return ? InternalizeJSONProperty(root, rootName).
+
+  Runtime Semantics: InternalizeJSONProperty ( holder, name)
+
+  1. Let val be ? Get(holder, name).
+---*/
+
+var thrower = function() {
+  throw new Test262Error();
+};
+
+assert.throws(Test262Error, function() {
+  JSON.parse('[0,0]', function() {
+    Object.defineProperty(this, '1', {
+      get: thrower
+    });
+  });
+});
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsJSONparsereviverobjectdefineproperrjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/JSON/parse/reviver-object-define-prop-err.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/JSON/parse/reviver-object-define-prop-err.js                                (rev 0)
+++ trunk/JSTests/test262/test/built-ins/JSON/parse/reviver-object-define-prop-err.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,46 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-internalizejsonproperty
+es6id: 24.3.1.1
+description: Abrupt completion from defining object property while reviving
+info: |
+  JSON.parse ( text [ , reviver ] )
+
+  [...]
+  7. If IsCallable(reviver) is true, then
+     [...]
+     e. Return ? InternalizeJSONProperty(root, rootName).
+
+  Runtime Semantics: InternalizeJSONProperty ( holder, name)
+
+  1. Let val be ? Get(holder, name).
+  2. If Type(val) is Object, then
+     a. Let isArray be ? IsArray(val).
+     b. If isArray is true, then
+        [...]
+     c. Else,
+        i. Let keys be ? EnumerableOwnProperties(val, &quot;key&quot;).
+        ii. For each String P in keys do,
+            1. Let newElement be ? InternalizeJSONProperty(val, P).
+            2. If newElement is undefined, then
+               [...]
+            3. Else,
+               a. Perform ? CreateDataProperty(val, P, newElement).
+features: [Proxy]
+---*/
+
+var badDefine = new Proxy({ 0: null }, {
+  defineProperty: function() {
+    throw new Test262Error();
+  }
+});
+
+assert.throws(Test262Error, function() {
+  JSON.parse('[&quot;first&quot;, null]', function(_, value) {
+    if (value === 'first') {
+      this[1] = badDefine;
+    }
+    return value;
+  });
+});
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsJSONparsereviverobjectdeleteerrjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/JSON/parse/reviver-object-delete-err.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/JSON/parse/reviver-object-delete-err.js                                (rev 0)
+++ trunk/JSTests/test262/test/built-ins/JSON/parse/reviver-object-delete-err.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,41 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-internalizejsonproperty
+es6id: 24.3.1.1
+description: Abrupt completion from object property deletion while reviving
+info: |
+  JSON.parse ( text [ , reviver ] )
+
+  [...]
+  7. If IsCallable(reviver) is true, then
+     [...]
+     e. Return ? InternalizeJSONProperty(root, rootName).
+
+  Runtime Semantics: InternalizeJSONProperty ( holder, name)
+
+  1. Let val be ? Get(holder, name).
+  2. If Type(val) is Object, then
+     a. Let isArray be ? IsArray(val).
+     b. If isArray is true, then
+        [...]
+     c. Else,
+        i. Let keys be ? EnumerableOwnProperties(val, &quot;key&quot;).
+        ii. For each String P in keys do,
+            1. Let newElement be ? InternalizeJSONProperty(val, P).
+            2. If newElement is undefined, then
+               a. Perform ? val.[[Delete]](P).
+features: [Proxy]
+---*/
+
+var badDelete = new Proxy({ a: 1 }, {
+  deleteProperty: function() {
+    throw new Test262Error();
+  }
+});
+
+assert.throws(Test262Error, function() {
+  JSON.parse('[0,0]', function() {
+    this[1] = badDelete;
+  });
+});
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsJSONparsereviverobjectownkeyserrjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/JSON/parse/reviver-object-own-keys-err.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/JSON/parse/reviver-object-own-keys-err.js                                (rev 0)
+++ trunk/JSTests/test262/test/built-ins/JSON/parse/reviver-object-own-keys-err.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,37 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-internalizejsonproperty
+es6id: 24.3.1.1
+description: Abrupt completion from object property enumeration while reviving
+info: |
+  JSON.parse ( text [ , reviver ] )
+
+  [...]
+  7. If IsCallable(reviver) is true, then
+     [...]
+     e. Return ? InternalizeJSONProperty(root, rootName).
+
+  Runtime Semantics: InternalizeJSONProperty ( holder, name)
+
+  1. Let val be ? Get(holder, name).
+  2. If Type(val) is Object, then
+     a. Let isArray be ? IsArray(val).
+     b. If isArray is true, then
+        [...]
+     c. Else,
+        i. Let keys be ? EnumerableOwnProperties(val, &quot;key&quot;).
+features: [Proxy]
+---*/
+
+var badKeys = new Proxy({}, {
+  ownKeys: function() {
+    throw new Test262Error();
+  }
+});
+
+assert.throws(Test262Error, function() {
+  JSON.parse('[0,0]', function() {
+    this[1] = badKeys;
+  });
+});
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsNumberprototypetoExponentialinfinityjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/Number/prototype/toExponential/infinity.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/Number/prototype/toExponential/infinity.js                                (rev 0)
+++ trunk/JSTests/test262/test/built-ins/Number/prototype/toExponential/infinity.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,29 @@
</span><ins>+// Copyright (C) 2016 The V8 Project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.1.3.2
+esid: sec-number.prototype.toexponential
+description: &gt;
+  Return signed Infinity string if this is Infinity
+info: |
+  Number.prototype.toExponential ( fractionDigits )
+
+  1. Let x be ? thisNumberValue(this value).
+  [...]
+  5. Let s be the empty String.
+  6. If x &lt; 0, then
+    a. Let s be &quot;-&quot;.
+    b. Let x be -x.
+  7. If x = +∞, then
+    a. Return the concatenation of the Strings s and &quot;Infinity&quot;.
+  [...]
+---*/
+
+assert.sameValue((+Infinity).toExponential(1000), &quot;Infinity&quot;, &quot;Infinity value&quot;);
+var n = new Number(+Infinity);
+assert.sameValue(n.toExponential(1000), &quot;Infinity&quot;, &quot;Number Infinity&quot;);
+
+assert.sameValue((-Infinity).toExponential(1000), &quot;-Infinity&quot;, &quot;-Infinity value&quot;);
+var n = new Number(-Infinity);
+assert.sameValue(n.toExponential(1000), &quot;-Infinity&quot;, &quot;Number -Infinity&quot;);
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsNumberprototypetoExponentialnanjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/Number/prototype/toExponential/nan.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/Number/prototype/toExponential/nan.js                                (rev 0)
+++ trunk/JSTests/test262/test/built-ins/Number/prototype/toExponential/nan.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,22 @@
</span><ins>+// Copyright (C) 2016 The V8 Project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.1.3.2
+esid: sec-number.prototype.toexponential
+description: &gt;
+  Return &quot;NaN&quot; if this is NaN
+info: |
+  Number.prototype.toExponential ( fractionDigits )
+
+  1. Let x be ? thisNumberValue(this value).
+  2. Let f be ? ToInteger(fractionDigits).
+  3. Assert: f is 0, when fractionDigits is undefined.
+  4. If x is NaN, return the String &quot;NaN&quot;.
+  [...]
+---*/
+
+assert.sameValue(NaN.toExponential(Infinity), &quot;NaN&quot;, &quot;NaN value&quot;);
+
+var n = new Number(NaN);
+assert.sameValue(n.toExponential(NaN), &quot;NaN&quot;, &quot;NaN obj&quot;);
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsNumberprototypetoExponentialpropdescjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/Number/prototype/toExponential/prop-desc.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/Number/prototype/toExponential/prop-desc.js                                (rev 0)
+++ trunk/JSTests/test262/test/built-ins/Number/prototype/toExponential/prop-desc.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,18 @@
</span><ins>+// Copyright (C) 2016 The V8 Project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.1.3.2
+esid: sec-number.prototype.toexponential
+description: &gt;
+  &quot;toExponential&quot; property of Number.prototype
+info: &gt;
+  ES6 section 17: Every other data property described in clauses 18 through 26
+  and in Annex B.2 has the attributes { [[Writable]]: true,
+  [[Enumerable]]: false, [[Configurable]]: true } unless otherwise specified.
+includes: [propertyHelper.js]
+---*/
+
+verifyNotEnumerable(Number.prototype, &quot;toExponential&quot;);
+verifyWritable(Number.prototype, &quot;toExponential&quot;);
+verifyConfigurable(Number.prototype, &quot;toExponential&quot;);
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsNumberprototypetoExponentialreturnabrupttointegerfractiondigitssymboljs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/Number/prototype/toExponential/return-abrupt-tointeger-fractiondigits-symbol.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/Number/prototype/toExponential/return-abrupt-tointeger-fractiondigits-symbol.js                                (rev 0)
+++ trunk/JSTests/test262/test/built-ins/Number/prototype/toExponential/return-abrupt-tointeger-fractiondigits-symbol.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,22 @@
</span><ins>+// Copyright (C) 2016 The V8 Project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.1.3.2
+esid: sec-number.prototype.toexponential
+description: &gt;
+  Return abrupt completion from ToInteger(symbol fractionDigits)
+info: |
+  Number.prototype.toExponential ( fractionDigits )
+
+  1. Let x be ? thisNumberValue(this value).
+  2. Let f be ? ToInteger(fractionDigits).
+  [...]
+features: [Symbol]
+---*/
+
+var fd = Symbol(&quot;1&quot;);
+
+assert.throws(TypeError, function() {
+  NaN.toExponential(fd);
+});
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsNumberprototypetoExponentialreturnabrupttointegerfractiondigitsjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/Number/prototype/toExponential/return-abrupt-tointeger-fractiondigits.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/Number/prototype/toExponential/return-abrupt-tointeger-fractiondigits.js                                (rev 0)
+++ trunk/JSTests/test262/test/built-ins/Number/prototype/toExponential/return-abrupt-tointeger-fractiondigits.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,35 @@
</span><ins>+// Copyright (C) 2016 The V8 Project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.1.3.2
+esid: sec-number.prototype.toexponential
+description: &gt;
+  Return abrupt completion from ToInteger(fractionDigits)
+info: |
+  Number.prototype.toExponential ( fractionDigits )
+
+  1. Let x be ? thisNumberValue(this value).
+  2. Let f be ? ToInteger(fractionDigits).
+  [...]
+---*/
+
+var fd1 = {
+  valueOf: function() {
+    throw new Test262Error();
+  }
+};
+
+var fd2 = {
+  toString: function() {
+    throw new Test262Error();
+  }
+};
+
+assert.throws(Test262Error, function() {
+  NaN.toExponential(fd1);
+}, &quot;valueOf&quot;);
+
+assert.throws(Test262Error, function() {
+  NaN.toExponential(fd2);
+}, &quot;toString&quot;);
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsNumberprototypetoExponentialreturnvaluesjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/Number/prototype/toExponential/return-values.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/Number/prototype/toExponential/return-values.js                                (rev 0)
+++ trunk/JSTests/test262/test/built-ins/Number/prototype/toExponential/return-values.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,53 @@
</span><ins>+// Copyright (C) 2016 The V8 Project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.1.3.2
+esid: sec-number.prototype.toexponential
+description: &gt;
+  Return regular string values
+---*/
+
+assert.sameValue((123.456).toExponential(0), &quot;1e+2&quot;);
+assert.sameValue((123.456).toExponential(1), &quot;1.2e+2&quot;);
+assert.sameValue((123.456).toExponential(2), &quot;1.23e+2&quot;);
+assert.sameValue((123.456).toExponential(3), &quot;1.235e+2&quot;);
+assert.sameValue((123.456).toExponential(4), &quot;1.2346e+2&quot;);
+assert.sameValue((123.456).toExponential(5), &quot;1.23456e+2&quot;);
+assert.sameValue((123.456).toExponential(6), &quot;1.234560e+2&quot;);
+assert.sameValue((123.456).toExponential(7), &quot;1.2345600e+2&quot;);
+assert.sameValue((123.456).toExponential(17), &quot;1.23456000000000003e+2&quot;);
+assert.sameValue((123.456).toExponential(20), &quot;1.23456000000000003070e+2&quot;);
+
+assert.sameValue((-123.456).toExponential(0), &quot;-1e+2&quot;);
+assert.sameValue((-123.456).toExponential(1), &quot;-1.2e+2&quot;);
+assert.sameValue((-123.456).toExponential(2), &quot;-1.23e+2&quot;);
+assert.sameValue((-123.456).toExponential(3), &quot;-1.235e+2&quot;);
+assert.sameValue((-123.456).toExponential(4), &quot;-1.2346e+2&quot;);
+assert.sameValue((-123.456).toExponential(5), &quot;-1.23456e+2&quot;);
+assert.sameValue((-123.456).toExponential(6), &quot;-1.234560e+2&quot;);
+assert.sameValue((-123.456).toExponential(7), &quot;-1.2345600e+2&quot;);
+assert.sameValue((-123.456).toExponential(17), &quot;-1.23456000000000003e+2&quot;);
+assert.sameValue((-123.456).toExponential(20), &quot;-1.23456000000000003070e+2&quot;);
+
+assert.sameValue((0.0001).toExponential(0), &quot;1e-4&quot;);
+assert.sameValue((0.0001).toExponential(1), &quot;1.0e-4&quot;);
+assert.sameValue((0.0001).toExponential(2), &quot;1.00e-4&quot;);
+assert.sameValue((0.0001).toExponential(3), &quot;1.000e-4&quot;);
+assert.sameValue((0.0001).toExponential(4), &quot;1.0000e-4&quot;);
+assert.sameValue((0.0001).toExponential(16), &quot;1.0000000000000000e-4&quot;);
+assert.sameValue((0.0001).toExponential(17), &quot;1.00000000000000005e-4&quot;);
+assert.sameValue((0.0001).toExponential(18), &quot;1.000000000000000048e-4&quot;);
+assert.sameValue((0.0001).toExponential(19), &quot;1.0000000000000000479e-4&quot;);
+assert.sameValue((0.0001).toExponential(20), &quot;1.00000000000000004792e-4&quot;);
+
+assert.sameValue((0.9999).toExponential(0), &quot;1e+0&quot;);
+assert.sameValue((0.9999).toExponential(1), &quot;1.0e+0&quot;);
+assert.sameValue((0.9999).toExponential(2), &quot;1.00e+0&quot;);
+assert.sameValue((0.9999).toExponential(3), &quot;9.999e-1&quot;);
+assert.sameValue((0.9999).toExponential(4), &quot;9.9990e-1&quot;);
+assert.sameValue((0.9999).toExponential(16), &quot;9.9990000000000001e-1&quot;);
+assert.sameValue((0.9999).toExponential(17), &quot;9.99900000000000011e-1&quot;);
+assert.sameValue((0.9999).toExponential(18), &quot;9.999000000000000110e-1&quot;);
+assert.sameValue((0.9999).toExponential(19), &quot;9.9990000000000001101e-1&quot;);
+assert.sameValue((0.9999).toExponential(20), &quot;9.99900000000000011013e-1&quot;);
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsNumberprototypetoExponentialthisis0fractiondigitsis0js"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/Number/prototype/toExponential/this-is-0-fractiondigits-is-0.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/Number/prototype/toExponential/this-is-0-fractiondigits-is-0.js                                (rev 0)
+++ trunk/JSTests/test262/test/built-ins/Number/prototype/toExponential/this-is-0-fractiondigits-is-0.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,35 @@
</span><ins>+// Copyright (C) 2016 The V8 Project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.1.3.2
+esid: sec-number.prototype.toexponential
+description: &gt;
+  Return &quot;0&quot; if this value is 0 and ToInteger(fractionDigits) is 0
+info: |
+  Number.prototype.toExponential ( fractionDigits )
+
+  1. Let x be ? thisNumberValue(this value).
+  [...]
+  9. If x = 0, then
+    a. Let m be the String consisting of f+1 occurrences of the code unit 0x0030
+    (DIGIT ZERO).
+    b. Let e be 0.
+  [...]
+  11. If f ≠ 0, then
+    [...]
+  12. If e = 0, then
+    a. Let c be &quot;+&quot;.
+    b. Let d be &quot;0&quot;.
+  [...]
+  14. Let m be the concatenation of the four Strings m, &quot;e&quot;, c, and d.
+  15. Return the concatenation of the Strings s and m. 
+---*/
+
+assert.sameValue(Number.prototype.toExponential(0), &quot;0e+0&quot;, &quot;Number.prototype&quot;);
+
+assert.sameValue((0).toExponential(0), &quot;0e+0&quot;, &quot;(0).toExponential(0)&quot;);
+assert.sameValue((-0).toExponential(0), &quot;0e+0&quot;, &quot;(-0).toExponential(0)&quot;);
+
+assert.sameValue((0).toExponential(-0), &quot;0e+0&quot;, &quot;(0).toExponential(-0)&quot;);
+assert.sameValue((-0).toExponential(-0), &quot;0e+0&quot;, &quot;(-0).toExponential(-0)&quot;);
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsNumberprototypetoExponentialthisis0fractiondigitsisnot0js"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/Number/prototype/toExponential/this-is-0-fractiondigits-is-not-0.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/Number/prototype/toExponential/this-is-0-fractiondigits-is-not-0.js                                (rev 0)
+++ trunk/JSTests/test262/test/built-ins/Number/prototype/toExponential/this-is-0-fractiondigits-is-not-0.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,41 @@
</span><ins>+// Copyright (C) 2016 The V8 Project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.1.3.2
+esid: sec-number.prototype.toexponential
+description: &gt;
+  Return string value for this value = 0 and fractionDigits != 0
+info: |
+  Number.prototype.toExponential ( fractionDigits )
+
+  1. Let x be ? thisNumberValue(this value).
+  [...]
+  9. If x = 0, then
+    a. Let m be the String consisting of f+1 occurrences of the code unit 0x0030
+    (DIGIT ZERO).
+    b. Let e be 0.
+  [...]
+  11. If f ≠ 0, then
+    a. Let a be the first element of m, and let b be the remaining f elements of m.
+    b. Let m be the concatenation of the three Strings a, &quot;.&quot;, and b.
+  12. If e = 0, then
+    a. Let c be &quot;+&quot;.
+    b. Let d be &quot;0&quot;.
+  [...]
+  14. Let m be the concatenation of the four Strings m, &quot;e&quot;, c, and d.
+  15. Return the concatenation of the Strings s and m. 
+---*/
+
+assert.sameValue((0).toExponential(1), &quot;0.0e+0&quot;, &quot;0 and 1&quot;);
+assert.sameValue((0).toExponential(2), &quot;0.00e+0&quot;, &quot;0 and 2&quot;);
+assert.sameValue((0).toExponential(7), &quot;0.0000000e+0&quot;, &quot;0 and 7&quot;);
+assert.sameValue((0).toExponential(20), &quot;0.00000000000000000000e+0&quot;, &quot;0 and 20&quot;);
+
+assert.sameValue((-0).toExponential(1), &quot;0.0e+0&quot;, &quot;-0 and 1&quot;);
+assert.sameValue((-0).toExponential(2), &quot;0.00e+0&quot;, &quot;-0 and 2&quot;);
+assert.sameValue((-0).toExponential(7), &quot;0.0000000e+0&quot;, &quot;-0 and 7&quot;);
+assert.sameValue((-0).toExponential(20), &quot;0.00000000000000000000e+0&quot;, &quot;-0 and 20&quot;);
+
+assert.sameValue((0.0).toExponential(4), &quot;0.0000e+0&quot;, &quot;0.0 and 4&quot;);
+assert.sameValue((-0.0).toExponential(4), &quot;0.0000e+0&quot;, &quot;-0.0 and 4&quot;);
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsNumberprototypetoExponentialthistypenotnumberornumberobjectjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/Number/prototype/toExponential/this-type-not-number-or-number-object.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/Number/prototype/toExponential/this-type-not-number-or-number-object.js                                (rev 0)
+++ trunk/JSTests/test262/test/built-ins/Number/prototype/toExponential/this-type-not-number-or-number-object.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,68 @@
</span><ins>+// Copyright (C) 2016 The V8 Project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.1.3.2
+esid: sec-number.prototype.toexponential
+description: &gt;
+  Throws a TypeError if this value is not a number object or value
+info: |
+  20.1.3 Properties of the Number Prototype Object
+
+  The Number prototype object is the intrinsic object %NumberPrototype%. The
+  Number prototype object is an ordinary object. The Number prototype is itself
+  a Number object; it has a [[NumberData]] internal slot with the value +0.
+
+  [...]
+  The abstract operation thisNumberValue(value) performs the following steps:
+
+  1. If Type(value) is Number, return value.
+  2. If Type(value) is Object and value has a [[NumberData]] internal slot, then
+    a. Assert: value's [[NumberData]] internal slot is a Number value.
+    b. Return the value of value's [[NumberData]] internal slot.
+  3. Throw a TypeError exception.
+
+  Number.prototype.toExponential ( fractionDigits )
+
+  1. Let x be ? thisNumberValue(this value).
+  [...]
+features: [Symbol]
+---*/
+
+var toExponential = Number.prototype.toExponential;
+
+assert.throws(TypeError, function() {
+  toExponential.call({}, 1);
+}, &quot;{}&quot;);
+
+assert.throws(TypeError, function() {
+  toExponential.call(&quot;1&quot;, 1);
+}, &quot;string&quot;);
+
+assert.throws(TypeError, function() {
+  toExponential.call(Number, 1);
+}, &quot;Number&quot;);
+
+assert.throws(TypeError, function() {
+  toExponential.call(true, 1);
+}, &quot;true&quot;);
+
+assert.throws(TypeError, function() {
+  toExponential.call(false, 1);
+}, &quot;false&quot;);
+
+assert.throws(TypeError, function() {
+  toExponential.call(null, 1);
+}, &quot;null&quot;);
+
+assert.throws(TypeError, function() {
+  toExponential.call(undefined, 1);
+}, &quot;undefined&quot;);
+
+assert.throws(TypeError, function() {
+  toExponential.call(Symbol(&quot;1&quot;), 1);
+}, &quot;symbol&quot;);
+
+assert.throws(TypeError, function() {
+  toExponential.call([], 1);
+}, &quot;[]&quot;);
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsNumberprototypetoExponentialtointegerfractiondigitsjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/Number/prototype/toExponential/tointeger-fractiondigits.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/Number/prototype/toExponential/tointeger-fractiondigits.js                                (rev 0)
+++ trunk/JSTests/test262/test/built-ins/Number/prototype/toExponential/tointeger-fractiondigits.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,35 @@
</span><ins>+// Copyright (C) 2016 The V8 Project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.1.3.2
+esid: sec-number.prototype.toexponential
+description: &gt;
+  ToInteger(fractionDigits operations)
+info: |
+  Number.prototype.toExponential ( fractionDigits )
+
+  1. Let x be ? thisNumberValue(this value).
+  2. Let f be ? ToInteger(fractionDigits).
+  [...]
+---*/
+
+assert.sameValue((123.456).toExponential(0.1), &quot;1e+2&quot;, &quot;0.1&quot;);
+assert.sameValue((123.456).toExponential(-0.1), &quot;1e+2&quot;, &quot;-0.1&quot;);
+assert.sameValue((123.456).toExponential(0.9), &quot;1e+2&quot;, &quot;0.9&quot;);
+assert.sameValue((123.456).toExponential(-0.9), &quot;1e+2&quot;, &quot;-0.9&quot;);
+
+assert.sameValue((123.456).toExponential(false), &quot;1e+2&quot;, &quot;false&quot;);
+assert.sameValue((123.456).toExponential(true), &quot;1.2e+2&quot;, &quot;true&quot;);
+
+assert.sameValue((123.456).toExponential(NaN), &quot;1e+2&quot;, &quot;NaN&quot;);
+assert.sameValue((123.456).toExponential(null), &quot;1e+2&quot;, &quot;null&quot;);
+
+assert.sameValue((123.456).toExponential(&quot;2&quot;), &quot;1.23e+2&quot;, &quot;string&quot;);
+assert.sameValue((123.456).toExponential(&quot;&quot;), &quot;1e+2&quot;, &quot;the empty string&quot;);
+
+assert.sameValue((123.456).toExponential([]), &quot;1e+2&quot;, &quot;[]&quot;);
+assert.sameValue((123.456).toExponential([2]), &quot;1.23e+2&quot;, &quot;[2]&quot;);
+
+assert.sameValue((0).toExponential(undefined), &quot;0e+0&quot;, &quot;undefined&quot;);
+assert.sameValue((0).toExponential(), &quot;0e+0&quot;, &quot;no arg&quot;);
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsNumberprototypetoExponentialundefinedfractiondigitsjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/Number/prototype/toExponential/undefined-fractiondigits.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/Number/prototype/toExponential/undefined-fractiondigits.js                                (rev 0)
+++ trunk/JSTests/test262/test/built-ins/Number/prototype/toExponential/undefined-fractiondigits.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,39 @@
</span><ins>+// Copyright (C) 2016 The V8 Project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.1.3.2
+esid: sec-number.prototype.toexponential
+description: &gt;
+  Handle undefined fractionDigits, not only casting it to 0
+info: |
+  Number.prototype.toExponential ( fractionDigits )
+
+  1. Let x be ? thisNumberValue(this value).
+  2. Let f be ? ToInteger(fractionDigits).
+  [...]
+  10. Else x ≠ 0,
+    a. If fractionDigits is not undefined, then
+      i. Let e and n be integers such that 10f ≤ n &lt; 10f+1 and for which the
+         exact mathematical value of n × 10e-f - x is as close to zero as
+         possible. If there are two such sets of e and n, pick the e and n for
+         which n × 10e-f is larger.
+    b. Else fractionDigits is undefined,
+      i. Let e, n, and f be integers such that f ≥ 0, 10f ≤ n &lt; 10f+1, the
+         Number value for n × 10e-f is x, and f is as small as possible. Note
+         that the decimal representation of n has f+1 digits, n is not divisible
+         by 10, and the least significant digit of n is not necessarily uniquely
+         determined by these criteria.
+---*/
+
+assert.sameValue((123.456).toExponential(undefined), &quot;1.23456e+2&quot;, &quot;undefined&quot;);
+assert.sameValue((123.456).toExponential(), &quot;1.23456e+2&quot;, &quot;no arg&quot;);
+assert.sameValue((123.456).toExponential(0), &quot;1e+2&quot;, &quot;0&quot;);
+
+assert.sameValue((1.1e-32).toExponential(undefined), &quot;1.1e-32&quot;, &quot;undefined&quot;);
+assert.sameValue((1.1e-32).toExponential(), &quot;1.1e-32&quot;, &quot;no arg&quot;);
+assert.sameValue((1.1e-32).toExponential(0), &quot;1e-32&quot;, &quot;0&quot;);
+
+assert.sameValue((100).toExponential(undefined), &quot;1e+2&quot;, &quot;undefined&quot;);
+assert.sameValue((100).toExponential(), &quot;1e+2&quot;, &quot;no arg&quot;);
+assert.sameValue((100).toExponential(0), &quot;1e+2&quot;, &quot;0&quot;);
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsObjectgetOwnPropertyDescriptorsduplicatekeysjs"></a>
<div class="modfile"><h4>Modified: trunk/JSTests/test262/test/built-ins/Object/getOwnPropertyDescriptors/duplicate-keys.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/Object/getOwnPropertyDescriptors/duplicate-keys.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/Object/getOwnPropertyDescriptors/duplicate-keys.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -27,5 +27,12 @@
</span><span class="cx"> 
</span><span class="cx"> var result = Object.getOwnPropertyDescriptors(proxy);
</span><span class="cx"> assert.sameValue(result.hasOwnProperty('DUPLICATE'), true);
</span><del>-assert.sameValue(result.DUPLICATE, undefined);
</del><ins>+
+var lastDescriptor = descriptors[descriptors.length - 1];
+assert.notSameValue(result.DUPLICATE, lastDescriptor);
+assert.sameValue(result.DUPLICATE.enumerable, lastDescriptor.enumerable);
+assert.sameValue(result.DUPLICATE.configurable, lastDescriptor.configurable);
+assert.sameValue(result.DUPLICATE.value, lastDescriptor.value);
+assert.sameValue(result.DUPLICATE.writable, lastDescriptor.writable);
+
</ins><span class="cx"> assert.sameValue(log, 'ownKeys|getOwnPropertyDescriptor:DUPLICATE|getOwnPropertyDescriptor:DUPLICATE|getOwnPropertyDescriptor:DUPLICATE|');
</span></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsObjectgetOwnPropertyDescriptorsproxyundefineddescriptorjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/Object/getOwnPropertyDescriptors/proxy-undefined-descriptor.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/Object/getOwnPropertyDescriptors/proxy-undefined-descriptor.js                                (rev 0)
+++ trunk/JSTests/test262/test/built-ins/Object/getOwnPropertyDescriptors/proxy-undefined-descriptor.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,32 @@
</span><ins>+// Copyright (C) 2016 Jordan Harband. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+description: Object.getOwnPropertyDescriptors should filter out undefined OwnPropertyDescriptors
+esid: sec-object.getownpropertydescriptors
+author: Jordan Harband
+features: [Proxy]
+includes: [proxyTrapsHelper.js]
+---*/
+
+var key = &quot;a&quot;;
+var ownKeys = [key];
+var badProxyHandlers = allowProxyTraps({
+  getOwnPropertyDescriptor: function () {},
+  ownKeys: function () {
+        return ownKeys;
+  }
+});
+var proxy = new Proxy({}, badProxyHandlers);
+
+var keys = Reflect.ownKeys(proxy);
+assert.notSameValue(keys, ownKeys, 'Object.keys returns a new Array');
+assert.sameValue(Array.isArray(keys), true, 'Object.keys returns an Array');
+assert.sameValue(keys.length, ownKeys.length, 'keys and ownKeys have the same length');
+assert.sameValue(keys[0], ownKeys[0], 'keys and ownKeys have the same contents');
+
+var descriptor = Object.getOwnPropertyDescriptor(proxy, key);
+assert.sameValue(descriptor, undefined, &quot;Descriptor matches result of [[GetOwnPropertyDescriptor]] trap&quot;);
+
+var result = Object.getOwnPropertyDescriptors(proxy);
+assert.sameValue(key in result, false, &quot;key is not present in result&quot;);
</ins><span class="cx">Property changes on: trunk/JSTests/test262/test/built-ins/Object/getOwnPropertyDescriptors/proxy-undefined-descriptor.js
</span><span class="cx">___________________________________________________________________
</span></span></pre></div>
<a id="allowtabs"></a>
<div class="addfile"><h4>Added: allow-tabs</h4></div>
<ins>+true
</ins><span class="cx">\ No newline at end of property
</span><a id="trunkJSTeststest262testbuiltinsProxysetPrototypeOfbooleantrapresultextensibletargetjs"></a>
<div class="delfile"><h4>Deleted: trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/boolean-trap-result-extensible-target.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/boolean-trap-result-extensible-target.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/boolean-trap-result-extensible-target.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -1,28 +0,0 @@
</span><del>-// Copyright (C) 2015 the V8 project authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-/*---
-es6id: 9.5.2
-description: &gt;
-    Return a boolean trap result if target is extensible.
-info: &gt;
-    [[SetPrototypeOf]] (V)
-
-    ...
-    13. If extensibleTarget is true, return booleanTrapResult.
-    ...
-flags: [onlyStrict]
-features: [Reflect]
----*/
-
-var target = {};
-var p = new Proxy(target, {
-    setPrototypeOf: function(t, v) {
-        return v.attr;
-    }
-});
-
-var result = Reflect.setPrototypeOf(p, { attr: 0 });
-assert.sameValue(result, false);
-
-result = Reflect.setPrototypeOf(p, { attr: 1 });
-assert.sameValue(result, true);
</del></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsProxysetPrototypeOfinternalscallorderjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/internals-call-order.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/internals-call-order.js                                (rev 0)
+++ trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/internals-call-order.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,48 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-proxy-object-internal-methods-and-internal-slots-setprototypeof-v
+description: &gt;
+  Calls target.[[GetPrototypeOf]] after trap result as false and not extensible
+  target
+info: |
+  [[SetPrototypeOf]] (V)
+
+  8. Let booleanTrapResult be ToBoolean(? Call(trap, handler, « target, V »)).
+  9. If booleanTrapResult is false, return false.
+  10. Let extensibleTarget be ? IsExtensible(target).
+  11. If extensibleTarget is true, return true.
+  12. Let targetProto be ? target.[[GetPrototypeOf]]().
+features: [Reflect.setPrototypeOf]
+---*/
+
+var calls = [];
+var proto = {};
+
+var target = new Proxy(Object.create(proto), {
+  isExtensible: function() {
+    calls.push(&quot;target.[[IsExtensible]]&quot;);
+    return false;
+  },
+  getPrototypeOf: function() {
+    calls.push(&quot;target.[[GetPrototypeOf]]&quot;);
+    return proto;
+  }
+});
+
+// Proxy must report same extensiblitity as target
+Object.preventExtensions(target);
+
+var proxy = new Proxy(target, {
+  setPrototypeOf: function() {
+    calls.push(&quot;proxy.[[setPrototypeOf]]&quot;);
+    return true;
+  }
+});
+
+assert.sameValue(Reflect.setPrototypeOf(proxy, proto), false);
+assert.sameValue(calls.length, 3);
+assert.sameValue(calls[0], &quot;proxy.[[setPrototypeOf]]&quot;);
+assert.sameValue(calls[1], &quot;target.[[IsExtensible]]&quot;);
+assert.sameValue(calls[2], &quot;target.[[GetPrototypeOf]]&quot;);
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsProxysetPrototypeOfnotextensibletargetnotsametargetprototypejs"></a>
<div class="modfile"><h4>Modified: trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/not-extensible-target-not-same-target-prototype.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/not-extensible-target-not-same-target-prototype.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/not-extensible-target-not-same-target-prototype.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -21,18 +21,33 @@
</span><span class="cx">     16. If booleanTrapResult is true and SameValue(V, targetProto) is false,
</span><span class="cx">     throw a TypeError exception.
</span><span class="cx">     ...
</span><del>-
</del><ins>+features: [Reflect.setPrototypeOf]
</ins><span class="cx"> ---*/
</span><span class="cx"> 
</span><del>-var target = {};
-var p = new Proxy(target, {
-    setPrototypeOf: function(t, v) {
-        return true;
-    }
</del><ins>+var target, proxy;
+target = {};
+proxy = new Proxy(target, {
+  setPrototypeOf: function() {
+    return true;
+  }
</ins><span class="cx"> });
</span><span class="cx"> 
</span><span class="cx"> Object.preventExtensions(target);
</span><span class="cx"> 
</span><span class="cx"> assert.throws(TypeError, function() {
</span><del>-    Object.setPrototypeOf(p, {});
</del><ins>+  Reflect.setPrototypeOf(proxy, {});
+}, &quot;target prototype is different&quot;);
+
+var proto = {};
+target = Object.setPrototypeOf({}, proto);
+proxy = new Proxy(target, {
+  setPrototypeOf: function() {
+    Object.setPrototypeOf(target, {});
+    Object.preventExtensions(target);
+    return true;
+  }
</ins><span class="cx"> });
</span><ins>+
+assert.throws(TypeError, function() {
+  Reflect.setPrototypeOf(proxy, proto);
+}, &quot;target prototype is changed inside trap handler&quot;);
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsProxysetPrototypeOfnotextensibletargetsametargetprototypejs"></a>
<div class="modfile"><h4>Modified: trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/not-extensible-target-same-target-prototype.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/not-extensible-target-same-target-prototype.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/not-extensible-target-same-target-prototype.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -1,20 +1,55 @@
</span><span class="cx"> // Copyright (C) 2015 the V8 project authors. All rights reserved.
</span><span class="cx"> // This code is governed by the BSD license found in the LICENSE file.
</span><span class="cx"> /*---
</span><ins>+esid: sec-proxy-object-internal-methods-and-internal-slots-setprototypeof-v
</ins><span class="cx"> es6id: 9.5.2
</span><span class="cx"> description: &gt;
</span><del>-    Return true if boolean trap result is true, target is not extensible, and
-    given parameter is the same as target prototype.
-features: [Reflect]
</del><ins>+  Handler can only return true for non-extensible targets if the given prototype
+  is the same as target's prototype
+info: |
+  [[SetPrototypeOf]] (V)
+
+  12. Let targetProto be ? target.[[GetPrototypeOf]]().
+  13. If SameValue(V, targetProto) is false, throw a TypeError exception.
+  14. Return true.
+features: [Reflect.setPrototypeOf]
</ins><span class="cx"> ---*/
</span><span class="cx"> 
</span><del>-var target = Object.create(Array.prototype);
-var p = new Proxy(target, {
-    setPrototypeOf: function(t, v) {
-        return true;
-    }
-});
</del><ins>+var proto = {};
+var target = Object.setPrototypeOf({}, proto);
</ins><span class="cx"> 
</span><span class="cx"> Object.preventExtensions(target);
</span><span class="cx"> 
</span><del>-assert(Reflect.setPrototypeOf(p, Array.prototype));
</del><ins>+var proxy;
+
+proxy = new Proxy(target, {
+  setPrototypeOf: function() {
+    return true;
+  }
+});
+
+assert.sameValue(
+  Reflect.setPrototypeOf(proxy, proto),
+  true,
+  &quot;prototype arg is the same in target&quot;
+);
+
+var outro = {};
+proxy = new Proxy(outro, {
+  setPrototypeOf: function(t, p) {
+    Object.setPrototypeOf(t, p);
+    Object.preventExtensions(t);
+    return true;
+  }
+});
+
+assert.sameValue(
+  Reflect.setPrototypeOf(proxy, proto),
+  true,
+  &quot;prototype is set to target inside handler trap&quot;
+);
+assert.sameValue(
+  Object.getPrototypeOf(outro),
+  proto,
+  &quot;target has the custom set prototype&quot;
+);
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsProxysetPrototypeOfnotextensibletrapisfalsereturnfalsejs"></a>
<div class="delfile"><h4>Deleted: trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/not-extensible-trap-is-false-return-false.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/not-extensible-trap-is-false-return-false.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/not-extensible-trap-is-false-return-false.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -1,19 +0,0 @@
</span><del>-// Copyright (C) 2015 the V8 project authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-/*---
-es6id: 9.5.2
-description: &gt;
-    Return false if boolean trap result is false.
-features: [Reflect]
----*/
-
-var target = [];
-var p = new Proxy(target, {
-    setPrototypeOf: function(t, v) {
-        return false;
-    }
-});
-
-Object.preventExtensions(target);
-
-assert.sameValue(Reflect.setPrototypeOf(p, {}), false);
</del></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsProxysetPrototypeOfreturnabruptfromgettrapjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/return-abrupt-from-get-trap.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/return-abrupt-from-get-trap.js                                (rev 0)
+++ trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/return-abrupt-from-get-trap.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,24 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+es6id: 9.5.2
+esid: sec-proxy-object-internal-methods-and-internal-slots-call-thisargument-argumentslist
+description: &gt;
+  Return abrupt getting handler trap
+info: |
+  [[SetPrototypeOf]] (V)
+
+  6. Let trap be ? GetMethod(handler, &quot;setPrototypeOf&quot;).
+---*/
+
+var handler = Object.defineProperty({}, &quot;setPrototypeOf&quot;, {
+  get: function() {
+    throw new Test262Error();
+  }
+});
+
+var proxy = new Proxy({}, handler);
+
+assert.throws(Test262Error, function() {
+  Object.setPrototypeOf(proxy, {});
+});
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsProxysetPrototypeOfreturnabruptfromisextensibletargetjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/return-abrupt-from-isextensible-target.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/return-abrupt-from-isextensible-target.js                                (rev 0)
+++ trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/return-abrupt-from-isextensible-target.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,28 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-proxy-object-internal-methods-and-internal-slots-setprototypeof-v
+description: &gt;
+  Return abrupt from IsExtensible(target)
+info: |
+  [[SetPrototypeOf]] (V)
+
+  10. Let extensibleTarget be ? IsExtensible(target).
+---*/
+
+var target = new Proxy({}, {
+  isExtensible: function() {
+    throw new Test262Error();
+  }
+});
+
+var proxy = new Proxy(target, {
+  setPrototypeOf: function() {
+    return true;
+  }
+});
+
+assert.throws(Test262Error, function() {
+  Object.setPrototypeOf(proxy, {});
+});
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsProxysetPrototypeOfreturnabruptfromtargetgetprototypeofjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/return-abrupt-from-target-getprototypeof.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/return-abrupt-from-target-getprototypeof.js                                (rev 0)
+++ trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/return-abrupt-from-target-getprototypeof.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,30 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-proxy-object-internal-methods-and-internal-slots-setprototypeof-v
+description: &gt;
+  Return abrupt from target.[[GetPrototypeOf]]()
+info: |
+  [[SetPrototypeOf]] (V)
+
+  12. Let targetProto be ? target.[[GetPrototypeOf]]().
+---*/
+
+var target = new Proxy({}, {
+  getPrototypeOf: function() {
+    throw new Test262Error();
+  }
+});
+
+Object.preventExtensions(target);
+
+var proxy = new Proxy(target, {
+  setPrototypeOf: function() {
+    return true;
+  }
+});
+
+assert.throws(Test262Error, function() {
+  Object.setPrototypeOf(proxy, {});
+});
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsProxysetPrototypeOfreturnabruptfromtrapjsfromrev204850trunkJSTeststest262testbuiltinsProxysetPrototypeOfreturnisabruptjs"></a>
<div class="copfile"><h4>Copied: trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/return-abrupt-from-trap.js (from rev 204850, trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/return-is-abrupt.js) (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/return-abrupt-from-trap.js                                (rev 0)
+++ trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/return-abrupt-from-trap.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,22 @@
</span><ins>+// Copyright (C) 2015 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+es6id: 9.5.2
+description: &gt;
+    Trap returns abrupt.
+info: &gt;
+    [[SetPrototypeOf]] (V)
+
+    9. Let booleanTrapResult be ToBoolean(Call(trap, handler, «target, V»)).
+    10. ReturnIfAbrupt(booleanTrapResult).
+---*/
+
+var p = new Proxy({}, {
+    setPrototypeOf: function() {
+        throw new Test262Error();
+    }
+});
+
+assert.throws(Test262Error, function() {
+    Object.setPrototypeOf(p, {value: 1});
+});
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsProxysetPrototypeOfreturnisabruptjs"></a>
<div class="delfile"><h4>Deleted: trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/return-is-abrupt.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/return-is-abrupt.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/return-is-abrupt.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -1,22 +0,0 @@
</span><del>-// Copyright (C) 2015 the V8 project authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-/*---
-es6id: 9.5.2
-description: &gt;
-    Trap returns abrupt.
-info: &gt;
-    [[SetPrototypeOf]] (V)
-
-    9. Let booleanTrapResult be ToBoolean(Call(trap, handler, «target, V»)).
-    10. ReturnIfAbrupt(booleanTrapResult).
----*/
-
-var p = new Proxy({}, {
-    setPrototypeOf: function() {
-        throw new Test262Error();
-    }
-});
-
-assert.throws(Test262Error, function() {
-    Object.setPrototypeOf(p, {value: 1});
-});
</del></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsProxysetPrototypeOftobooleantrapresultfalsejs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/toboolean-trap-result-false.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/toboolean-trap-result-false.js                                (rev 0)
+++ trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/toboolean-trap-result-false.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,61 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-proxy-object-internal-methods-and-internal-slots-setprototypeof-v
+description: &gt;
+  Return false if ToBoolean(trap result) is false, without checking
+  target.[[IsExtensible]]
+info: |
+  [[SetPrototypeOf]] (V)
+
+  8. Let booleanTrapResult be ToBoolean(? Call(trap, handler, « target, V »)).
+  9. If booleanTrapResult is false, return false.
+  10. Let extensibleTarget be ? IsExtensible(target).
+  11. If extensibleTarget is true, return true.
+features: [Reflect.setPrototypeOf]
+---*/
+
+var called = 0;
+
+var target = new Proxy({}, {
+  isExtensible: function() {
+    called += 1;
+  }
+});
+
+var p = new Proxy(target, {
+  setPrototypeOf: function(t, v) {
+    return v.attr;
+  }
+});
+
+var result;
+
+result = Reflect.setPrototypeOf(p, { attr: false });
+assert.sameValue(result, false, &quot;false&quot;);
+assert.sameValue(called, 0, &quot;false - isExtensible is not called&quot;);
+
+result = Reflect.setPrototypeOf(p, { attr: &quot;&quot; });
+assert.sameValue(result, false, &quot;the empty string&quot;);
+assert.sameValue(called, 0, &quot;the empty string - isExtensible is not called&quot;);
+
+result = Reflect.setPrototypeOf(p, { attr: 0 });
+assert.sameValue(result, false, &quot;0&quot;);
+assert.sameValue(called, 0, &quot;0 - isExtensible is not called&quot;);
+
+result = Reflect.setPrototypeOf(p, { attr: -0 });
+assert.sameValue(result, false, &quot;-0&quot;);
+assert.sameValue(called, 0, &quot;-0 - isExtensible is not called&quot;);
+
+result = Reflect.setPrototypeOf(p, { attr: null });
+assert.sameValue(result, false, &quot;null&quot;);
+assert.sameValue(called, 0, &quot;null - isExtensible is not called&quot;);
+
+result = Reflect.setPrototypeOf(p, { attr: undefined });
+assert.sameValue(result, false, &quot;undefined&quot;);
+assert.sameValue(called, 0, &quot;undefined - isExtensible is not called&quot;);
+
+result = Reflect.setPrototypeOf(p, { attr: NaN });
+assert.sameValue(result, false, &quot;NaN&quot;);
+assert.sameValue(called, 0, &quot;NaN - isExtensible is not called&quot;);
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsProxysetPrototypeOftobooleantrapresulttruetargetisextensiblejs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/toboolean-trap-result-true-target-is-extensible.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/toboolean-trap-result-true-target-is-extensible.js                                (rev 0)
+++ trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/toboolean-trap-result-true-target-is-extensible.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,66 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-proxy-object-internal-methods-and-internal-slots-setprototypeof-v
+description: &gt;
+  Return true if ToBoolean(trap result) is true, and target.[[IsExtensible]] is
+  true
+info: |
+  [[SetPrototypeOf]] (V)
+
+  8. Let booleanTrapResult be ToBoolean(? Call(trap, handler, « target, V »)).
+  9. If booleanTrapResult is false, return false.
+  10. Let extensibleTarget be ? IsExtensible(target).
+  11. If extensibleTarget is true, return true.
+features: [Reflect.setPrototypeOf, Symbol]
+---*/
+
+var called;
+var target = new Proxy({}, {
+  isExtensible: function() {
+    called += 1;
+    return true;
+  },
+  getPrototypeOf: function() {
+    throw new Test262Error(&quot;target.[[GetPrototypeOf]] is not called&quot;);
+  }
+});
+
+var p = new Proxy(target, {
+  setPrototypeOf: function(t, v) {
+    return v.attr;
+  }
+});
+
+var result;
+
+called = 0;
+result = Reflect.setPrototypeOf(p, { attr: true });
+assert.sameValue(result, true, &quot;true&quot;);
+assert.sameValue(called, 1, &quot;true - isExtensible is called&quot;);
+
+called = 0;
+result = Reflect.setPrototypeOf(p, { attr: &quot;false&quot; });
+assert.sameValue(result, true, &quot;string&quot;);
+assert.sameValue(called, 1, &quot;string - isExtensible is called&quot;);
+
+called = 0;
+result = Reflect.setPrototypeOf(p, { attr: 42 });
+assert.sameValue(result, true, &quot;42&quot;);
+assert.sameValue(called, 1, &quot;number - isExtensible is called&quot;);
+
+called = 0;
+result = Reflect.setPrototypeOf(p, { attr: p });
+assert.sameValue(result, true, &quot;p&quot;);
+assert.sameValue(called, 1, &quot;object - isExtensible is called&quot;);
+
+called = 0;
+result = Reflect.setPrototypeOf(p, { attr: [] });
+assert.sameValue(result, true, &quot;[]&quot;);
+assert.sameValue(called, 1, &quot;[] - isExtensible is called&quot;);
+
+called = 0;
+result = Reflect.setPrototypeOf(p, { attr: Symbol(1) });
+assert.sameValue(result, true, &quot;symbol&quot;);
+assert.sameValue(called, 1, &quot;symbol - isExtensible is called&quot;);
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsProxysetPrototypeOftrapisnotcallablejs"></a>
<div class="modfile"><h4>Modified: trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/trap-is-not-callable.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/trap-is-not-callable.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/trap-is-not-callable.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -18,6 +18,7 @@
</span><span class="cx">         2. Let func be GetV(O, P).
</span><span class="cx">         5. If IsCallable(func) is false, throw a TypeError exception.
</span><span class="cx">         ...
</span><ins>+features: [Reflect.setPrototypeOf]
</ins><span class="cx"> ---*/
</span><span class="cx"> 
</span><span class="cx"> var target = {};
</span><span class="lines">@@ -26,7 +27,7 @@
</span><span class="cx"> });
</span><span class="cx"> 
</span><span class="cx"> assert.throws(TypeError, function() {
</span><del>-    Object.setPrototypeOf(p, {
</del><ins>+    Reflect.setPrototypeOf(p, {
</ins><span class="cx">         value: 1
</span><span class="cx">     });
</span><span class="cx"> });
</span></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsProxysetPrototypeOftrapisundefinedornulljs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/trap-is-undefined-or-null.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/trap-is-undefined-or-null.js                                (rev 0)
+++ trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/trap-is-undefined-or-null.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,45 @@
</span><ins>+// Copyright (C) 2015 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+es6id: 9.5.2
+esid: sec-proxy-object-internal-methods-and-internal-slots-setprototypeof-v
+description: &gt;
+  Return target.[[SetPrototypeOf]] (V) if trap is undefined or null.
+info: |
+  [[SetPrototypeOf]] (V)
+
+  6. Let trap be ? GetMethod(handler, &quot;setPrototypeOf&quot;).
+  7. If trap is undefined, then
+    a. Return ? target.[[SetPrototypeOf]](V).
+
+  GetMethod (V, P)
+
+  2. Let func be ? GetV(V, P).
+  3. If func is either undefined or null, return undefined.
+---*/
+
+var proxy, called, value;
+var target = new Proxy({}, {
+  setPrototypeOf: function(t, v) {
+    called += 1;
+    value = v;
+    return true;
+  }
+});
+var proto = {};
+
+proxy = new Proxy(target, {});
+called = 0;
+value = false;
+Object.setPrototypeOf(proxy, proto);
+assert.sameValue(called, 1, &quot;undefined, target.[[SetPrototypeOf]] is called&quot;);
+assert.sameValue(value, proto, &quot;undefined, called with V&quot;);
+
+proxy = new Proxy(target, {
+  setPrototypeOf: null
+});
+called = 0;
+value = false;
+Object.setPrototypeOf(proxy, proto);
+assert.sameValue(called, 1, &quot;null, target.[[SetPrototypeOf]] is called&quot;);
+assert.sameValue(value, proto, &quot;null, called with V&quot;);
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsProxysetPrototypeOftrapisundefinedjs"></a>
<div class="delfile"><h4>Deleted: trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/trap-is-undefined.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/trap-is-undefined.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/trap-is-undefined.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -1,14 +0,0 @@
</span><del>-// Copyright (C) 2015 the V8 project authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-/*---
-es6id: 9.5.2
-description: &gt;
-    Return target.[[SetPrototypeOf]] (V) if trap is undefined.
----*/
-
-var target = {};
-var p = new Proxy(target, {});
-
-Object.setPrototypeOf(p, {attr: 1});
-
-assert.sameValue(target.attr, 1);
</del></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsRegExplastIndexjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/RegExp/lastIndex.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/RegExp/lastIndex.js                                (rev 0)
+++ trunk/JSTests/test262/test/built-ins/RegExp/lastIndex.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,33 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-regexp-pattern-flags
+es6id: 21.2.3.1
+description: Initial state of the `lastIndex` property
+info: |
+  [...]
+  7. Let O be ? RegExpAlloc(newTarget).
+  8. Return ? RegExpInitialize(O, P, F).
+
+  21.2.3.2.2 Runtime Semantics: RegExpInitialize
+
+  [...]
+  12. Perform ? Set(obj, &quot;lastIndex&quot;, 0, true).
+  [...]
+
+  21.2.3.2.1 Runtime Semantics: RegExpAlloc
+
+  [...]
+  2. Perform ! DefinePropertyOrThrow(obj, &quot;lastIndex&quot;, PropertyDescriptor
+     {[[Writable]]: true, [[Enumerable]]: false, [[Configurable]]: false}).
+  [...]
+includes: [propertyHelper.js]
+---*/
+
+var re = new RegExp('');
+
+assert.sameValue(re.lastIndex, 0);
+
+verifyNotEnumerable(re, 'lastIndex');
+verifyWritable(re, 'lastIndex');
+verifyNotConfigurable(re, 'lastIndex');
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsRegExpprototypeglobal1510721js"></a>
<div class="delfile"><h4>Deleted: trunk/JSTests/test262/test/built-ins/RegExp/prototype/global/15.10.7.2-1.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/RegExp/prototype/global/15.10.7.2-1.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/RegExp/prototype/global/15.10.7.2-1.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -1,12 +0,0 @@
</span><del>-// Copyright (c) 2012 Ecma International.  All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-es5id: 15.10.7.2-1
-description: RegExp.prototype.global is a non-generic accessor property
----*/
-
-
-assert.throws(TypeError, function() {
-    RegExp.prototype.global;
-});
</del></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsRegExpprototypeglobalthisvalinvalidobjjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/RegExp/prototype/global/this-val-invalid-obj.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/RegExp/prototype/global/this-val-invalid-obj.js                                (rev 0)
+++ trunk/JSTests/test262/test/built-ins/RegExp/prototype/global/this-val-invalid-obj.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,27 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-get-regexp.prototype.global
+es6id: 21.2.5.4
+description: A TypeError is thrown when the &quot;this&quot; value is an invalid Object
+info: |
+  1. Let R be the this value.
+  2. If Type(R) is not Object, throw a TypeError exception.
+  3. If R does not have an [[OriginalFlags]] internal slot, then
+     a. If SameValue(R, %RegExpPrototype%) is true, return undefined.
+     b. Otherwise, throw a TypeError exception.
+---*/
+
+var get = Object.getOwnPropertyDescriptor(RegExp.prototype, 'global').get;
+
+assert.throws(TypeError, function() {
+  get.call({});
+}, 'ordinary object');
+
+assert.throws(TypeError, function() {
+  get.call([]);
+}, 'array exotic object');
+
+assert.throws(TypeError, function() {
+  get.call(arguments);
+}, 'arguments object');
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsRegExpprototypeglobalthisvalnonobjjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/RegExp/prototype/global/this-val-non-obj.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/RegExp/prototype/global/this-val-non-obj.js                                (rev 0)
+++ trunk/JSTests/test262/test/built-ins/RegExp/prototype/global/this-val-non-obj.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,38 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-get-regexp.prototype.global
+es6id: 21.2.5.4
+description: A TypeError is thrown when the &quot;this&quot; value is not an Object
+info: |
+  1. Let R be the this value.
+  2. If Type(R) is not Object, throw a TypeError exception.
+features: [Symbol]
+---*/
+
+var get = Object.getOwnPropertyDescriptor(RegExp.prototype, 'global').get;
+var symbol = Symbol();
+
+assert.throws(TypeError, function() {
+  get.call(undefined);
+}, 'undefined');
+
+assert.throws(TypeError, function() {
+  get.call(null);
+}, 'null');
+
+assert.throws(TypeError, function() {
+  get.call(3);
+}, 'number');
+
+assert.throws(TypeError, function() {
+  get.call('string');
+}, 'string');
+
+assert.throws(TypeError, function() {
+  get.call(true);
+}, 'boolean');
+
+assert.throws(TypeError, function() {
+  get.call(symbol);
+}, 'symbol');
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsRegExpprototypeglobalthisvalregexpprototypejs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/RegExp/prototype/global/this-val-regexp-prototype.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/RegExp/prototype/global/this-val-regexp-prototype.js                                (rev 0)
+++ trunk/JSTests/test262/test/built-ins/RegExp/prototype/global/this-val-regexp-prototype.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,17 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-get-regexp.prototype.global
+description: &gt;
+  Return value of `undefined` when the &quot;this&quot; value is the RegExp prototype
+  object
+info: |
+  1. Let R be the this value.
+  2. If Type(R) is not Object, throw a TypeError exception.
+  3. If R does not have an [[OriginalFlags]] internal slot, then
+     a. If SameValue(R, %RegExpPrototype%) is true, return undefined.
+---*/
+
+var get = Object.getOwnPropertyDescriptor(RegExp.prototype, 'global').get;
+
+assert.sameValue(get.call(RegExp.prototype), undefined);
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsRegExpprototypeignoreCase1510731js"></a>
<div class="delfile"><h4>Deleted: trunk/JSTests/test262/test/built-ins/RegExp/prototype/ignoreCase/15.10.7.3-1.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/RegExp/prototype/ignoreCase/15.10.7.3-1.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/RegExp/prototype/ignoreCase/15.10.7.3-1.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -1,12 +0,0 @@
</span><del>-// Copyright (c) 2012 Ecma International.  All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-es5id: 15.10.7.3-1
-description: RegExp.prototype.ignoreCase is a non-generic accessor property
----*/
-
-
-assert.throws(TypeError, function() {
-    RegExp.prototype.ignoreCase;
-});
</del></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsRegExpprototypeignoreCasethisvalinvalidobjjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/RegExp/prototype/ignoreCase/this-val-invalid-obj.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/RegExp/prototype/ignoreCase/this-val-invalid-obj.js                                (rev 0)
+++ trunk/JSTests/test262/test/built-ins/RegExp/prototype/ignoreCase/this-val-invalid-obj.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,27 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-get-regexp.prototype.ignorecase
+es6id: 21.2.5.5
+description: A TypeError is thrown when the &quot;this&quot; value is an invalid Object
+info: |
+  1. Let R be the this value.
+  2. If Type(R) is not Object, throw a TypeError exception.
+  3. If R does not have an [[OriginalFlags]] internal slot, then
+     a. If SameValue(R, %RegExpPrototype%) is true, return undefined.
+     b. Otherwise, throw a TypeError exception.
+---*/
+
+var get = Object.getOwnPropertyDescriptor(RegExp.prototype, 'ignoreCase').get;
+
+assert.throws(TypeError, function() {
+  get.call({});
+}, 'ordinary object');
+
+assert.throws(TypeError, function() {
+  get.call([]);
+}, 'array exotic object');
+
+assert.throws(TypeError, function() {
+  get.call(arguments);
+}, 'arguments object');
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsRegExpprototypeignoreCasethisvalnonobjjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/RegExp/prototype/ignoreCase/this-val-non-obj.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/RegExp/prototype/ignoreCase/this-val-non-obj.js                                (rev 0)
+++ trunk/JSTests/test262/test/built-ins/RegExp/prototype/ignoreCase/this-val-non-obj.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,38 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-get-regexp.prototype.ignorecase
+es6id: 21.2.5.5
+description: A TypeError is thrown when the &quot;this&quot; value is not an Object
+info: |
+  1. Let R be the this value.
+  2. If Type(R) is not Object, throw a TypeError exception.
+features: [Symbol]
+---*/
+
+var get = Object.getOwnPropertyDescriptor(RegExp.prototype, 'ignoreCase').get;
+var symbol = Symbol();
+
+assert.throws(TypeError, function() {
+  get.call(undefined);
+}, 'undefined');
+
+assert.throws(TypeError, function() {
+  get.call(null);
+}, 'null');
+
+assert.throws(TypeError, function() {
+  get.call(3);
+}, 'number');
+
+assert.throws(TypeError, function() {
+  get.call('string');
+}, 'string');
+
+assert.throws(TypeError, function() {
+  get.call(true);
+}, 'boolean');
+
+assert.throws(TypeError, function() {
+  get.call(symbol);
+}, 'symbol');
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsRegExpprototypeignoreCasethisvalregexpprototypejs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/RegExp/prototype/ignoreCase/this-val-regexp-prototype.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/RegExp/prototype/ignoreCase/this-val-regexp-prototype.js                                (rev 0)
+++ trunk/JSTests/test262/test/built-ins/RegExp/prototype/ignoreCase/this-val-regexp-prototype.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,17 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-get-regexp.prototype.ignorecase
+description: &gt;
+  Return value of `undefined` when the &quot;this&quot; value is the RegExp prototype
+  object
+info: |
+  1. Let R be the this value.
+  2. If Type(R) is not Object, throw a TypeError exception.
+  3. If R does not have an [[OriginalFlags]] internal slot, then
+     a. If SameValue(R, %RegExpPrototype%) is true, return undefined.
+---*/
+
+var get = Object.getOwnPropertyDescriptor(RegExp.prototype, 'ignoreCase').get;
+
+assert.sameValue(get.call(RegExp.prototype), undefined);
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsRegExpprototypemultiline1510741js"></a>
<div class="delfile"><h4>Deleted: trunk/JSTests/test262/test/built-ins/RegExp/prototype/multiline/15.10.7.4-1.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/RegExp/prototype/multiline/15.10.7.4-1.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/RegExp/prototype/multiline/15.10.7.4-1.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -1,12 +0,0 @@
</span><del>-// Copyright (c) 2012 Ecma International.  All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-es5id: 15.10.7.4-1
-description: RegExp.prototype.multiline is a non-generic accessor property
----*/
-
-
-assert.throws(TypeError, function() {
-    RegExp.prototype.multiline;
-});
</del></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsRegExpprototypemultilinethisvalinvalidobjjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/RegExp/prototype/multiline/this-val-invalid-obj.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/RegExp/prototype/multiline/this-val-invalid-obj.js                                (rev 0)
+++ trunk/JSTests/test262/test/built-ins/RegExp/prototype/multiline/this-val-invalid-obj.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,27 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-get-regexp.prototype.multiline
+es6id: 21.2.5.7
+description: A TypeError is thrown when the &quot;this&quot; value is an invalid Object
+info: |
+  1. Let R be the this value.
+  2. If Type(R) is not Object, throw a TypeError exception.
+  3. If R does not have an [[OriginalFlags]] internal slot, then
+     a. If SameValue(R, %RegExpPrototype%) is true, return undefined.
+     b. Otherwise, throw a TypeError exception.
+---*/
+
+var get = Object.getOwnPropertyDescriptor(RegExp.prototype, 'multiline').get;
+
+assert.throws(TypeError, function() {
+  get.call({});
+}, 'ordinary object');
+
+assert.throws(TypeError, function() {
+  get.call([]);
+}, 'array exotic object');
+
+assert.throws(TypeError, function() {
+  get.call(arguments);
+}, 'arguments object');
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsRegExpprototypemultilinethisvalnonobjjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/RegExp/prototype/multiline/this-val-non-obj.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/RegExp/prototype/multiline/this-val-non-obj.js                                (rev 0)
+++ trunk/JSTests/test262/test/built-ins/RegExp/prototype/multiline/this-val-non-obj.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,38 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-get-regexp.prototype.multiline
+es6id: 21.2.5.7
+description: A TypeError is thrown when the &quot;this&quot; value is not an Object
+info: |
+  1. Let R be the this value.
+  2. If Type(R) is not Object, throw a TypeError exception.
+features: [Symbol]
+---*/
+
+var get = Object.getOwnPropertyDescriptor(RegExp.prototype, 'multiline').get;
+var symbol = Symbol();
+
+assert.throws(TypeError, function() {
+  get.call(undefined);
+}, 'undefined');
+
+assert.throws(TypeError, function() {
+  get.call(null);
+}, 'null');
+
+assert.throws(TypeError, function() {
+  get.call(3);
+}, 'number');
+
+assert.throws(TypeError, function() {
+  get.call('string');
+}, 'string');
+
+assert.throws(TypeError, function() {
+  get.call(true);
+}, 'boolean');
+
+assert.throws(TypeError, function() {
+  get.call(symbol);
+}, 'symbol');
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsRegExpprototypemultilinethisvalregexpprototypejs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/RegExp/prototype/multiline/this-val-regexp-prototype.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/RegExp/prototype/multiline/this-val-regexp-prototype.js                                (rev 0)
+++ trunk/JSTests/test262/test/built-ins/RegExp/prototype/multiline/this-val-regexp-prototype.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,17 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-get-regexp.prototype.multiline
+description: &gt;
+  Return value of `undefined` when the &quot;this&quot; value is the RegExp prototype
+  object
+info: |
+  1. Let R be the this value.
+  2. If Type(R) is not Object, throw a TypeError exception.
+  3. If R does not have an [[OriginalFlags]] internal slot, then
+     a. If SameValue(R, %RegExpPrototype%) is true, return undefined.
+---*/
+
+var get = Object.getOwnPropertyDescriptor(RegExp.prototype, 'multiline').get;
+
+assert.sameValue(get.call(RegExp.prototype), undefined);
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsRegExpprototypenoregexpmatcherjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/RegExp/prototype/no-regexp-matcher.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/RegExp/prototype/no-regexp-matcher.js                                (rev 0)
+++ trunk/JSTests/test262/test/built-ins/RegExp/prototype/no-regexp-matcher.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,23 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-properties-of-the-regexp-prototype-object
+es6id: 21.2.5
+description: &gt;
+  The RegExp prototype object does not have a [[RegExpMatcher]] internal slot
+info: |
+  The RegExp prototype object is an ordinary object. It is not a RegExp
+  instance and does not have a [[RegExpMatcher]] internal slot or any of the
+  other internal slots of RegExp instance objects.
+
+  21.2.5.2 RegExp.prototype.exec
+
+  1. Let R be the this value.
+  2. If Type(R) is not Object, throw a TypeError exception.
+  3. If R does not have a [[RegExpMatcher]] internal slot, throw a TypeError
+     exception.
+---*/
+
+assert.throws(TypeError, function() {
+  RegExp.prototype.exec('');
+});
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsRegExpprototypesource1510711js"></a>
<div class="delfile"><h4>Deleted: trunk/JSTests/test262/test/built-ins/RegExp/prototype/source/15.10.7.1-1.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/RegExp/prototype/source/15.10.7.1-1.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/RegExp/prototype/source/15.10.7.1-1.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -1,12 +0,0 @@
</span><del>-// Copyright (c) 2012 Ecma International.  All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-es5id: 15.10.7.1-1
-description: RegExp.prototype.source is a non-generic accessor property
----*/
-
-
-assert.throws(TypeError, function() {
-    RegExp.prototype.source;
-});
</del></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsRegExpprototypesourcethisvalinvalidobjjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/RegExp/prototype/source/this-val-invalid-obj.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/RegExp/prototype/source/this-val-invalid-obj.js                                (rev 0)
+++ trunk/JSTests/test262/test/built-ins/RegExp/prototype/source/this-val-invalid-obj.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,27 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-get-regexp.prototype.source
+es6id: 21.2.5.10
+description: A TypeError is thrown when the &quot;this&quot; value is an invalid Object
+info: |
+  1. Let R be the this value.
+  2. If Type(R) is not Object, throw a TypeError exception.
+  3. If R does not have an [[OriginalFlags]] internal slot, then
+     a. If SameValue(R, %RegExpPrototype%) is true, return &quot;(?:)&quot;.
+     b. Otherwise, throw a TypeError exception.
+---*/
+
+var get = Object.getOwnPropertyDescriptor(RegExp.prototype, 'source').get;
+
+assert.throws(TypeError, function() {
+  get.call({});
+}, 'ordinary object');
+
+assert.throws(TypeError, function() {
+  get.call([]);
+}, 'array exotic object');
+
+assert.throws(TypeError, function() {
+  get.call(arguments);
+}, 'arguments object');
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsRegExpprototypesourcethisvalnonobjjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/RegExp/prototype/source/this-val-non-obj.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/RegExp/prototype/source/this-val-non-obj.js                                (rev 0)
+++ trunk/JSTests/test262/test/built-ins/RegExp/prototype/source/this-val-non-obj.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,38 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-get-regexp.prototype.source
+es6id: 21.2.5.10
+description: A TypeError is thrown when the &quot;this&quot; value is not an Object
+info: |
+  1. Let R be the this value.
+  2. If Type(R) is not Object, throw a TypeError exception.
+features: [Symbol]
+---*/
+
+var get = Object.getOwnPropertyDescriptor(RegExp.prototype, 'source').get;
+var symbol = Symbol();
+
+assert.throws(TypeError, function() {
+  get.call(undefined);
+}, 'undefined');
+
+assert.throws(TypeError, function() {
+  get.call(null);
+}, 'null');
+
+assert.throws(TypeError, function() {
+  get.call(3);
+}, 'number');
+
+assert.throws(TypeError, function() {
+  get.call('string');
+}, 'string');
+
+assert.throws(TypeError, function() {
+  get.call(true);
+}, 'boolean');
+
+assert.throws(TypeError, function() {
+  get.call(symbol);
+}, 'symbol');
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsRegExpprototypesourcethisvalregexpprototypejs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/RegExp/prototype/source/this-val-regexp-prototype.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/RegExp/prototype/source/this-val-regexp-prototype.js                                (rev 0)
+++ trunk/JSTests/test262/test/built-ins/RegExp/prototype/source/this-val-regexp-prototype.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,17 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-get-regexp.prototype.source
+description: &gt;
+  Return value of `undefined` when the &quot;this&quot; value is the RegExp prototype
+  object
+info: |
+  1. Let R be the this value.
+  2. If Type(R) is not Object, throw a TypeError exception.
+  3. If R does not have an [[OriginalFlags]] internal slot, then
+     a. If SameValue(R, %RegExpPrototype%) is true, return &quot;(?:)&quot;.
+---*/
+
+var get = Object.getOwnPropertyDescriptor(RegExp.prototype, 'source').get;
+
+assert.sameValue(get.call(RegExp.prototype), '(?:)');
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsRegExpprototypesourcevalueemptyjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/RegExp/prototype/source/value-empty.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/RegExp/prototype/source/value-empty.js                                (rev 0)
+++ trunk/JSTests/test262/test/built-ins/RegExp/prototype/source/value-empty.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,25 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-get-regexp.prototype.source
+es6id: 21.2.5.10
+description: &gt;
+  Return value can be used to create an equivalent RegExp when the
+  [[OriginalSource]] internal slot is the empty string
+
+  21.2.3.2.4 Runtime Semantics: EscapeRegExpPattern
+
+  [...] the internal procedure that would result from evaluating S as a
+  Pattern[~U] (Pattern[+U] if F contains &quot;u&quot;) must behave identically to the
+  internal procedure given by the constructed object's [[RegExpMatcher]]
+  internal slot.
+info: |
+  [...]
+  5. Let src be R.[[OriginalSource]].
+  6. Let flags be R.[[OriginalFlags]].
+  7. Return EscapeRegExpPattern(src, flags).
+---*/
+
+var re = eval('/' + new RegExp('').source + '/');
+
+assert.sameValue(re.test(''), true);
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsRegExpprototypesourcevaluelineterminatorjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/RegExp/prototype/source/value-line-terminator.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/RegExp/prototype/source/value-line-terminator.js                                (rev 0)
+++ trunk/JSTests/test262/test/built-ins/RegExp/prototype/source/value-line-terminator.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,29 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-get-regexp.prototype.source
+es6id: 21.2.5.10
+description: &gt;
+  Return value can be used to create an equivalent RegExp when the
+  [[OriginalSource]] internal slot contains a LineTerminator
+info: |
+  [...]
+  5. Let src be R.[[OriginalSource]].
+  6. Let flags be R.[[OriginalFlags]].
+  7. Return EscapeRegExpPattern(src, flags).
+
+  21.2.3.2.4 Runtime Semantics: EscapeRegExpPattern
+
+  [...] the internal procedure that would result from evaluating S as a
+  Pattern[~U] (Pattern[+U] if F contains &quot;u&quot;) must behave identically to the
+  internal procedure given by the constructed object's [[RegExpMatcher]]
+  internal slot.
+---*/
+
+var re = eval('/' + new RegExp('\n').source + '/');
+
+assert.sameValue(re.test('\n'), true, 'input: &quot;\\n&quot;');
+assert.sameValue(re.test('_\n_'), true, 'input: &quot;_\\n_&quot;');
+assert.sameValue(re.test('\\n'), false, 'input: &quot;\\\\n&quot;');
+assert.sameValue(re.test('\r'), false, 'input: &quot;\\r&quot;');
+assert.sameValue(re.test('n'), false, 'input: &quot;n&quot;');
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsRegExpprototypesourcevalueujs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/RegExp/prototype/source/value-u.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/RegExp/prototype/source/value-u.js                                (rev 0)
+++ trunk/JSTests/test262/test/built-ins/RegExp/prototype/source/value-u.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,33 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-get-regexp.prototype.source
+es6id: 21.2.5.10
+description: &gt;
+  Return value can be used to create an equivalent RegExp when the
+  [[OriginalFlags]] internal slot contains the `u` flag
+info: |
+  [...]
+  5. Let src be R.[[OriginalSource]].
+  6. Let flags be R.[[OriginalFlags]].
+  7. Return EscapeRegExpPattern(src, flags).
+
+  21.2.3.2.4 Runtime Semantics: EscapeRegExpPattern
+
+  [...] the internal procedure that would result from evaluating S as a
+  Pattern[~U] (Pattern[+U] if F contains &quot;u&quot;) must behave identically to the
+  internal procedure given by the constructed object's [[RegExpMatcher]]
+  internal slot.
+---*/
+
+var re;
+
+re = eval('/' + /\ud834\udf06/u.source + '/u');
+
+assert.sameValue(re.test('\ud834\udf06'), true);
+assert.sameValue(re.test('𝌆'), true);
+
+re = eval('/' + /\u{1d306}/u.source + '/u');
+
+assert.sameValue(re.test('\ud834\udf06'), true);
+assert.sameValue(re.test('𝌆'), true);
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsRegExpprototypesourcevaluejs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/RegExp/prototype/source/value.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/RegExp/prototype/source/value.js                                (rev 0)
+++ trunk/JSTests/test262/test/built-ins/RegExp/prototype/source/value.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,35 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-get-regexp.prototype.source
+es6id: 21.2.5.10
+description: Return value can be used to create an equivalent RegExp
+info: |
+  [...]
+  5. Let src be R.[[OriginalSource]].
+  6. Let flags be R.[[OriginalFlags]].
+  7. Return EscapeRegExpPattern(src, flags).
+
+  21.2.3.2.4 Runtime Semantics: EscapeRegExpPattern
+
+  [...] the internal procedure that would result from evaluating S as a
+  Pattern[~U] (Pattern[+U] if F contains &quot;u&quot;) must behave identically to the
+  internal procedure given by the constructed object's [[RegExpMatcher]]
+  internal slot.
+---*/
+
+var re = eval('/' + /ab{2,4}c$/.source + '/');
+
+assert(re.test('abbc'), 'input: abbc');
+assert(re.test('abbbc'), 'input: abbbc');
+assert(re.test('abbbbc'), 'input: abbbbc');
+assert(re.test('xabbc'), 'input: xabbc');
+assert(re.test('xabbbc'), 'input: xabbbc');
+assert(re.test('xabbbbc'), 'input: xabbbbc');
+
+assert.sameValue(re.test('ac'), false, 'input: ac');
+assert.sameValue(re.test('abc'), false, 'input: abc');
+assert.sameValue(re.test('abbcx'), false, 'input: abbcx');
+assert.sameValue(re.test('bbc'), false, 'input: bbc');
+assert.sameValue(re.test('abb'), false, 'input: abb');
+assert.sameValue(re.test('abbbbbc'), false, 'input: abbbbbc');
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsRegExpprototypestickythisinvalidobjjs"></a>
<div class="delfile"><h4>Deleted: trunk/JSTests/test262/test/built-ins/RegExp/prototype/sticky/this-invalid-obj.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/RegExp/prototype/sticky/this-invalid-obj.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/RegExp/prototype/sticky/this-invalid-obj.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -1,20 +0,0 @@
</span><del>-// Copyright (C) 2015 the V8 project authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-description: Invoked on an object without an [[OriginalFlags]] internal slot
-es6id: 21.2.5.12
-info: &gt;
-    21.2.5.12 get RegExp.prototype.sticky
-
-    1. Let R be the this value.
-    2. If Type(R) is not Object, throw a TypeError exception.
-    3. If R does not have an [[OriginalFlags]] internal slot, throw a TypeError
-       exception.
----*/
-
-var sticky = Object.getOwnPropertyDescriptor(RegExp.prototype, 'sticky').get;
-
-assert.throws(TypeError, function() {
-  sticky.call({});
-});
</del></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsRegExpprototypestickythisnonobjjs"></a>
<div class="delfile"><h4>Deleted: trunk/JSTests/test262/test/built-ins/RegExp/prototype/sticky/this-non-obj.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/RegExp/prototype/sticky/this-non-obj.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/RegExp/prototype/sticky/this-non-obj.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -1,40 +0,0 @@
</span><del>-// Copyright (C) 2015 the V8 project authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-description: &gt;
-    `sticky` accessor invoked on a non-object value
-es6id: 21.2.5.12
-info: &gt;
-    21.2.5.12 get RegExp.prototype.sticky
-
-    1. Let R be the this value.
-    2. If Type(R) is not Object, throw a TypeError exception.
-features: [Symbol]
----*/
-
-var sticky = Object.getOwnPropertyDescriptor(RegExp.prototype, 'sticky').get;
-
-assert.throws(TypeError, function() {
-  sticky.call(undefined);
-});
-
-assert.throws(TypeError, function() {
-  sticky.call(null);
-});
-
-assert.throws(TypeError, function() {
-  sticky.call(true);
-});
-
-assert.throws(TypeError, function() {
-  sticky.call('string');
-});
-
-assert.throws(TypeError, function() {
-  sticky.call(Symbol('s'));
-});
-
-assert.throws(TypeError, function() {
-  sticky.call(4);
-});
</del></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsRegExpprototypestickythisregexpjs"></a>
<div class="delfile"><h4>Deleted: trunk/JSTests/test262/test/built-ins/RegExp/prototype/sticky/this-regexp.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/RegExp/prototype/sticky/this-regexp.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/RegExp/prototype/sticky/this-regexp.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -1,24 +0,0 @@
</span><del>-// Copyright (C) 2015 the V8 project authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-description: &gt;
-    `sticky` accessor function invoked on a RegExp instance
-es6id: 21.2.5.12
-info: &gt;
-    21.2.5.12 get RegExp.prototype.sticky
-
-    4. Let flags be the value of R’s [[OriginalFlags]] internal slot.
-    5. If flags contains the code unit &quot;y&quot;, return true.
-    6. Return false.
----*/
-
-assert.sameValue(/./.sticky, false);
-assert.sameValue(/./i.sticky, false);
-assert.sameValue(/./g.sticky, false);
-assert.sameValue(/./gi.sticky, false);
-
-assert.sameValue(/./y.sticky, true);
-assert.sameValue(/./iy.sticky, true);
-assert.sameValue(/./yg.sticky, true);
-assert.sameValue(/./iyg.sticky, true);
</del></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsRegExpprototypestickythisvalinvalidobjjsfromrev204850trunkJSTeststest262testbuiltinsRegExpprototypestickythisinvalidobjjs"></a>
<div class="copfile"><h4>Copied: trunk/JSTests/test262/test/built-ins/RegExp/prototype/sticky/this-val-invalid-obj.js (from rev 204850, trunk/JSTests/test262/test/built-ins/RegExp/prototype/sticky/this-invalid-obj.js) (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/RegExp/prototype/sticky/this-val-invalid-obj.js                                (rev 0)
+++ trunk/JSTests/test262/test/built-ins/RegExp/prototype/sticky/this-val-invalid-obj.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,28 @@
</span><ins>+// Copyright (C) 2015 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+description: Invoked on an object without an [[OriginalFlags]] internal slot
+es6id: 21.2.5.12
+info: &gt;
+    21.2.5.12 get RegExp.prototype.sticky
+
+    1. Let R be the this value.
+    2. If Type(R) is not Object, throw a TypeError exception.
+    3. If R does not have an [[OriginalFlags]] internal slot, throw a TypeError
+       exception.
+---*/
+
+var sticky = Object.getOwnPropertyDescriptor(RegExp.prototype, 'sticky').get;
+
+assert.throws(TypeError, function() {
+  sticky.call({});
+}, 'ordinary object');
+
+assert.throws(TypeError, function() {
+  sticky.call([]);
+}, 'array exotic object');
+
+assert.throws(TypeError, function() {
+  sticky.call(arguments);
+}, 'arguments object');
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsRegExpprototypestickythisvalnonobjjsfromrev204850trunkJSTeststest262testbuiltinsRegExpprototypestickythisnonobjjs"></a>
<div class="copfile"><h4>Copied: trunk/JSTests/test262/test/built-ins/RegExp/prototype/sticky/this-val-non-obj.js (from rev 204850, trunk/JSTests/test262/test/built-ins/RegExp/prototype/sticky/this-non-obj.js) (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/RegExp/prototype/sticky/this-val-non-obj.js                                (rev 0)
+++ trunk/JSTests/test262/test/built-ins/RegExp/prototype/sticky/this-val-non-obj.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,40 @@
</span><ins>+// Copyright (C) 2015 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+description: &gt;
+    `sticky` accessor invoked on a non-object value
+es6id: 21.2.5.12
+info: &gt;
+    21.2.5.12 get RegExp.prototype.sticky
+
+    1. Let R be the this value.
+    2. If Type(R) is not Object, throw a TypeError exception.
+features: [Symbol]
+---*/
+
+var sticky = Object.getOwnPropertyDescriptor(RegExp.prototype, 'sticky').get;
+
+assert.throws(TypeError, function() {
+  sticky.call(undefined);
+});
+
+assert.throws(TypeError, function() {
+  sticky.call(null);
+});
+
+assert.throws(TypeError, function() {
+  sticky.call(true);
+});
+
+assert.throws(TypeError, function() {
+  sticky.call('string');
+});
+
+assert.throws(TypeError, function() {
+  sticky.call(Symbol('s'));
+});
+
+assert.throws(TypeError, function() {
+  sticky.call(4);
+});
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsRegExpprototypestickythisvalregexpprototypejs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/RegExp/prototype/sticky/this-val-regexp-prototype.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/RegExp/prototype/sticky/this-val-regexp-prototype.js                                (rev 0)
+++ trunk/JSTests/test262/test/built-ins/RegExp/prototype/sticky/this-val-regexp-prototype.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,17 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-get-regexp.prototype.sticky
+description: &gt;
+  Return value of `undefined` when the &quot;this&quot; value is the RegExp prototype
+  object
+info: |
+  1. Let R be the this value.
+  2. If Type(R) is not Object, throw a TypeError exception.
+  3. If R does not have an [[OriginalFlags]] internal slot, then
+     a. If SameValue(R, %RegExpPrototype%) is true, return undefined.
+---*/
+
+var get = Object.getOwnPropertyDescriptor(RegExp.prototype, 'sticky').get;
+
+assert.sameValue(get.call(RegExp.prototype), undefined);
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsRegExpprototypestickythisvalregexpjsfromrev204850trunkJSTeststest262testbuiltinsRegExpprototypestickythisregexpjs"></a>
<div class="copfile"><h4>Copied: trunk/JSTests/test262/test/built-ins/RegExp/prototype/sticky/this-val-regexp.js (from rev 204850, trunk/JSTests/test262/test/built-ins/RegExp/prototype/sticky/this-regexp.js) (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/RegExp/prototype/sticky/this-val-regexp.js                                (rev 0)
+++ trunk/JSTests/test262/test/built-ins/RegExp/prototype/sticky/this-val-regexp.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,24 @@
</span><ins>+// Copyright (C) 2015 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+description: &gt;
+    `sticky` accessor function invoked on a RegExp instance
+es6id: 21.2.5.12
+info: &gt;
+    21.2.5.12 get RegExp.prototype.sticky
+
+    4. Let flags be the value of R’s [[OriginalFlags]] internal slot.
+    5. If flags contains the code unit &quot;y&quot;, return true.
+    6. Return false.
+---*/
+
+assert.sameValue(/./.sticky, false);
+assert.sameValue(/./i.sticky, false);
+assert.sameValue(/./g.sticky, false);
+assert.sameValue(/./gi.sticky, false);
+
+assert.sameValue(/./y.sticky, true);
+assert.sameValue(/./iy.sticky, true);
+assert.sameValue(/./yg.sticky, true);
+assert.sameValue(/./iyg.sticky, true);
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsRegExpprototypeunicodethisinvaldobjjs"></a>
<div class="delfile"><h4>Deleted: trunk/JSTests/test262/test/built-ins/RegExp/prototype/unicode/this-invald-obj.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/RegExp/prototype/unicode/this-invald-obj.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/RegExp/prototype/unicode/this-invald-obj.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -1,20 +0,0 @@
</span><del>-// Copyright (C) 2015 the V8 project authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-description: Invoked on an object without an [[OriginalFlags]] internal slot
-es6id: 21.2.5.15
-info: &gt;
-    21.2.5.15 get RegExp.prototype.unicode
-
-    1. Let R be the this value.
-    2. If Type(R) is not Object, throw a TypeError exception.
-    3. If R does not have an [[OriginalFlags]] internal slot, throw a TypeError
-       exception.
----*/
-
-var unicode = Object.getOwnPropertyDescriptor(RegExp.prototype, 'unicode').get;
-
-assert.throws(TypeError, function() {
-  unicode.call({});
-});
</del></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsRegExpprototypeunicodethisnonobjjs"></a>
<div class="delfile"><h4>Deleted: trunk/JSTests/test262/test/built-ins/RegExp/prototype/unicode/this-non-obj.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/RegExp/prototype/unicode/this-non-obj.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/RegExp/prototype/unicode/this-non-obj.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -1,40 +0,0 @@
</span><del>-// Copyright (C) 2015 the V8 project authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-description: &gt;
-    `unicode` accessor invoked on a non-object value
-es6id: 21.2.5.15
-info: &gt;
-    21.2.5.15 get RegExp.prototype.unicode
-
-    1. Let R be the this value.
-    2. If Type(R) is not Object, throw a TypeError exception.
-features: [Symbol]
----*/
-
-var unicode = Object.getOwnPropertyDescriptor(RegExp.prototype, 'unicode').get;
-
-assert.throws(TypeError, function() {
-  unicode.call(undefined);
-});
-
-assert.throws(TypeError, function() {
-  unicode.call(null);
-});
-
-assert.throws(TypeError, function() {
-  unicode.call(true);
-});
-
-assert.throws(TypeError, function() {
-  unicode.call('string');
-});
-
-assert.throws(TypeError, function() {
-  unicode.call(Symbol('s'));
-});
-
-assert.throws(TypeError, function() {
-  unicode.call(4);
-});
</del></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsRegExpprototypeunicodethisregexpjs"></a>
<div class="delfile"><h4>Deleted: trunk/JSTests/test262/test/built-ins/RegExp/prototype/unicode/this-regexp.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/RegExp/prototype/unicode/this-regexp.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/RegExp/prototype/unicode/this-regexp.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -1,25 +0,0 @@
</span><del>-// Copyright (C) 2015 the V8 project authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-description: &gt;
-    `unicode` accessor function invoked on a RegExp instance
-es6id: 21.2.5.15
-info: &gt;
-    21.2.5.15 get RegExp.prototype.unicode
-
-    [...]
-    4. Let flags be the value of R’s [[OriginalFlags]] internal slot.
-    5. If flags contains the code unit &quot;u&quot;, return true.
-    6. Return false.
----*/
-
-assert.sameValue(/./.unicode, false);
-assert.sameValue(/./i.unicode, false);
-assert.sameValue(/./g.unicode, false);
-assert.sameValue(/./gi.unicode, false);
-
-assert.sameValue(/./u.unicode, true);
-assert.sameValue(/./iu.unicode, true);
-assert.sameValue(/./ug.unicode, true);
-assert.sameValue(/./iug.unicode, true);
</del></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsRegExpprototypeunicodethisvalinvalidobjjsfromrev204850trunkJSTeststest262testbuiltinsRegExpprototypeunicodethisinvaldobjjs"></a>
<div class="copfile"><h4>Copied: trunk/JSTests/test262/test/built-ins/RegExp/prototype/unicode/this-val-invalid-obj.js (from rev 204850, trunk/JSTests/test262/test/built-ins/RegExp/prototype/unicode/this-invald-obj.js) (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/RegExp/prototype/unicode/this-val-invalid-obj.js                                (rev 0)
+++ trunk/JSTests/test262/test/built-ins/RegExp/prototype/unicode/this-val-invalid-obj.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,28 @@
</span><ins>+// Copyright (C) 2015 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+description: Invoked on an object without an [[OriginalFlags]] internal slot
+es6id: 21.2.5.15
+info: &gt;
+    21.2.5.15 get RegExp.prototype.unicode
+
+    1. Let R be the this value.
+    2. If Type(R) is not Object, throw a TypeError exception.
+    3. If R does not have an [[OriginalFlags]] internal slot, throw a TypeError
+       exception.
+---*/
+
+var unicode = Object.getOwnPropertyDescriptor(RegExp.prototype, 'unicode').get;
+
+assert.throws(TypeError, function() {
+  unicode.call({});
+}, 'ordinary object');
+
+assert.throws(TypeError, function() {
+  unicode.call([]);
+}, 'array exotic object');
+
+assert.throws(TypeError, function() {
+  unicode.call(arguments);
+}, 'arguments object');
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsRegExpprototypeunicodethisvalnonobjjsfromrev204850trunkJSTeststest262testbuiltinsRegExpprototypeunicodethisnonobjjs"></a>
<div class="copfile"><h4>Copied: trunk/JSTests/test262/test/built-ins/RegExp/prototype/unicode/this-val-non-obj.js (from rev 204850, trunk/JSTests/test262/test/built-ins/RegExp/prototype/unicode/this-non-obj.js) (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/RegExp/prototype/unicode/this-val-non-obj.js                                (rev 0)
+++ trunk/JSTests/test262/test/built-ins/RegExp/prototype/unicode/this-val-non-obj.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,40 @@
</span><ins>+// Copyright (C) 2015 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+description: &gt;
+    `unicode` accessor invoked on a non-object value
+es6id: 21.2.5.15
+info: &gt;
+    21.2.5.15 get RegExp.prototype.unicode
+
+    1. Let R be the this value.
+    2. If Type(R) is not Object, throw a TypeError exception.
+features: [Symbol]
+---*/
+
+var unicode = Object.getOwnPropertyDescriptor(RegExp.prototype, 'unicode').get;
+
+assert.throws(TypeError, function() {
+  unicode.call(undefined);
+});
+
+assert.throws(TypeError, function() {
+  unicode.call(null);
+});
+
+assert.throws(TypeError, function() {
+  unicode.call(true);
+});
+
+assert.throws(TypeError, function() {
+  unicode.call('string');
+});
+
+assert.throws(TypeError, function() {
+  unicode.call(Symbol('s'));
+});
+
+assert.throws(TypeError, function() {
+  unicode.call(4);
+});
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsRegExpprototypeunicodethisvalregexpprototypejs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/RegExp/prototype/unicode/this-val-regexp-prototype.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/RegExp/prototype/unicode/this-val-regexp-prototype.js                                (rev 0)
+++ trunk/JSTests/test262/test/built-ins/RegExp/prototype/unicode/this-val-regexp-prototype.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,17 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-get-regexp.prototype.unicode
+description: &gt;
+  Return value of `undefined` when the &quot;this&quot; value is the RegExp prototype
+  object
+info: |
+  1. Let R be the this value.
+  2. If Type(R) is not Object, throw a TypeError exception.
+  3. If R does not have an [[OriginalFlags]] internal slot, then
+     a. If SameValue(R, %RegExpPrototype%) is true, return undefined.
+---*/
+
+var get = Object.getOwnPropertyDescriptor(RegExp.prototype, 'unicode').get;
+
+assert.sameValue(get.call(RegExp.prototype), undefined);
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsRegExpprototypeunicodethisvalregexpjsfromrev204850trunkJSTeststest262testbuiltinsRegExpprototypeunicodethisregexpjs"></a>
<div class="copfile"><h4>Copied: trunk/JSTests/test262/test/built-ins/RegExp/prototype/unicode/this-val-regexp.js (from rev 204850, trunk/JSTests/test262/test/built-ins/RegExp/prototype/unicode/this-regexp.js) (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/RegExp/prototype/unicode/this-val-regexp.js                                (rev 0)
+++ trunk/JSTests/test262/test/built-ins/RegExp/prototype/unicode/this-val-regexp.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,25 @@
</span><ins>+// Copyright (C) 2015 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+description: &gt;
+    `unicode` accessor function invoked on a RegExp instance
+es6id: 21.2.5.15
+info: &gt;
+    21.2.5.15 get RegExp.prototype.unicode
+
+    [...]
+    4. Let flags be the value of R’s [[OriginalFlags]] internal slot.
+    5. If flags contains the code unit &quot;u&quot;, return true.
+    6. Return false.
+---*/
+
+assert.sameValue(/./.unicode, false);
+assert.sameValue(/./i.unicode, false);
+assert.sameValue(/./g.unicode, false);
+assert.sameValue(/./gi.unicode, false);
+
+assert.sameValue(/./u.unicode, true);
+assert.sameValue(/./iu.unicode, true);
+assert.sameValue(/./ug.unicode, true);
+assert.sameValue(/./iug.unicode, true);
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsStringnumericpropertiesjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/String/numeric-properties.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/String/numeric-properties.js                                (rev 0)
+++ trunk/JSTests/test262/test/built-ins/String/numeric-properties.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,32 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-string-exotic-objects-getownproperty-p
+es6id: 9.4.3.1
+description: &gt;
+  Property descriptor for numeric &quot;own&quot; properties of an exotic String object
+info: |
+  [...]
+  12. Let resultStr be a String value of length 1, containing one code unit
+      from str, specifically the code unit at index index.
+  13. Return a PropertyDescriptor{[[Value]]: resultStr, [[Writable]]: false,
+      [[Enumerable]]: true, [[Configurable]]: false}. 
+includes: [propertyHelper.js]
+---*/
+
+var str = new String('abc');
+
+assert.sameValue(str[0], 'a');
+verifyEnumerable(str, '0');
+verifyNotWritable(str, '0');
+verifyNotConfigurable(str, '0');
+
+assert.sameValue(str[1], 'b');
+verifyEnumerable(str, '1');
+verifyNotWritable(str, '1');
+verifyNotConfigurable(str, '1');
+
+assert.sameValue(str[2], 'c');
+verifyEnumerable(str, '2');
+verifyNotWritable(str, '2');
+verifyNotConfigurable(str, '2');
</ins></span></pre></div>
<a id="trunkJSTeststest262testintl402DateTimeFormatprototypeformatToPartsdateisinfinitythrowsjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/intl402/DateTimeFormat/prototype/formatToParts/date-is-infinity-throws.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/intl402/DateTimeFormat/prototype/formatToParts/date-is-infinity-throws.js                                (rev 0)
+++ trunk/JSTests/test262/test/intl402/DateTimeFormat/prototype/formatToParts/date-is-infinity-throws.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,33 @@
</span><ins>+// Copyright 2016 Leonardo Balter. All rights reserved.
+// This code is governed by the license found in the LICENSE file.
+
+/*---
+description: &gt;
+  Throws a RangeError if date arg is cast to an Infinity value
+info: |
+  Intl.DateTimeFormat.prototype.formatToParts ([ date ])
+
+  4. If _date_ is not provided or is *undefined*, then
+    a. Let _x_ be *%Date_now%*().
+  5. Else,
+    a. Let _x_ be ? ToNumber(_date_).
+  6. Return ? FormatDateTimeToParts(_dtf_, _x_).
+
+  FormatDateTimeToParts(dateTimeFormat, x)
+
+  1. Let _parts_ be ? PartitionDateTimePattern(_dateTimeFormat_, _x_).
+
+  PartitionDateTimePattern (dateTimeFormat, x)
+
+  1. If _x_ is not a finite Number, throw a *RangeError* exception.
+---*/
+
+var dtf = new Intl.DateTimeFormat([&quot;pt-BR&quot;]);
+
+assert.throws(RangeError, function() {
+  dtf.formatToParts(Infinity);
+}, &quot;+Infinity&quot;);
+
+assert.throws(RangeError, function() {
+  dtf.formatToParts(-Infinity);
+}, &quot;-Infinity&quot;);
</ins></span></pre></div>
<a id="trunkJSTeststest262testintl402DateTimeFormatprototypeformatToPartsdateisnanthrowsjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/intl402/DateTimeFormat/prototype/formatToParts/date-is-nan-throws.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/intl402/DateTimeFormat/prototype/formatToParts/date-is-nan-throws.js                                (rev 0)
+++ trunk/JSTests/test262/test/intl402/DateTimeFormat/prototype/formatToParts/date-is-nan-throws.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,33 @@
</span><ins>+// Copyright 2016 Leonardo Balter. All rights reserved.
+// This code is governed by the license found in the LICENSE file.
+
+/*---
+description: &gt;
+  Throws a RangeError if date arg is cast to NaN
+info: |
+  Intl.DateTimeFormat.prototype.formatToParts ([ date ])
+
+  4. If _date_ is not provided or is *undefined*, then
+    a. Let _x_ be *%Date_now%*().
+  5. Else,
+    a. Let _x_ be ? ToNumber(_date_).
+  6. Return ? FormatDateTimeToParts(_dtf_, _x_).
+
+  FormatDateTimeToParts(dateTimeFormat, x)
+
+  1. Let _parts_ be ? PartitionDateTimePattern(_dateTimeFormat_, _x_).
+
+  PartitionDateTimePattern (dateTimeFormat, x)
+
+  1. If _x_ is not a finite Number, throw a *RangeError* exception.
+---*/
+
+var dtf = new Intl.DateTimeFormat([&quot;pt-BR&quot;]);
+
+assert.throws(RangeError, function() {
+  dtf.formatToParts(NaN);
+});
+
+assert.throws(RangeError, function() {
+  dtf.formatToParts(&quot;lol&quot;);
+});
</ins></span></pre></div>
<a id="trunkJSTeststest262testintl402DateTimeFormatprototypeformatToPartsformatToPartsjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/intl402/DateTimeFormat/prototype/formatToParts/formatToParts.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/intl402/DateTimeFormat/prototype/formatToParts/formatToParts.js                                (rev 0)
+++ trunk/JSTests/test262/test/intl402/DateTimeFormat/prototype/formatToParts/formatToParts.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,17 @@
</span><ins>+// Copyright 2016 Mozilla Corporation. All rights reserved.
+// This code is governed by the license found in the LICENSE file.
+
+/*---
+description: Property type and descriptor. 
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(
+  typeof Intl.DateTimeFormat.prototype.formatToParts,
+  'function',
+  '`typeof Intl.DateTimeFormat.prototype.formatToParts` is `function`'
+);
+
+verifyNotEnumerable(Intl.DateTimeFormat.prototype, 'formatToParts');
+verifyWritable(Intl.DateTimeFormat.prototype, 'formatToParts');
+verifyConfigurable(Intl.DateTimeFormat.prototype, 'formatToParts');
</ins></span></pre></div>
<a id="trunkJSTeststest262testintl402DateTimeFormatprototypeformatToPartslengthjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/intl402/DateTimeFormat/prototype/formatToParts/length.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/intl402/DateTimeFormat/prototype/formatToParts/length.js                                (rev 0)
+++ trunk/JSTests/test262/test/intl402/DateTimeFormat/prototype/formatToParts/length.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,13 @@
</span><ins>+// Copyright 2016 Mozilla Corporation. All rights reserved.
+// This code is governed by the license found in the LICENSE file.
+
+/*---
+description: Intl.DateTimeFormat.prototype.formatToParts.length. 
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Intl.DateTimeFormat.prototype.formatToParts.length, 0);
+
+verifyNotEnumerable(Intl.DateTimeFormat.prototype.formatToParts, &quot;length&quot;);
+verifyNotWritable(Intl.DateTimeFormat.prototype.formatToParts, &quot;length&quot;);
+verifyConfigurable(Intl.DateTimeFormat.prototype.formatToParts, &quot;length&quot;);
</ins></span></pre></div>
<a id="trunkJSTeststest262testintl402DateTimeFormatprototypeformatToPartsmainjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/intl402/DateTimeFormat/prototype/formatToParts/main.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/intl402/DateTimeFormat/prototype/formatToParts/main.js                                (rev 0)
+++ trunk/JSTests/test262/test/intl402/DateTimeFormat/prototype/formatToParts/main.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,40 @@
</span><ins>+// Copyright 2016 Mozilla Corporation. All rights reserved.
+// This code is governed by the license found in the LICENSE file.
+
+/*---
+description: Tests for existance and behavior of Intl.DateTimeFormat.prototype.formatToParts
+---*/
+
+function reduce(parts) {
+  return parts.map(part =&gt; part.value).join('');
+}
+
+function compareFTPtoFormat(locales, options, value) {
+  const dtf = new Intl.DateTimeFormat(locales, options);
+  assert.sameValue(
+    dtf.format(value),
+    reduce(dtf.formatToParts(value)),
+    `Expected the same value for value ${value},
+     locales: ${locales} and options: ${options}`
+  );
+}
+
+compareFTPtoFormat();
+compareFTPtoFormat('pl');
+compareFTPtoFormat(['pl']);
+compareFTPtoFormat([]);
+compareFTPtoFormat(['de'], undefined, 0);
+compareFTPtoFormat(['de'], undefined, -10);
+compareFTPtoFormat(['de'], undefined, 25324234235);
+compareFTPtoFormat(['de'], {
+  day: '2-digit'
+}, Date.now());
+compareFTPtoFormat(['de'], {
+  day: 'numeric',
+  year: '2-digit'
+}, Date.now());
+compareFTPtoFormat(['ar'], {
+  month: 'numeric',
+  day: 'numeric',
+  year: '2-digit'
+}, Date.now());
</ins></span></pre></div>
<a id="trunkJSTeststest262testintl402DateTimeFormatprototypeformatToPartsnamejs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/intl402/DateTimeFormat/prototype/formatToParts/name.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/intl402/DateTimeFormat/prototype/formatToParts/name.js                                (rev 0)
+++ trunk/JSTests/test262/test/intl402/DateTimeFormat/prototype/formatToParts/name.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,15 @@
</span><ins>+// Copyright 2016 Mozilla Corporation. All rights reserved.
+// This code is governed by the license found in the LICENSE file.
+
+/*---
+description: Intl.DateTimeFormat.prototype.formatToParts.name value and descriptor. 
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Intl.DateTimeFormat.prototype.formatToParts.name, 'formatToParts',
+  'The value of `Intl.DateTimeFormat.prototype.formatToParts.name` is `&quot;formatToParts&quot;`'
+);
+
+verifyNotEnumerable(Intl.DateTimeFormat.prototype.formatToParts, 'name');
+verifyNotWritable(Intl.DateTimeFormat.prototype.formatToParts, 'name');
+verifyConfigurable(Intl.DateTimeFormat.prototype.formatToParts, 'name');
</ins></span></pre></div>
<a id="trunkJSTeststest262testintl402DateTimeFormatprototypeformatToPartsreturnabrupttonumberdatejs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/intl402/DateTimeFormat/prototype/formatToParts/return-abrupt-tonumber-date.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/intl402/DateTimeFormat/prototype/formatToParts/return-abrupt-tonumber-date.js                                (rev 0)
+++ trunk/JSTests/test262/test/intl402/DateTimeFormat/prototype/formatToParts/return-abrupt-tonumber-date.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,42 @@
</span><ins>+// Copyright 2016 Leonardo Balter. All rights reserved.
+// This code is governed by the license found in the LICENSE file.
+
+/*---
+description: &gt;
+  Return abrupt completions from ToNumber(date)
+info: |
+  Intl.DateTimeFormat.prototype.formatToParts ([ date ])
+
+  4. If _date_ is not provided or is *undefined*, then
+    a. Let _x_ be *%Date_now%*().
+  5. Else,
+    a. Let _x_ be ? ToNumber(_date_).
+features: [Symbol]
+---*/
+
+var obj1 = {
+  valueOf: function() {
+    throw new Test262Error();
+  }
+};
+
+var obj2 = {
+  toString: function() {
+    throw new Test262Error();
+  }
+};
+
+var dtf = new Intl.DateTimeFormat([&quot;pt-BR&quot;]);
+
+assert.throws(Test262Error, function() {
+  dtf.formatToParts(obj1);
+}, &quot;valueOf&quot;);
+
+assert.throws(Test262Error, function() {
+  dtf.formatToParts(obj2);
+}, &quot;toString&quot;);
+
+var s = Symbol('1');
+assert.throws(TypeError, function() {
+  dtf.formatToParts(s);
+}, &quot;symbol&quot;);
</ins></span></pre></div>
<a id="trunkJSTeststest262testintl402DateTimeFormatprototypeformatToPartsthishasnotinternalthrowsjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/intl402/DateTimeFormat/prototype/formatToParts/this-has-not-internal-throws.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/intl402/DateTimeFormat/prototype/formatToParts/this-has-not-internal-throws.js                                (rev 0)
+++ trunk/JSTests/test262/test/intl402/DateTimeFormat/prototype/formatToParts/this-has-not-internal-throws.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,17 @@
</span><ins>+// Copyright 2016 Leonardo Balter. All rights reserved.
+// This code is governed by the license found in the LICENSE file.
+
+/*---
+description: &gt;
+  Throws a TypeError if this is not a DateTimeFormat object
+---*/
+
+var formatToParts = Intl.DateTimeFormat.prototype.formatToParts;
+
+assert.throws(TypeError, function() {
+  formatToParts.call({});
+}, &quot;{}&quot;);
+
+assert.throws(TypeError, function() {
+  formatToParts.call(new Date());
+}, &quot;new Date()&quot;);
</ins></span></pre></div>
<a id="trunkJSTeststest262testintl402DateTimeFormatprototypeformatToPartsthisisnotobjectthrowsjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/intl402/DateTimeFormat/prototype/formatToParts/this-is-not-object-throws.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/intl402/DateTimeFormat/prototype/formatToParts/this-is-not-object-throws.js                                (rev 0)
+++ trunk/JSTests/test262/test/intl402/DateTimeFormat/prototype/formatToParts/this-is-not-object-throws.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,38 @@
</span><ins>+// Copyright 2016 Leonardo Balter. All rights reserved.
+// This code is governed by the license found in the LICENSE file.
+
+/*---
+description: Throws a TypeError if this is not Object
+features: [Symbol]
+---*/
+
+var formatToParts = Intl.DateTimeFormat.prototype.formatToParts;
+
+assert.throws(TypeError, function() {
+  formatToParts.call(undefined);
+}, &quot;undefined&quot;);
+
+assert.throws(TypeError, function() {
+  formatToParts.call(null);
+}, &quot;null&quot;);
+
+assert.throws(TypeError, function() {
+  formatToParts.call(42);
+}, &quot;number&quot;);
+
+assert.throws(TypeError, function() {
+  formatToParts.call(&quot;foo&quot;);
+}, &quot;string&quot;);
+
+assert.throws(TypeError, function() {
+  formatToParts.call(false);
+}, &quot;false&quot;);
+
+assert.throws(TypeError, function() {
+  formatToParts.call(true);
+}, &quot;true&quot;);
+
+var s = Symbol('1');
+assert.throws(TypeError, function() {
+  formatToParts.call(s);
+}, &quot;symbol&quot;);
</ins></span></pre></div>
<a id="trunkJSTeststest262testintl402NumberFormatprototypeformatToPartsformatToPartsjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/intl402/NumberFormat/prototype/formatToParts/formatToParts.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/intl402/NumberFormat/prototype/formatToParts/formatToParts.js                                (rev 0)
+++ trunk/JSTests/test262/test/intl402/NumberFormat/prototype/formatToParts/formatToParts.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,17 @@
</span><ins>+// Copyright 2016 Mozilla Corporation. All rights reserved.
+// This code is governed by the license found in the LICENSE file.
+
+/*---
+description: Property type and descriptor. 
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(
+  typeof Intl.NumberFormat.prototype.formatToParts,
+  'function',
+  '`typeof Intl.NumberFormat.prototype.formatToParts` is `function`'
+);
+
+verifyNotEnumerable(Intl.NumberFormat.prototype, 'formatToParts');
+verifyWritable(Intl.NumberFormat.prototype, 'formatToParts');
+verifyConfigurable(Intl.NumberFormat.prototype, 'formatToParts');
</ins></span></pre></div>
<a id="trunkJSTeststest262testintl402NumberFormatprototypeformatToPartslengthjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/intl402/NumberFormat/prototype/formatToParts/length.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/intl402/NumberFormat/prototype/formatToParts/length.js                                (rev 0)
+++ trunk/JSTests/test262/test/intl402/NumberFormat/prototype/formatToParts/length.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,13 @@
</span><ins>+// Copyright 2016 Mozilla Corporation. All rights reserved.
+// This code is governed by the license found in the LICENSE file.
+
+/*---
+description: Intl.NumberFormat.prototype.formatToParts.length. 
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Intl.NumberFormat.prototype.formatToParts.length, 0);
+
+verifyNotEnumerable(Intl.NumberFormat.prototype.formatToParts, &quot;length&quot;);
+verifyNotWritable(Intl.NumberFormat.prototype.formatToParts, &quot;length&quot;);
+verifyConfigurable(Intl.NumberFormat.prototype.formatToParts, &quot;length&quot;);
</ins></span></pre></div>
<a id="trunkJSTeststest262testintl402NumberFormatprototypeformatToPartsmainjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/intl402/NumberFormat/prototype/formatToParts/main.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/intl402/NumberFormat/prototype/formatToParts/main.js                                (rev 0)
+++ trunk/JSTests/test262/test/intl402/NumberFormat/prototype/formatToParts/main.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,65 @@
</span><ins>+// Copyright 2016 Mozilla Corporation. All rights reserved.
+// This code is governed by the license found in the LICENSE file.
+
+/*---
+description: Tests for existance and behavior of Intl.NumberFormat.prototype.formatToParts
+---*/
+
+function reduce(parts) {
+  return parts.map(part =&gt; part.value).join('');
+}
+
+function compareFTPtoFormat(locales, options, value) {
+  const nf = new Intl.NumberFormat(locales, options);
+  assert.sameValue(
+    nf.format(value),
+    reduce(nf.formatToParts(value)),
+    `Expected the same value for value ${value},
+     locales: ${locales} and options: ${options}`
+  );
+}
+
+const num1 = 123456.789;
+const num2 = 0.123;
+
+compareFTPtoFormat();
+compareFTPtoFormat('pl');
+compareFTPtoFormat(['pl']);
+compareFTPtoFormat([]);
+compareFTPtoFormat(['de'], undefined, 0);
+compareFTPtoFormat(['de'], undefined, -10);
+compareFTPtoFormat(['de'], undefined, 25324234235);
+compareFTPtoFormat(['de'], undefined, num1);
+compareFTPtoFormat(['de'], {
+  style: 'percent'
+}, num2);
+compareFTPtoFormat(['de'], {
+  style: 'currency',
+  currency: 'EUR'
+}, num1);
+compareFTPtoFormat(['de'], {
+  style: 'currency',
+  currency: 'EUR',
+  currencyDisplay: 'code'
+}, num1);
+compareFTPtoFormat(['de'], {
+  useGrouping: true
+}, num1);
+compareFTPtoFormat(['de'], {
+  useGrouping: false
+}, num1);
+compareFTPtoFormat(['de'], {
+  minimumIntegerDigits: 2
+}, num2);
+compareFTPtoFormat(['de'], {
+  minimumFractionDigits: 6
+}, num2);
+compareFTPtoFormat(['de'], {
+  maximumFractionDigits: 1
+}, num2);
+compareFTPtoFormat(['de'], {
+  maximumSignificantDigits: 3
+}, num1);
+compareFTPtoFormat(['de'], {
+  maximumSignificantDigits: 5
+}, num1);
</ins></span></pre></div>
<a id="trunkJSTeststest262testintl402NumberFormatprototypeformatToPartsnamejs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/intl402/NumberFormat/prototype/formatToParts/name.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/intl402/NumberFormat/prototype/formatToParts/name.js                                (rev 0)
+++ trunk/JSTests/test262/test/intl402/NumberFormat/prototype/formatToParts/name.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,15 @@
</span><ins>+// Copyright 2016 Mozilla Corporation. All rights reserved.
+// This code is governed by the license found in the LICENSE file.
+
+/*---
+description: Intl.NumberFormat.prototype.formatToParts.name value and descriptor. 
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Intl.NumberFormat.prototype.formatToParts.name, 'formatToParts',
+  'The value of `Intl.NumberFormat.prototype.formatToParts.name` is `&quot;formatToParts&quot;`'
+);
+
+verifyNotEnumerable(Intl.NumberFormat.prototype.formatToParts, 'name');
+verifyNotWritable(Intl.NumberFormat.prototype.formatToParts, 'name');
+verifyConfigurable(Intl.NumberFormat.prototype.formatToParts, 'name');
</ins></span></pre></div>
<a id="trunkJSTeststest262testintl402NumberFormatprototypeformatToPartsreturnabrupttonumberjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/intl402/NumberFormat/prototype/formatToParts/return-abrupt-tonumber.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/intl402/NumberFormat/prototype/formatToParts/return-abrupt-tonumber.js                                (rev 0)
+++ trunk/JSTests/test262/test/intl402/NumberFormat/prototype/formatToParts/return-abrupt-tonumber.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,40 @@
</span><ins>+// Copyright 2016 Mozilla Corporation. All rights reserved.
+// This code is governed by the license found in the LICENSE file.
+//
+/*---
+description: &gt;
+  Return abrupt completions from ToNumber(date)
+info: |
+  Intl.NumberFormat.prototype.formatToParts ([ value ])
+
+  5. Let _x_ be ? ToNumber(_value_).
+features: [Symbol]
+---*/
+
+var obj1 = {
+  valueOf: function() {
+    throw new Test262Error();
+  }
+};
+
+var obj2 = {
+  toString: function() {
+    throw new Test262Error();
+  }
+};
+
+var nf = new Intl.NumberFormat([&quot;pt-BR&quot;]);
+
+assert.throws(Test262Error, function() {
+  nf.formatToParts(obj1);
+}, &quot;valueOf&quot;);
+
+assert.throws(Test262Error, function() {
+  nf.formatToParts(obj2);
+}, &quot;toString&quot;);
+
+var s = Symbol('1');
+assert.throws(TypeError, function() {
+  nf.formatToParts(s);
+}, &quot;symbol&quot;);
+
</ins></span></pre></div>
<a id="trunkJSTeststest262testintl402NumberFormatprototypeformatToPartsthishasnotinternalthrowsjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/intl402/NumberFormat/prototype/formatToParts/this-has-not-internal-throws.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/intl402/NumberFormat/prototype/formatToParts/this-has-not-internal-throws.js                                (rev 0)
+++ trunk/JSTests/test262/test/intl402/NumberFormat/prototype/formatToParts/this-has-not-internal-throws.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,17 @@
</span><ins>+// Copyright 2016 Mozilla Corporation. All rights reserved.
+// This code is governed by the license found in the LICENSE file.
+
+/*---
+description: &gt;
+  Throws a TypeError if this is not a NumberFormat object
+---*/
+
+var formatToParts = Intl.NumberFormat.prototype.formatToParts;
+
+assert.throws(TypeError, function() {
+  formatToParts.call({});
+}, &quot;{}&quot;);
+
+assert.throws(TypeError, function() {
+  formatToParts.call(new Number());
+}, &quot;new Number()&quot;);
</ins></span></pre></div>
<a id="trunkJSTeststest262testintl402NumberFormatprototypeformatToPartsthisisnotobjectthrowsjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/intl402/NumberFormat/prototype/formatToParts/this-is-not-object-throws.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/intl402/NumberFormat/prototype/formatToParts/this-is-not-object-throws.js                                (rev 0)
+++ trunk/JSTests/test262/test/intl402/NumberFormat/prototype/formatToParts/this-is-not-object-throws.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,39 @@
</span><ins>+// Copyright 2016 Mozilla Corporation. All rights reserved.
+// This code is governed by the license found in the LICENSE file.
+
+/*---
+description: Throws a TypeError if this is not Object
+features: [Symbol]
+---*/
+
+var formatToParts = Intl.NumberFormat.prototype.formatToParts;
+
+assert.throws(TypeError, function() {
+  formatToParts.call(undefined);
+}, &quot;undefined&quot;);
+
+assert.throws(TypeError, function() {
+  formatToParts.call(null);
+}, &quot;null&quot;);
+
+assert.throws(TypeError, function() {
+  formatToParts.call(42);
+}, &quot;number&quot;);
+
+assert.throws(TypeError, function() {
+  formatToParts.call(&quot;foo&quot;);
+}, &quot;string&quot;);
+
+assert.throws(TypeError, function() {
+  formatToParts.call(false);
+}, &quot;false&quot;);
+
+assert.throws(TypeError, function() {
+  formatToParts.call(true);
+}, &quot;true&quot;);
+
+var s = Symbol('1');
+assert.throws(TypeError, function() {
+  formatToParts.call(s);
+}, &quot;symbol&quot;);
+
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageargumentsobject10610cii2sjs"></a>
<div class="delfile"><h4>Deleted: trunk/JSTests/test262/test/language/arguments-object/10.6-10-c-ii-2-s.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/arguments-object/10.6-10-c-ii-2-s.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/language/arguments-object/10.6-10-c-ii-2-s.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -1,16 +0,0 @@
</span><del>-// Copyright (c) 2012 Ecma International.  All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-es5id: 10.6-10-c-ii-2-s
-description: arguments[i] doesn't map to actual parameters in strict mode
-flags: [onlyStrict]
----*/
-
-  function foo(a,b,c)
-  {
-    arguments[0] = 1; arguments[1] = 'str'; arguments[2] = 2.1;
-    return 10 === a &amp;&amp; 'sss' === b &amp;&amp; 1 === c;
-  }
-
-assert(foo(10,'sss',1), 'foo(10,&quot;sss&quot;,1) !== true');
</del></span></pre></div>
<a id="trunkJSTeststest262testlanguageargumentsobjectunmappedviaparamsdfltjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/arguments-object/unmapped/via-params-dflt.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/arguments-object/unmapped/via-params-dflt.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/arguments-object/unmapped/via-params-dflt.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,28 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-functiondeclarationinstantiation
+es6id: 9.2.12
+description: &gt;
+  Arguments are &quot;unmapped&quot; when paramater list is non-simple due to &quot;default&quot;
+  parameter
+info: |
+  [...]
+  9. Let simpleParameterList be IsSimpleParameterList of formals.
+  [...]
+  22. If argumentsObjectNeeded is true, then
+      a. If strict is true or if simpleParameterList is false, then
+         i. Let ao be CreateUnmappedArgumentsObject(argumentsList).
+      [...]
+---*/
+
+var value;
+
+function dflt(a, b = 0) {
+  arguments[0] = 2;
+  value = a;
+}
+
+dflt(1);
+
+assert.sameValue(value, 1);
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageargumentsobjectunmappedviaparamsdstrjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/arguments-object/unmapped/via-params-dstr.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/arguments-object/unmapped/via-params-dstr.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/arguments-object/unmapped/via-params-dstr.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,28 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-functiondeclarationinstantiation
+es6id: 9.2.12
+description: &gt;
+  Arguments are &quot;unmapped&quot; when paramater list is non-simple due to
+  destructuring pattern
+info: |
+  [...]
+  9. Let simpleParameterList be IsSimpleParameterList of formals.
+  [...]
+  22. If argumentsObjectNeeded is true, then
+      a. If strict is true or if simpleParameterList is false, then
+         i. Let ao be CreateUnmappedArgumentsObject(argumentsList).
+      [...]
+---*/
+
+var value;
+
+function dstr(a, [b]) {
+  arguments[0] = 2;
+  value = a;
+}
+
+dstr(1, []);
+
+assert.sameValue(value, 1);
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageargumentsobjectunmappedviaparamsrestjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/arguments-object/unmapped/via-params-rest.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/arguments-object/unmapped/via-params-rest.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/arguments-object/unmapped/via-params-rest.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,28 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-functiondeclarationinstantiation
+es6id: 9.2.12
+description: &gt;
+  Arguments are &quot;unmapped&quot; when paramater list is non-simple due to &quot;rest&quot;
+  parameter
+info: |
+  [...]
+  9. Let simpleParameterList be IsSimpleParameterList of formals.
+  [...]
+  22. If argumentsObjectNeeded is true, then
+      a. If strict is true or if simpleParameterList is false, then
+         i. Let ao be CreateUnmappedArgumentsObject(argumentsList).
+      [...]
+---*/
+
+var value;
+
+function rest(a, ...b) {
+  arguments[0] = 2;
+  value = a;
+}
+
+rest(1);
+
+assert.sameValue(value, 1);
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageargumentsobjectunmappedviastrictjsfromrev204850trunkJSTeststest262testlanguageargumentsobject10610cii2sjs"></a>
<div class="copfile"><h4>Copied: trunk/JSTests/test262/test/language/arguments-object/unmapped/via-strict.js (from rev 204850, trunk/JSTests/test262/test/language/arguments-object/10.6-10-c-ii-2-s.js) (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/arguments-object/unmapped/via-strict.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/arguments-object/unmapped/via-strict.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,16 @@
</span><ins>+// Copyright (c) 2012 Ecma International.  All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es5id: 10.6-10-c-ii-2-s
+description: arguments[i] doesn't map to actual parameters in strict mode
+flags: [onlyStrict]
+---*/
+
+  function foo(a,b,c)
+  {
+    arguments[0] = 1; arguments[1] = 'str'; arguments[2] = 2.1;
+    return 10 === a &amp;&amp; 'sss' === b &amp;&amp; 1 === c;
+  }
+
+assert(foo(10,'sss',1), 'foo(10,&quot;sss&quot;,1) !== true');
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageblockscopesyntaxredeclarationglobalallowedtoredeclarefunctiondeclarationwithfunctiondeclarationjs"></a>
<div class="delfile"><h4>Deleted: trunk/JSTests/test262/test/language/block-scope/syntax/redeclaration-global/allowed-to-redeclare-function-declaration-with-function-declaration.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/block-scope/syntax/redeclaration-global/allowed-to-redeclare-function-declaration-with-function-declaration.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/language/block-scope/syntax/redeclaration-global/allowed-to-redeclare-function-declaration-with-function-declaration.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -1,10 +0,0 @@
</span><del>-// Copyright (C) 2011 the V8 project authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-/*---
-es6id: 13.1
-description: &gt;
-    redeclaration outermost:
-    allowed to redeclare function declaration with function declaration
----*/
-function f() {} function f() {}
-
</del></span></pre></div>
<a id="trunkJSTeststest262testlanguageevalcodedirectsupercallarrowjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/eval-code/direct/super-call-arrow.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/eval-code/direct/super-call-arrow.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/eval-code/direct/super-call-arrow.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,27 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-scripts-static-semantics-early-errors
+es6id: 15.1.1
+description: &gt;
+  A direct eval in the functon code of an ArrowFunction may not contain
+  SuperCall
+info: |
+  - It is a Syntax Error if StatementList Contains super unless the source code
+    containing super is eval code that is being processed by a direct eval that
+    is contained in function code that is not the function code of an
+    ArrowFunction.
+features: [super, arrow-function]
+---*/
+
+var caught;
+var f = () =&gt; eval('super();');
+
+try {
+  f();
+} catch (err) {
+  caught = err;
+}
+
+assert.sameValue(typeof caught, 'object');
+assert.sameValue(caught.constructor, SyntaxError);
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageevalcodedirectsupercallfnjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/eval-code/direct/super-call-fn.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/eval-code/direct/super-call-fn.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/eval-code/direct/super-call-fn.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,26 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-scripts-static-semantics-early-errors
+es6id: 15.1.1
+description: &gt;
+  A direct eval in the functon code of a non-ArrowFunction may contain
+  SuperCall
+info: |
+  - It is a Syntax Error if StatementList Contains super unless the source code
+    containing super is eval code that is being processed by a direct eval that
+    is contained in function code that is not the function code of an
+    ArrowFunction.
+features: [super]
+---*/
+
+var executed = false;
+function f() {
+  eval('executed = true; super();');
+}
+
+assert.throws(ReferenceError, function() {
+  f();
+});
+
+assert.sameValue(executed, true);
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageevalcodedirectsupercalljs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/eval-code/direct/super-call.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/eval-code/direct/super-call.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/eval-code/direct/super-call.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,24 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-scripts-static-semantics-early-errors
+es6id: 15.1.1
+description: A direct eval in global code may not contain SuperCall
+info: |
+  - It is a Syntax Error if StatementList Contains super unless the source code
+    containing super is eval code that is being processed by a direct eval that
+    is contained in function code that is not the function code of an
+    ArrowFunction.
+features: [super]
+---*/
+
+var caught;
+
+try {
+  eval('super();');
+} catch (err) {
+  caught = err;
+}
+
+assert.sameValue(typeof caught, 'object');
+assert.sameValue(caught.constructor, SyntaxError);
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageevalcodedirectsuperproparrowjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/eval-code/direct/super-prop-arrow.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/eval-code/direct/super-prop-arrow.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/eval-code/direct/super-prop-arrow.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,27 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-scripts-static-semantics-early-errors
+es6id: 15.1.1
+description: &gt;
+  A direct eval in the functon code of an ArrowFunction may not contain
+  SuperProperty
+info: |
+  - It is a Syntax Error if StatementList Contains super unless the source code
+    containing super is eval code that is being processed by a direct eval that
+    is contained in function code that is not the function code of an
+    ArrowFunction.
+features: [super, arrow-function]
+---*/
+
+var caught;
+var f = () =&gt; eval('super.property;');
+
+try {
+  f();
+} catch (err) {
+  caught = err;
+}
+
+assert.sameValue(typeof caught, 'object');
+assert.sameValue(caught.constructor, SyntaxError);
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageevalcodedirectsuperpropmethodjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/eval-code/direct/super-prop-method.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/eval-code/direct/super-prop-method.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/eval-code/direct/super-prop-method.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,33 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-scripts-static-semantics-early-errors
+es6id: 15.1.1
+description: &gt;
+  A direct eval in the functon code of a non-ArrowFunction may contain
+  SuperProperty
+info: |
+  - It is a Syntax Error if StatementList Contains super unless the source code
+    containing super is eval code that is being processed by a direct eval that
+    is contained in function code that is not the function code of an
+    ArrowFunction.
+features: [super]
+---*/
+
+var superProp = null;
+var o = {
+  test262: null,
+  method() {
+    superProp = eval('super.test262;');
+  }
+};
+
+o.method();
+
+assert.sameValue(superProp, undefined);
+
+Object.setPrototypeOf(o, { test262: 262 });
+
+o.method();
+
+assert.sameValue(superProp, 262);
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageevalcodedirectsuperpropjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/eval-code/direct/super-prop.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/eval-code/direct/super-prop.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/eval-code/direct/super-prop.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,24 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-scripts-static-semantics-early-errors
+es6id: 15.1.1
+description: A direct eval in global code may not contain SuperProperty
+info: |
+  - It is a Syntax Error if StatementList Contains super unless the source code
+    containing super is eval code that is being processed by a direct eval that
+    is contained in function code that is not the function code of an
+    ArrowFunction.
+features: [super]
+---*/
+
+var caught;
+
+try {
+  eval('super.property;');
+} catch (err) {
+  caught = err;
+}
+
+assert.sameValue(typeof caught, 'object');
+assert.sameValue(caught.constructor, SyntaxError);
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageevalcodeindirectsupercalljs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/eval-code/indirect/super-call.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/eval-code/indirect/super-call.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/eval-code/indirect/super-call.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,46 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-scripts-static-semantics-early-errors
+es6id: 15.1.1
+description: &gt;
+  An indirect eval may not contain SuperCall
+info: |
+  - It is a Syntax Error if StatementList Contains super unless the source code
+    containing super is eval code that is being processed by a direct eval that
+    is contained in function code that is not the function code of an
+    ArrowFunction.
+features: [super]
+---*/
+
+var caught;
+
+try {
+  (0,eval)('super();');
+} catch (err) {
+  caught = err;
+}
+
+assert.sameValue(typeof caught, 'object', 'object value thrown (global code)');
+assert.sameValue(
+  caught.constructor, SyntaxError, 'SyntaxError thrown (global code)'
+);
+
+caught = null;
+
+try {
+  ({
+    m() {
+      (0,eval)('super();');
+    }
+  }).m();
+} catch (err) {
+  caught = err;
+}
+
+assert.sameValue(
+  typeof caught, 'object', 'object value thrown (function code)'
+);
+assert.sameValue(
+  caught.constructor, SyntaxError, 'SyntaxError thrown (function code)'
+);
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageevalcodeindirectsuperpropjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/eval-code/indirect/super-prop.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/eval-code/indirect/super-prop.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/eval-code/indirect/super-prop.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,46 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-scripts-static-semantics-early-errors
+es6id: 15.1.1
+description: &gt;
+  An indirect eval may not contain SuperProperty
+info: |
+  - It is a Syntax Error if StatementList Contains super unless the source code
+    containing super is eval code that is being processed by a direct eval that
+    is contained in function code that is not the function code of an
+    ArrowFunction.
+features: [super]
+---*/
+
+var caught;
+
+try {
+  (0,eval)('super.property;');
+} catch (err) {
+  caught = err;
+}
+
+assert.sameValue(typeof caught, 'object', 'object value thrown (global code)');
+assert.sameValue(
+  caught.constructor, SyntaxError, 'SyntaxError thrown (global code)'
+);
+
+caught = null;
+
+try {
+  ({
+    m() {
+      (0,eval)('super.property;');
+    }
+  }).m();
+} catch (err) {
+  caught = err;
+}
+
+assert.sameValue(
+  typeof caught, 'object', 'object value thrown (function code)'
+);
+assert.sameValue(
+  caught.constructor, SyntaxError, 'SyntaxError thrown (function code)'
+);
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsarrowfunctionparamstrailingcommalengthjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/arrow-function/params-trailing-comma-length.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/arrow-function/params-trailing-comma-length.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/arrow-function/params-trailing-comma-length.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,21 @@
</span><ins>+// Copyright (C) 2016 Jeff Morrison. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+description: &gt;
+  Check that trailing commas don't affect the .length property of arrow
+  functions.
+info: http://jeffmo.github.io/es-trailing-function-commas/
+author: Jeff Morrison &lt;lbljeffmo@gmail.com&gt;
+---*/
+
+assert.sameValue(
+  ((a,) =&gt; {}).length,
+  1,
+  &quot;Arrow function with 1 arg + trailing comma reports incorrect .length!&quot;
+);
+
+assert.sameValue(
+  ((a,b,) =&gt; {}).length,
+  2,
+  &quot;Arrow function with 2 args + trailing comma reports incorrect .length!&quot;
+);
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsarrowfunctionparamstrailingcommajs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/arrow-function/params-trailing-comma.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/arrow-function/params-trailing-comma.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/arrow-function/params-trailing-comma.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,9 @@
</span><ins>+// Copyright (C) 2016 Jeff Morrison. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+description: Check that trailing commas are permitted in arrow function argument lists
+info: http://jeffmo.github.io/es-trailing-function-commas/
+author: Jeff Morrison &lt;lbljeffmo@gmail.com&gt;
+---*/
+((a,) =&gt; {});
+((a,b,) =&gt; {});
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsasyncarrowfunctionarrowreturnspromisejs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/async-arrow-function/arrow-returns-promise.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/async-arrow-function/arrow-returns-promise.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/async-arrow-function/arrow-returns-promise.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,17 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson &lt;brian.terlson@microsoft.com&gt;
+esid: pending
+description: &gt;
+  Async arrow functions return promises
+flags: [async]
+---*/
+
+var p = (async () =&gt; await 1 + await 2)();
+assert(Object.getPrototypeOf(p) === Promise.prototype);
+p.then(function (v) {
+  assert.sameValue(v, 3);
+  $DONE();
+}, $DONE);
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsasyncarrowfunctionearlyerrorsarrowNSPLwithUSDjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/async-arrow-function/early-errors-arrow-NSPL-with-USD.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/async-arrow-function/early-errors-arrow-NSPL-with-USD.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/async-arrow-function/early-errors-arrow-NSPL-with-USD.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,12 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson &lt;brian.terlson@microsoft.com&gt;
+esid: pending
+description: &gt;
+  It is a Syntax Error if ContainsUseStrict of AsyncConciseBody is *true* and IsSimpleParameterList of ArrowParameters is *false*.
+negative: SyntaxError
+---*/
+
+async (x = 1) =&gt; {&quot;use strict&quot;}
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsasyncarrowfunctionearlyerrorsarrowargumentsinformalparametersjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/async-arrow-function/early-errors-arrow-arguments-in-formal-parameters.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/async-arrow-function/early-errors-arrow-arguments-in-formal-parameters.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/async-arrow-function/early-errors-arrow-arguments-in-formal-parameters.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,13 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson &lt;brian.terlson@microsoft.com&gt;
+esid: pending
+description: It is a SyntaxError if FormalParameters contains arguments
+negative: SyntaxError
+flags: [onlyStrict]
+---*/
+
+async(arguments) =&gt; {  }
+
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsasyncarrowfunctionearlyerrorsarrowawaitinformalsdefaultjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/async-arrow-function/early-errors-arrow-await-in-formals-default.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/async-arrow-function/early-errors-arrow-await-in-formals-default.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/async-arrow-function/early-errors-arrow-await-in-formals-default.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,10 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson &lt;brian.terlson@microsoft.com&gt;
+esid: pending
+description: It is a SyntaxError if FormalParameters' default expressions contains await
+negative: SyntaxError
+---*/
+async(x = await) =&gt; {  }
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsasyncarrowfunctionearlyerrorsarrowawaitinformalsjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/async-arrow-function/early-errors-arrow-await-in-formals.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/async-arrow-function/early-errors-arrow-await-in-formals.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/async-arrow-function/early-errors-arrow-await-in-formals.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,10 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson &lt;brian.terlson@microsoft.com&gt;
+esid: pending
+description: It is a SyntaxError if FormalParameters contains await
+negative: SyntaxError
+---*/
+async(await) =&gt; {  }
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsasyncarrowfunctionearlyerrorsarrowbodycontainssupercalljs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/async-arrow-function/early-errors-arrow-body-contains-super-call.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/async-arrow-function/early-errors-arrow-body-contains-super-call.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/async-arrow-function/early-errors-arrow-body-contains-super-call.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,11 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson &lt;brian.terlson@microsoft.com&gt;
+esid: pending
+description: It is a syntax error if AsyncFunctionBody contains SuperCall is true
+negative: SyntaxError
+---*/
+
+async(foo) =&gt; { super() };
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsasyncarrowfunctionearlyerrorsarrowbodycontainssuperpropertyjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/async-arrow-function/early-errors-arrow-body-contains-super-property.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/async-arrow-function/early-errors-arrow-body-contains-super-property.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/async-arrow-function/early-errors-arrow-body-contains-super-property.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,11 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson &lt;brian.terlson@microsoft.com&gt;
+esid: pending
+description: It is a syntax error if AsyncFunctionBody contains SuperProperty is true
+negative: SyntaxError
+---*/
+
+async(foo) =&gt; { super.prop };
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsasyncarrowfunctionearlyerrorsarrowduplicateparametersjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/async-arrow-function/early-errors-arrow-duplicate-parameters.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/async-arrow-function/early-errors-arrow-duplicate-parameters.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/async-arrow-function/early-errors-arrow-duplicate-parameters.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,13 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson &lt;brian.terlson@microsoft.com&gt;
+esid: pending
+description: &gt;
+  If strict mode, early error rules for StrictFormalParameters are applied
+negative: SyntaxError
+flags: [onlyStrict]
+---*/
+
+async(a, a) =&gt; { }
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsasyncarrowfunctionearlyerrorsarrowevalinformalparametersjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/async-arrow-function/early-errors-arrow-eval-in-formal-parameters.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/async-arrow-function/early-errors-arrow-eval-in-formal-parameters.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/async-arrow-function/early-errors-arrow-eval-in-formal-parameters.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,12 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson &lt;brian.terlson@microsoft.com&gt;
+esid: pending
+description: It is a SyntaxError if FormalParameters contains eval
+negative: SyntaxError
+flags: [onlyStrict]
+---*/
+
+async(eval) =&gt; {  }
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsasyncarrowfunctionearlyerrorsarrowformalsbodyduplicatejs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/async-arrow-function/early-errors-arrow-formals-body-duplicate.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/async-arrow-function/early-errors-arrow-formals-body-duplicate.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/async-arrow-function/early-errors-arrow-formals-body-duplicate.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,11 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson &lt;brian.terlson@microsoft.com&gt;
+esid: pending
+description: It is a SyntaxError if BoundNames of FormalParameters also occurs in the LexicallyDeclaredNames of AsyncFunctionBody
+negative: SyntaxError
+---*/
+
+async(bar) =&gt; { let bar; }
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsasyncarrowfunctionearlyerrorsarrowformalscontainssupercalljs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/async-arrow-function/early-errors-arrow-formals-contains-super-call.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/async-arrow-function/early-errors-arrow-formals-contains-super-call.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/async-arrow-function/early-errors-arrow-formals-contains-super-call.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,11 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson &lt;brian.terlson@microsoft.com&gt;
+esid: pending
+description: It is a syntax error if FormalParameters contains SuperCall is true
+negative: SyntaxError
+---*/
+
+async(foo = super()) =&gt; {}
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsasyncarrowfunctionearlyerrorsarrowformalscontainssuperpropertyjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/async-arrow-function/early-errors-arrow-formals-contains-super-property.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/async-arrow-function/early-errors-arrow-formals-contains-super-property.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/async-arrow-function/early-errors-arrow-formals-contains-super-property.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,11 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson &lt;brian.terlson@microsoft.com&gt;
+esid: pending
+description: It is a syntax error if FormalParameters contains SuperCall is true
+negative: SyntaxError
+---*/
+
+async (foo = super.foo) =&gt; { }
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsasyncfunctionearlyerrorsexpressionNSPLwithUSDjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/async-function/early-errors-expression-NSPL-with-USD.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/async-function/early-errors-expression-NSPL-with-USD.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/async-function/early-errors-expression-NSPL-with-USD.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,12 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson &lt;brian.terlson@microsoft.com&gt;
+esid: pending
+description: &gt;
+  It is a Syntax Error if ContainsUseStrict of AsyncConciseBody is *true* and IsSimpleParameterList of ArrowParameters is *false*.
+negative: SyntaxError
+---*/
+
+(async function (x = 1) {&quot;use strict&quot;})
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsasyncfunctionearlyerrorsexpressionbindingidentifierargumentsjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/async-function/early-errors-expression-binding-identifier-arguments.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/async-function/early-errors-expression-binding-identifier-arguments.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/async-function/early-errors-expression-binding-identifier-arguments.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,13 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson &lt;brian.terlson@microsoft.com&gt;
+esid: pending
+description: &gt;
+  If the source code matching this production is strict code, it is a Syntax Error if BindingIdentifier is the IdentifierName arguments. 
+negative: SyntaxError
+flags: [onlyStrict]
+---*/
+(async function arguments () {  })
+
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsasyncfunctionearlyerrorsexpressionbindingidentifierevaljs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/async-function/early-errors-expression-binding-identifier-eval.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/async-function/early-errors-expression-binding-identifier-eval.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/async-function/early-errors-expression-binding-identifier-eval.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,12 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson &lt;brian.terlson@microsoft.com&gt;
+esid: pending
+description: &gt;
+  If the source code matching this production is strict code, it is a Syntax Error if BindingIdentifier is the IdentifierName eval. 
+negative: SyntaxError
+flags: [onlyStrict]
+---*/
+(async function eval () { })
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsasyncfunctionearlyerrorsexpressionbodycontainssupercalljs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/async-function/early-errors-expression-body-contains-super-call.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/async-function/early-errors-expression-body-contains-super-call.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/async-function/early-errors-expression-body-contains-super-call.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,11 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson &lt;brian.terlson@microsoft.com&gt;
+esid: pending
+description: It is a syntax error if AsyncFunctionBody contains SuperCall is true
+negative: SyntaxError
+---*/
+
+(async function foo (foo) { super() })
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsasyncfunctionearlyerrorsexpressionbodycontainssuperpropertyjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/async-function/early-errors-expression-body-contains-super-property.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/async-function/early-errors-expression-body-contains-super-property.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/async-function/early-errors-expression-body-contains-super-property.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,12 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson &lt;brian.terlson@microsoft.com&gt;
+esid: pending
+description: It is a syntax error if AsyncFunctionBody contains SuperProperty is true
+negative: SyntaxError
+---*/
+
+(async function foo (foo) { super.prop });
+
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsasyncfunctionearlyerrorsexpressionevalinformalparametersjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/async-function/early-errors-expression-eval-in-formal-parameters.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/async-function/early-errors-expression-eval-in-formal-parameters.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/async-function/early-errors-expression-eval-in-formal-parameters.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,12 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson &lt;brian.terlson@microsoft.com&gt;
+esid: pending
+description: It is a SyntaxError if FormalParameters contains eval in strict mode
+negative: SyntaxError
+flags: [onlyStrict]
+---*/
+
+(async function foo (eval) {  })
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsasyncfunctionearlyerrorsexpressionformalsbodyduplicatejs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/async-function/early-errors-expression-formals-body-duplicate.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/async-function/early-errors-expression-formals-body-duplicate.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/async-function/early-errors-expression-formals-body-duplicate.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,11 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson &lt;brian.terlson@microsoft.com&gt;
+esid: pending
+description: It is a SyntaxError if BoundNames of FormalParameters also occurs in the LexicallyDeclaredNames of AsyncFunctionBody
+negative: SyntaxError
+---*/
+
+(async function foo (bar) { let bar; });
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsasyncfunctionearlyerrorsexpressionformalscontainssupercalljs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/async-function/early-errors-expression-formals-contains-super-call.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/async-function/early-errors-expression-formals-contains-super-call.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/async-function/early-errors-expression-formals-contains-super-call.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,11 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson &lt;brian.terlson@microsoft.com&gt;
+esid: pending
+description: It is a syntax error if FormalParameters contains SuperCall is true
+negative: SyntaxError
+---*/
+
+(async function foo (foo = super()) { var bar; });
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsasyncfunctionearlyerrorsexpressionformalscontainssuperpropertyjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/async-function/early-errors-expression-formals-contains-super-property.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/async-function/early-errors-expression-formals-contains-super-property.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/async-function/early-errors-expression-formals-contains-super-property.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,11 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson &lt;brian.terlson@microsoft.com&gt;
+esid: pending
+description: It is a syntax error if FormalParameters contains SuperCall is true
+negative: SyntaxError
+---*/
+
+(async function foo (foo = super.foo) { var bar; });
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsasyncfunctionearlyerrorsexpressionnotsimpleassignmenttargetjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/async-function/early-errors-expression-not-simple-assignment-target.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/async-function/early-errors-expression-not-simple-assignment-target.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/async-function/early-errors-expression-not-simple-assignment-target.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,12 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson &lt;brian.terlson@microsoft.com&gt;
+esid: pending
+description: &gt;
+  Async function expressions are not a simple assignment target.
+negative: ReferenceError
+---*/
+
+(async function foo() { } = 1)
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsasyncfunctionexpressionreturnspromisejs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/async-function/expression-returns-promise.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/async-function/expression-returns-promise.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/async-function/expression-returns-promise.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,12 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson &lt;brian.terlson@microsoft.com&gt;
+esid: pending
+description: &gt;
+  Async function expressions return promises
+---*/
+
+var p = async function() { }();
+assert(p instanceof Promise, &quot;async functions return promise instances&quot;);
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsasyncfunctionsyntaxexpressionisPrimaryExpressionjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/async-function/syntax-expression-is-PrimaryExpression.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/async-function/syntax-expression-is-PrimaryExpression.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/async-function/syntax-expression-is-PrimaryExpression.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,11 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson &lt;brian.terlson@microsoft.com&gt;
+esid: pending
+description: &gt;
+  Async function expressions are PrimaryExpressions
+---*/
+
+(async function foo() { }.prototype)
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsawaitawaitBindingIdentifieringlobaljs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/await/await-BindingIdentifier-in-global.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/await/await-BindingIdentifier-in-global.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/await/await-BindingIdentifier-in-global.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,13 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson &lt;brian.terlson@microsoft.com&gt;
+esid: pending
+description: &gt;
+  Await is allowed as a binding identifier in global scope
+---*/
+
+async function await() { return 1 }
+assert(await instanceof Function);
+
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsawaitawaitBindingIdentifiernestedjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/await/await-BindingIdentifier-nested.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/await/await-BindingIdentifier-nested.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/await/await-BindingIdentifier-nested.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,15 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson &lt;brian.terlson@microsoft.com&gt;
+esid: pending
+description: &gt;
+  Await is not allowed as an identifier in functions nested in async functions
+negative: SyntaxError
+---*/
+
+async function foo() {
+  function await() {
+  }
+}
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsawaitawaitawaitsthenablenotcallablejs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/await/await-awaits-thenable-not-callable.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/await/await-awaits-thenable-not-callable.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/await/await-awaits-thenable-not-callable.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,20 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson &lt;brian.terlson@microsoft.com&gt;
+esid: pending
+description: &gt;
+  Await can await any thenable. If the thenable's then is not callable,
+  await evaluates to the thenable
+flags: [async]
+---*/
+
+async function foo() {
+  var thenable = { then: 42 };
+  var res = await thenable;
+  assert.sameValue(res, thenable);
+}
+
+foo().then($DONE, $DONE);
+
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsawaitawaitawaitsthenablesthatthrowjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/await/await-awaits-thenables-that-throw.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/await/await-awaits-thenables-that-throw.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/await/await-awaits-thenables-that-throw.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,31 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson &lt;brian.terlson@microsoft.com&gt;
+esid: pending
+description: &gt;
+  Await can await any thenable.
+flags: [async]
+---*/
+
+var error = {};
+var thenable = {
+  then: function (resolve, reject) {
+    throw error;
+  }
+}
+async function foo() {
+  var caught = false;
+  try {
+    await thenable;
+  } catch(e) {
+    caught = true;
+    assert.sameValue(e, error);
+  }
+
+  assert(caught);
+}
+
+foo().then($DONE, $DONE);
+
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsawaitawaitawaitsthenablesjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/await/await-awaits-thenables.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/await/await-awaits-thenables.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/await/await-awaits-thenables.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,21 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson &lt;brian.terlson@microsoft.com&gt;
+esid: pending
+description: &gt;
+  Await can await any thenable.
+flags: [async]
+---*/
+
+var thenable = {
+  then: function (resolve, reject) {
+    resolve(42);
+  }
+}
+async function foo() {
+  assert.sameValue(await thenable, 42);
+}
+
+foo().then($DONE, $DONE);
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsawaitawaitinfunctionjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/await/await-in-function.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/await/await-in-function.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/await/await-in-function.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,12 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson &lt;brian.terlson@microsoft.com&gt;
+esid: pending
+description: &gt;
+  Await is an identifier in a function
+---*/
+
+function foo(await) { return await; }
+assert.sameValue(foo(1), 1);
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsawaitawaitingeneratorjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/await/await-in-generator.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/await/await-in-generator.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/await/await-in-generator.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,12 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson &lt;brian.terlson@microsoft.com&gt;
+esid: pending
+description: &gt;
+  Await in a generator is an identifier
+---*/
+
+function* foo(await) { yield await; };
+assert.sameValue(foo(1).next().value, 1);
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsawaitawaitinglobaljs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/await/await-in-global.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/await/await-in-global.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/await/await-in-global.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,12 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson &lt;brian.terlson@microsoft.com&gt;
+esid: pending
+description: &gt;
+  Await is an identifier in global scope
+---*/
+
+var await = 1;
+assert.sameValue(await, 1);
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsawaitawaitinnestedfunctionjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/await/await-in-nested-function.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/await/await-in-nested-function.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/await/await-in-nested-function.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,20 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson &lt;brian.terlson@microsoft.com&gt;
+esid: pending
+description: &gt;
+  Await is allowed as an identifier in functions nested in async functions
+---*/
+
+var await;
+async function foo() {
+  function bar() {
+    await = 1;
+  }
+  bar();
+}
+foo();
+
+assert.sameValue(await, 1);
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsawaitawaitinnestedgeneratorjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/await/await-in-nested-generator.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/await/await-in-nested-generator.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/await/await-in-nested-generator.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,20 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson &lt;brian.terlson@microsoft.com&gt;
+esid: pending
+description: &gt;
+  Await is allowed as an identifier in generator functions nested in async functions
+---*/
+
+var await;
+async function foo() {
+  function* bar() {
+    await = 1;
+  }
+  bar().next();
+}
+foo();
+
+assert.sameValue(await, 1);
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsawaitawaitthrowsrejectionsjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/await/await-throws-rejections.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/await/await-throws-rejections.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/await/await-throws-rejections.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,23 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson &lt;brian.terlson@microsoft.com&gt;
+esid: pending
+description: &gt;
+  Await throws errors from rejected promises
+---*/
+
+async function foo() {
+  var err = {};
+  var caught = false;
+  try {
+    await Promise.reject(err);
+  } catch(e) {
+    caught = true;
+    assert.sameValue(e, err);
+  }
+
+  assert(caught);
+}
+
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsawaitearlyerrorsawaitnotsimpleassignmenttargetjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/await/early-errors-await-not-simple-assignment-target.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/await/early-errors-await-not-simple-assignment-target.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/await/early-errors-await-not-simple-assignment-target.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,14 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson &lt;brian.terlson@microsoft.com&gt;
+esid: pending
+description: &gt;
+  await is not a simple assignment target and cannot be assigned to.
+negative: ReferenceError
+---*/
+
+async function foo() {
+  (await 1) = 1;
+}
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsawaitnooperandjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/await/no-operand.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/await/no-operand.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/await/no-operand.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,14 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson &lt;brian.terlson@microsoft.com&gt;
+esid: pending
+description: &gt;
+  await requries an operand.
+negative: SyntaxError
+---*/
+
+async function foo() {
+  await;
+}
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsawaitsyntaxawaithasUnaryExpressionwithMultiplicativeExpressionjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/await/syntax-await-has-UnaryExpression-with-MultiplicativeExpression.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/await/syntax-await-has-UnaryExpression-with-MultiplicativeExpression.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/await/syntax-await-has-UnaryExpression-with-MultiplicativeExpression.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,17 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson &lt;brian.terlson@microsoft.com&gt;
+esid: pending
+description: &gt;
+  Await's operand is a UnaryExpression
+flags: [async]
+---*/
+
+async function foo() {
+  let x = 2;
+  let y = await Promise.resolve(2) * x
+  assert.sameValue(y, 4);
+}
+foo().then($DONE, $DONE);
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsawaitsyntaxawaithasUnaryExpressionjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/await/syntax-await-has-UnaryExpression.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/await/syntax-await-has-UnaryExpression.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/await/syntax-await-has-UnaryExpression.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,18 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson &lt;brian.terlson@microsoft.com&gt;
+esid: pending
+description: &gt;
+  Await's operand is a UnaryExpression
+flags: [async]
+---*/
+
+async function foo() {
+  let x = 1;
+  let y = await x++;
+  assert.sameValue(y, 1);
+  assert.sameValue(x, 2);
+}
+foo().then($DONE, $DONE);
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionscalltrailingcommajs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/call/trailing-comma.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/call/trailing-comma.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/call/trailing-comma.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,13 @@
</span><ins>+// Copyright (C) 2016 Jeff Morrison. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+description: &gt;
+  Check that trailing commas are not permitted after spread arguments
+  in a call expression.
+info: http://jeffmo.github.io/es-trailing-function-commas/
+author: Jeff Morrison &lt;lbljeffmo@gmail.com&gt;
+negative: SyntaxError
+---*/
+
+function foo() {}
+foo(...[],);
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsfunctionargumentswithargumentsfnjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/function/arguments-with-arguments-fn.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/function/arguments-with-arguments-fn.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/function/arguments-with-arguments-fn.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,30 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-functiondeclarationinstantiation
+es6id: 9.2.12
+description: &gt;
+  Arguments object is created even when the body contains a lexically-scoped
+  binding named &quot;arguments&quot;
+info: |
+  [...]
+  19. Else if &quot;arguments&quot; is an element of parameterNames, then
+      a. Let argumentsObjectNeeded be false.
+  20. Else if hasParameterExpressions is false, then
+      a. If &quot;arguments&quot; is an element of functionNames or if &quot;arguments&quot; is an
+         element of lexicalNames, then
+         i. Let argumentsObjectNeeded be false.
+  [...]
+flags: [noStrict]
+---*/
+
+var args;
+
+var f = function(x = args = arguments) {
+  function arguments() {}
+};
+
+f();
+
+assert.sameValue(typeof args, 'object');
+assert.sameValue(args.length, 0);
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsfunctionargumentswithargumentslexjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/function/arguments-with-arguments-lex.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/function/arguments-with-arguments-lex.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/function/arguments-with-arguments-lex.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,30 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-functiondeclarationinstantiation
+es6id: 9.2.12
+description: &gt;
+  Arguments object is created even when the body contains a function named
+  &quot;arguments&quot;
+info: |
+  [...]
+  19. Else if &quot;arguments&quot; is an element of parameterNames, then
+      a. Let argumentsObjectNeeded be false.
+  20. Else if hasParameterExpressions is false, then
+      a. If &quot;arguments&quot; is an element of functionNames or if &quot;arguments&quot; is an
+         element of lexicalNames, then
+         i. Let argumentsObjectNeeded be false.
+  [...]
+flags: [noStrict]
+---*/
+
+var args;
+
+var f = function (x = args = arguments) {
+  let arguments;
+};
+
+f();
+
+assert.sameValue(typeof args, 'object');
+assert.sameValue(args.length, 0);
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsfunctionparamstrailingcommaargumentsjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/function/params-trailing-comma-arguments.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/function/params-trailing-comma-arguments.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/function/params-trailing-comma-arguments.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,29 @@
</span><ins>+// Copyright (C) 2016 Jeff Morrison. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+description: &gt;
+  Check that trailing commas do not affect `arguments` in function
+  expression bodies.
+info: http://jeffmo.github.io/es-trailing-function-commas/
+author: Jeff Morrison &lt;lbljeffmo@gmail.com&gt;
+---*/
+
+var f1 = function() {
+  assert.sameValue(
+    arguments.length,
+    1,
+    &quot;Function expression called with 1 arg + trailing comma reports &quot; +
+    &quot;invalid arguments.length!&quot;
+  );
+};
+f1(1,);
+
+var f2 = function() {
+  assert.sameValue(
+    arguments.length,
+    2,
+    &quot;Function expression called with 2 arg + trailing comma reports &quot; +
+    &quot;invalid arguments.length!&quot;
+  );
+};
+f2(1,2,);
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsfunctionparamstrailingcommalengthjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/function/params-trailing-comma-length.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/function/params-trailing-comma-length.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/function/params-trailing-comma-length.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,21 @@
</span><ins>+// Copyright (C) 2016 Jeff Morrison. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+description: &gt;
+  Check that trailing commas don't affect the .length property of
+  function expressions.
+info: http://jeffmo.github.io/es-trailing-function-commas/
+author: Jeff Morrison &lt;lbljeffmo@gmail.com&gt;
+---*/
+
+assert.sameValue(
+  (function(a,) {}).length,
+  1,
+  &quot;Function expression with 1 arg + trailing comma reports incorrect .length!&quot;
+);
+
+assert.sameValue(
+  (function(a,b,) {}).length,
+  2,
+  &quot;Function expression with 2 args + trailing comma reports incorrect .length!&quot;
+);
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsfunctionparamstrailingcommajs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/function/params-trailing-comma.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/function/params-trailing-comma.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/function/params-trailing-comma.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,11 @@
</span><ins>+// Copyright (C) 2016 Jeff Morrison. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+description: &gt;
+  Check that trailing commas are permitted in function expression
+  argument lists.
+info: http://jeffmo.github.io/es-trailing-function-commas/
+author: Jeff Morrison &lt;lbljeffmo@gmail.com&gt;
+---*/
+var one = (0, function(a,) {});
+var two = (0, function(a,b,) {});
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsgeneratorsargumentswithargumentsfnjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/generators/arguments-with-arguments-fn.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/generators/arguments-with-arguments-fn.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/generators/arguments-with-arguments-fn.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,30 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-functiondeclarationinstantiation
+es6id: 9.2.12
+description: &gt;
+  Arguments object is created even when the body contains a lexically-scoped
+  binding named &quot;arguments&quot;
+info: |
+  [...]
+  19. Else if &quot;arguments&quot; is an element of parameterNames, then
+      a. Let argumentsObjectNeeded be false.
+  20. Else if hasParameterExpressions is false, then
+      a. If &quot;arguments&quot; is an element of functionNames or if &quot;arguments&quot; is an
+         element of lexicalNames, then
+         i. Let argumentsObjectNeeded be false.
+  [...]
+flags: [noStrict]
+---*/
+
+var args;
+
+var g = function* (x = args = arguments) {
+  function arguments() {}
+};
+
+g().next();
+
+assert.sameValue(typeof args, 'object');
+assert.sameValue(args.length, 0);
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsgeneratorsargumentswithargumentslexjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/generators/arguments-with-arguments-lex.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/generators/arguments-with-arguments-lex.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/generators/arguments-with-arguments-lex.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,30 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-functiondeclarationinstantiation
+es6id: 9.2.12
+description: &gt;
+  Arguments object is created even when the body contains a function named
+  &quot;arguments&quot;
+info: |
+  [...]
+  19. Else if &quot;arguments&quot; is an element of parameterNames, then
+      a. Let argumentsObjectNeeded be false.
+  20. Else if hasParameterExpressions is false, then
+      a. If &quot;arguments&quot; is an element of functionNames or if &quot;arguments&quot; is an
+         element of lexicalNames, then
+         i. Let argumentsObjectNeeded be false.
+  [...]
+flags: [noStrict]
+---*/
+
+var args;
+
+var g  = function* (x = args = arguments) {
+  let arguments;
+};
+
+g().next();
+
+assert.sameValue(typeof args, 'object');
+assert.sameValue(args.length, 0);
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsgeneratorsparamstrailingcommaargumentsjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/generators/params-trailing-comma-arguments.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/generators/params-trailing-comma-arguments.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/generators/params-trailing-comma-arguments.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,29 @@
</span><ins>+// Copyright (C) 2016 Jeff Morrison. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+description: &gt;
+  Check that trailing commas do not affect `arguments` in function
+  expression bodies.
+info: http://jeffmo.github.io/es-trailing-function-commas/
+author: Jeff Morrison &lt;lbljeffmo@gmail.com&gt;
+---*/
+
+var f1 = function*() {
+  assert.sameValue(
+    arguments.length,
+    1,
+    &quot;Function expression called with 1 arg + trailing comma reports &quot; +
+    &quot;invalid arguments.length!&quot;
+  );
+};
+f1(1,).next();
+
+var f2 = function*() {
+  assert.sameValue(
+    arguments.length,
+    2,
+    &quot;Function expression called with 2 arg + trailing comma reports &quot; +
+    &quot;invalid arguments.length!&quot;
+  );
+};
+f2(1,2,).next();
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsgeneratorsparamstrailingcommalengthjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/generators/params-trailing-comma-length.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/generators/params-trailing-comma-length.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/generators/params-trailing-comma-length.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,21 @@
</span><ins>+// Copyright (C) 2016 Jeff Morrison. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+description: &gt;
+  Check that trailing commas don't affect the .length property of generator
+  function expressions.
+info: http://jeffmo.github.io/es-trailing-function-commas/
+author: Jeff Morrison &lt;lbljeffmo@gmail.com&gt;
+---*/
+
+assert.sameValue(
+  (function*(a,) {}).length,
+  1,
+  &quot;Generator expression with 1 arg + trailing comma reports incorrect .length!&quot;
+);
+
+assert.sameValue(
+  (function*(a,b,) {}).length,
+  2,
+  &quot;Generator expression with 2 args + trailing comma reports incorrect .length!&quot;
+);
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsgeneratorsparamstrailingcommajs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/generators/params-trailing-comma.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/generators/params-trailing-comma.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/generators/params-trailing-comma.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,9 @@
</span><ins>+// Copyright (C) 2016 Jeff Morrison. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+description: Check that trailing commas are permitted in generator function argument lists
+info: http://jeffmo.github.io/es-trailing-function-commas/
+author: Jeff Morrison &lt;lbljeffmo@gmail.com&gt;
+---*/
+var one = (0, function*(a,) {});
+var two = (0, function*(a,b,) {});
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsobjectcomputedpropertyevaluationorderjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/object/computed-property-evaluation-order.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/object/computed-property-evaluation-order.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/object/computed-property-evaluation-order.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,26 @@
</span><ins>+// Copyright (C) 2016 Michael Ficarra. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-object-initializer-runtime-semantics-propertydefinitionevaluation
+description: &gt;
+    Evaluation of PropertyDefinitionList occurs in order, and each
+    PropertyDefinition's PropertyName is evaluated before its
+    AssignmentExpression.
+---*/
+
+var counter = 0;
+var o = {
+  [++counter]: ++counter,
+  [++counter]: ++counter,
+  [++counter]: ++counter,
+}
+
+var keys = Object.keys(o);
+
+assert.sameValue(keys.length, 3, '3 PropertyDefinitions should result in 3 properties');
+assert.sameValue(keys[0], '1');
+assert.sameValue(o[keys[0]], 2);
+assert.sameValue(keys[1], '3');
+assert.sameValue(o[keys[1]], 4);
+assert.sameValue(keys[2], '5');
+assert.sameValue(o[keys[2]], 6);
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsobjectmethoddefinitionasyncsupercallbodyjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/object/method-definition/async-super-call-body.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/object/method-definition/async-super-call-body.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/object/method-definition/async-super-call-body.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,26 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson &lt;brian.terlson@microsoft.com&gt;
+esid: pending
+description: &gt;
+  Super calls work in body of async methods
+flags: [async]
+---*/
+
+var sup = {
+  method() {
+    return 'sup';
+  }
+}
+
+var child = {
+  __proto__: sup,
+  async method() {
+    var x = await super.method();
+    assert.sameValue(x, 'sup');
+  }
+}
+
+child.method().then($DONE, $DONE);
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsobjectmethoddefinitionasyncsupercallparamjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/object/method-definition/async-super-call-param.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/object/method-definition/async-super-call-param.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/object/method-definition/async-super-call-param.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,27 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson &lt;brian.terlson@microsoft.com&gt;
+esid: pending
+description: &gt;
+  Super calls work in parameter list of async methods
+flags: [async]
+---*/
+
+var sup = {
+  method() {
+    return 'sup';
+  }
+}
+
+var child = {
+  __proto__: sup,
+  async method(x = super.method()) {
+    var y = await x;
+    assert.sameValue(y, 'sup');
+  }
+}
+
+child.method().then($DONE, $DONE);
+
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsobjectmethoddefinitionearlyerrorsobjectmethodNSPLwithUSDjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/object/method-definition/early-errors-object-method-NSPL-with-USD.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/object/method-definition/early-errors-object-method-NSPL-with-USD.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/object/method-definition/early-errors-object-method-NSPL-with-USD.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,13 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson &lt;brian.terlson@microsoft.com&gt;
+esid: pending
+description: &gt;
+  It is a Syntax Error if ContainsUseStrict of AsyncConciseBody is *true* and IsSimpleParameterList of ArrowParameters is *false*.
+negative: SyntaxError
+---*/
+({
+  foo(x = 1) {&quot;use strict&quot;}
+});
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsobjectmethoddefinitionearlyerrorsobjectmethodargumentsinformalparametersjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/object/method-definition/early-errors-object-method-arguments-in-formal-parameters.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/object/method-definition/early-errors-object-method-arguments-in-formal-parameters.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/object/method-definition/early-errors-object-method-arguments-in-formal-parameters.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,13 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson &lt;brian.terlson@microsoft.com&gt;
+esid: pending
+description: It is a SyntaxError if FormalParameters contains arguments
+negative: SyntaxError
+flags: [onlyStrict]
+---*/
+!{
+  async foo (arguments) { }
+}
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsobjectmethoddefinitionearlyerrorsobjectmethodawaitinformalsdefaultjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/object/method-definition/early-errors-object-method-await-in-formals-default.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/object/method-definition/early-errors-object-method-await-in-formals-default.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/object/method-definition/early-errors-object-method-await-in-formals-default.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,13 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson &lt;brian.terlson@microsoft.com&gt;
+esid: pending
+description: It is a SyntaxError if FormalParameters' default expressions contains await
+negative: SyntaxError
+---*/
+!{
+  async foo (x = await) {  }
+}
+
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsobjectmethoddefinitionearlyerrorsobjectmethodawaitinformalsjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/object/method-definition/early-errors-object-method-await-in-formals.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/object/method-definition/early-errors-object-method-await-in-formals.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/object/method-definition/early-errors-object-method-await-in-formals.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,12 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson &lt;brian.terlson@microsoft.com&gt;
+esid: pending
+description: It is a SyntaxError if FormalParameters contains await
+negative: SyntaxError
+---*/
+!{
+  async foo (await) {  }
+}
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsobjectmethoddefinitionearlyerrorsobjectmethodbodycontainssupercalljs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/object/method-definition/early-errors-object-method-body-contains-super-call.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/object/method-definition/early-errors-object-method-body-contains-super-call.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/object/method-definition/early-errors-object-method-body-contains-super-call.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,12 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson &lt;brian.terlson@microsoft.com&gt;
+esid: pending
+description: It is a SyntaxError if AsyncFunctionBody contains SuperCall is true
+negative: SyntaxError
+---*/
+!{
+  async foo () { super() }
+}
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsobjectmethoddefinitionearlyerrorsobjectmethodduplicateparametersjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/object/method-definition/early-errors-object-method-duplicate-parameters.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/object/method-definition/early-errors-object-method-duplicate-parameters.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/object/method-definition/early-errors-object-method-duplicate-parameters.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,13 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson &lt;brian.terlson@microsoft.com&gt;
+esid: pending
+description: &gt;
+  Early error rules for StrictFormalParameters are applied
+negative: SyntaxError
+---*/
+!{
+  async foo(a, a) { }
+}
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsobjectmethoddefinitionearlyerrorsobjectmethodevalinformalparametersjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/object/method-definition/early-errors-object-method-eval-in-formal-parameters.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/object/method-definition/early-errors-object-method-eval-in-formal-parameters.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/object/method-definition/early-errors-object-method-eval-in-formal-parameters.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,13 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson &lt;brian.terlson@microsoft.com&gt;
+esid: pending
+description: It is a SyntaxError if FormalParameters contains eval in strict mode
+negative: SyntaxError
+flags: [onlyStrict]
+---*/
+!{
+  async foo(eval) { }
+}
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsobjectmethoddefinitionearlyerrorsobjectmethodformalsbodyduplicatejs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/object/method-definition/early-errors-object-method-formals-body-duplicate.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/object/method-definition/early-errors-object-method-formals-body-duplicate.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/object/method-definition/early-errors-object-method-formals-body-duplicate.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,13 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson &lt;brian.terlson@microsoft.com&gt;
+esid: pending
+description: It is a SyntaxError if BoundNames of FormalParameters also occurs in the LexicallyDeclaredNames of AsyncFunctionBody
+negative: SyntaxError
+---*/
+
+!{
+  async function foo(bar) { let bar; }
+}
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsobjectmethoddefinitionearlyerrorsobjectmethodformalscontainssupercalljs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/object/method-definition/early-errors-object-method-formals-contains-super-call.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/object/method-definition/early-errors-object-method-formals-contains-super-call.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/object/method-definition/early-errors-object-method-formals-contains-super-call.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,12 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson &lt;brian.terlson@microsoft.com&gt;
+esid: pending
+description: It is a syntax error if FormalParameters contains SuperCall is true
+negative: SyntaxError
+---*/
+!{
+  async foo(foo = super()) { }
+}
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsobjectmethoddefinitionobjectmethodreturnspromisejs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/object/method-definition/object-method-returns-promise.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/object/method-definition/object-method-returns-promise.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/object/method-definition/object-method-returns-promise.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,15 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson &lt;brian.terlson@microsoft.com&gt;
+esid: pending
+description: &gt;
+  Async function method definitions return promises
+---*/
+var obj = {
+  async method() {}
+}
+var p = obj.method();
+assert(p instanceof Promise, &quot;async functions return promise instances&quot;);
+
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsobjectmethoddefinitionparamstrailingcommaargumentsjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/object/method-definition/params-trailing-comma-arguments.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/object/method-definition/params-trailing-comma-arguments.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/object/method-definition/params-trailing-comma-arguments.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,32 @@
</span><ins>+// Copyright (C) 2016 Jeff Morrison. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+description: &gt;
+  Check that trailing parameter commas do not affect `arguments` in object
+  method bodies.
+info: http://jeffmo.github.io/es-trailing-function-commas/
+author: Jeff Morrison &lt;lbljeffmo@gmail.com&gt;
+---*/
+
+var obj = {
+  f1() {
+    assert.sameValue(
+      arguments.length,
+      1,
+      &quot;Object method called with 1 arg + trailing comma reports &quot; +
+      &quot;invalid arguments.length!&quot;
+    );
+  },
+
+  f2() {
+    assert.sameValue(
+      arguments.length,
+      2,
+      &quot;Object method called with 2 arg + trailing comma reports &quot; +
+      &quot;invalid arguments.length!&quot;
+    );
+  }
+};
+
+obj.f1(1,);
+obj.f2(1,2,);
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsobjectmethoddefinitionparamstrailingcommalengthjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/object/method-definition/params-trailing-comma-length.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/object/method-definition/params-trailing-comma-length.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/object/method-definition/params-trailing-comma-length.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,26 @@
</span><ins>+// Copyright (C) 2016 Jeff Morrison. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+description: &gt;
+  Check that trailing commas don't affect the .length property of
+  object methods.
+info: http://jeffmo.github.io/es-trailing-function-commas/
+author: Jeff Morrison &lt;lbljeffmo@gmail.com&gt;
+---*/
+
+var obj = {
+  one(a,) {},
+  two(a,b,) {},
+};
+
+assert.sameValue(
+  obj.one.length,
+  1,
+  &quot;Object method with 1 arg + trailing comma reports incorrect .length!&quot;
+);
+
+assert.sameValue(
+  obj.two.length,
+  2,
+  &quot;Object method with 2 args + trailing comma reports incorrect .length!&quot;
+);
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsobjectmethoddefinitionparamstrailingcommarestjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/object/method-definition/params-trailing-comma-rest.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/object/method-definition/params-trailing-comma-rest.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/object/method-definition/params-trailing-comma-rest.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,13 @@
</span><ins>+// Copyright (C) 2016 Jeff Morrison. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+description: &gt;
+  Check that trailing commas are not permitted after rest params in
+  object method parameter lists.
+info: http://jeffmo.github.io/es-trailing-function-commas/
+author: Jeff Morrison &lt;lbljeffmo@gmail.com&gt;
+negative: SyntaxError
+---*/
+({
+  m(...[],) {}
+});
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsobjectmethoddefinitionparamstrailingcommajs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/object/method-definition/params-trailing-comma.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/object/method-definition/params-trailing-comma.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/object/method-definition/params-trailing-comma.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,11 @@
</span><ins>+// Copyright (C) 2016 Jeff Morrison. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+description: Check that trailing commas are permitted in object method argument lists
+info: http://jeffmo.github.io/es-trailing-function-commas/
+author: Jeff Morrison &lt;lbljeffmo@gmail.com&gt;
+---*/
+({
+  one(a,) {},
+  two(a,b,) {},
+});
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageglobalcodedeclfuncdupjsfromrev204850trunkJSTeststest262testlanguageblockscopesyntaxredeclarationglobalallowedtoredeclarefunctiondeclarationwithfunctiondeclarationjs"></a>
<div class="copfile"><h4>Copied: trunk/JSTests/test262/test/language/global-code/decl-func-dup.js (from rev 204850, trunk/JSTests/test262/test/language/block-scope/syntax/redeclaration-global/allowed-to-redeclare-function-declaration-with-function-declaration.js) (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/global-code/decl-func-dup.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/global-code/decl-func-dup.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,11 @@
</span><ins>+// Copyright (C) 2011 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+es6id: 13.1
+description: &gt;
+    redeclaration outermost:
+    allowed to redeclare function declaration with function declaration
+---*/
+function f() { return 1; } function f() { return 2; }
+
+assert.sameValue(f(), 2);
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageglobalcodedeclfuncjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/global-code/decl-func.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/global-code/decl-func.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/global-code/decl-func.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,48 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-globaldeclarationinstantiation
+es6id: 15.1.8
+description: Declaration of function where permissible
+info: |
+  [...]
+  9. Let declaredFunctionNames be a new empty List.
+  10. For each d in varDeclarations, in reverse list order do
+      a. If d is neither a VariableDeclaration or a ForBinding, then
+         i. Assert: d is either a FunctionDeclaration or a
+            GeneratorDeclaration.
+         ii. NOTE If there are multiple FunctionDeclarations for the same name,
+             the last declaration is used.
+         iii. Let fn be the sole element of the BoundNames of d.
+         iv. If fn is not an element of declaredFunctionNames, then
+             1. Let fnDefinable be ? envRec.CanDeclareGlobalFunction(fn).
+             2. If fnDefinable is false, throw a TypeError exception.
+             3. Append fn to declaredFunctionNames.
+             4. Insert d as the first element of functionsToInitialize.
+  [...]
+  17. For each production f in functionsToInitialize, do
+      a. Let fn be the sole element of the BoundNames of f.
+      b. Let fo be the result of performing InstantiateFunctionObject for f
+         with argument env.
+      c. Perform ? envRec.CreateGlobalFunctionBinding(fn, fo, false).
+  [...]
+
+  8.1.1.4.16 CanDeclareGlobalFunction
+
+  1. Let envRec be the global Environment Record for which the method was
+     invoked.
+  2. Let ObjRec be envRec.[[ObjectRecord]].
+  3. Let globalObject be the binding object for ObjRec.
+  4. Let existingProp be ? globalObject.[[GetOwnProperty]](N).
+  5. If existingProp is undefined, return ? IsExtensible(globalObject).
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(
+  typeof brandNew, 'function', 'new binding on an extensible global object'
+);
+verifyEnumerable(this, 'brandNew');
+verifyWritable(this, 'brandNew');
+verifyNotConfigurable(this, 'brandNew');
+
+function brandNew() {}
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageglobalcodedecllexconfigurableglobaljs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/global-code/decl-lex-configurable-global.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/global-code/decl-lex-configurable-global.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/global-code/decl-lex-configurable-global.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,32 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-globaldeclarationinstantiation
+es6id: 15.1.8
+description: Lexical declarations &quot;shadow&quot; configurable global properties
+info: |
+  [...]
+  5. For each name in lexNames, do
+     [...]
+     c. Let hasRestrictedGlobal be ? envRec.HasRestrictedGlobalProperty(name).
+     d. If hasRestrictedGlobal is true, throw a SyntaxError exception.
+  [...]
+  16. For each element d in lexDeclarations do
+      a. NOTE Lexically declared names are only instantiated here but not
+         initialized.
+      b. For each element dn of the BoundNames of d do
+         i. If IsConstantDeclaration of d is true, then
+            1. Perform ? envRec.CreateImmutableBinding(dn, true).
+         ii. Else,
+             1. Perform ? envRec.CreateMutableBinding(dn, false).
+includes: [propertyHelper.js]
+---*/
+
+let Array;
+
+assert.sameValue(Array, undefined);
+
+assert.sameValue(typeof this.Array, 'function');
+verifyNotEnumerable(this, 'Array');
+verifyWritable(this, 'Array');
+verifyConfigurable(this, 'Array');
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageglobalcodedecllexdeletionjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/global-code/decl-lex-deletion.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/global-code/decl-lex-deletion.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/global-code/decl-lex-deletion.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,39 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-globaldeclarationinstantiation
+es6id: 15.1.8
+description: Globally-declared lexical bindings cannot be deleted
+info: |
+  [...]
+  16. For each element d in lexDeclarations do
+      a. NOTE Lexically declared names are only instantiated here but not
+         initialized.
+      b. For each element dn of the BoundNames of d do
+         i. If IsConstantDeclaration of d is true, then
+            1. Perform ? envRec.CreateImmutableBinding(dn, true).
+         ii. Else,
+             1. Perform ? envRec.CreateMutableBinding(dn, false).
+  [...]
+flags: [noStrict]
+---*/
+
+let test262let;
+
+delete test262let;
+
+// Binding values are asserted by a dedicated test. IdentifierReferences serve
+// to ensure that the entries in the environment record persist.
+test262let;
+
+const test262const = null;
+
+delete test262const;
+
+test262const;
+
+class test262class {}
+
+delete test262class;
+
+test262class;
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageglobalcodedecllexrestrictedglobaljs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/global-code/decl-lex-restricted-global.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/global-code/decl-lex-restricted-global.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/global-code/decl-lex-restricted-global.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,16 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-globaldeclarationinstantiation
+es6id: 15.1.8
+description: Lexical declaration collides with existing &quot;restricted global&quot;
+info: |
+  [...]
+  5. For each name in lexNames, do
+     [...]
+     c. Let hasRestrictedGlobal be ? envRec.HasRestrictedGlobalProperty(name).
+     d. If hasRestrictedGlobal is true, throw a SyntaxError exception.
+negative: SyntaxError
+---*/
+
+let undefined;
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageglobalcodedecllexjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/global-code/decl-lex.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/global-code/decl-lex.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/global-code/decl-lex.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,52 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-globaldeclarationinstantiation
+es6id: 15.1.8
+description: Declaration of lexical bindings
+info: |
+  [...]
+  16. For each element d in lexDeclarations do
+      a. NOTE Lexically declared names are only instantiated here but not
+         initialized.
+      b. For each element dn of the BoundNames of d do
+         i. If IsConstantDeclaration of d is true, then
+            1. Perform ? envRec.CreateImmutableBinding(dn, true).
+         ii. Else,
+             1. Perform ? envRec.CreateMutableBinding(dn, false).
+  [...]
+---*/
+
+let test262let = 1;
+
+test262let = 2;
+
+assert.sameValue(test262let, 2, '`let` binding is mutable');
+assert.sameValue(
+  this.hasOwnProperty('test262let'),
+  false,
+  'property not created on the global object (let)'
+);
+
+const test262const = 3;
+
+assert.throws(TypeError, function() {
+  test262const = 4;
+}, '`const` binding is strictly immutable');
+assert.sameValue(test262const, 3, '`const` binding cannot be modified');
+assert.sameValue(
+  this.hasOwnProperty('test262const'),
+  false,
+  'property not created on the global object (const)'
+);
+
+class test262class {}
+
+test262class = 5;
+
+assert.sameValue(test262class, 5, '`class` binding is mutable');
+assert.sameValue(
+  this.hasOwnProperty('test262class'),
+  false,
+  'property not created on the global object (class)'
+);
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageglobalcodedeclvarjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/global-code/decl-var.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/global-code/decl-var.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/global-code/decl-var.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,42 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-globaldeclarationinstantiation
+es6id: 15.1.8
+description: Declaration of variable where permissible
+info: |
+  [...]
+  11. Let declaredVarNames be a new empty List.
+  12. For each d in varDeclarations, do
+      a. If d is a VariableDeclaration or a ForBinding, then
+         i. For each String vn in the BoundNames of d, do
+            1. If vn is not an element of declaredFunctionNames, then
+               a. Let vnDefinable be ? envRec.CanDeclareGlobalVar(vn).
+               b. If vnDefinable is false, throw a TypeError exception.
+               c. If vn is not an element of declaredVarNames, then
+                  i. Append vn to declaredVarNames.
+  [...]
+  18. For each String vn in declaredVarNames, in list order do
+      a. Perform ? envRec.CreateGlobalVarBinding(vn, false).
+  [...]
+
+  8.1.1.4.15 CanDeclareGlobalVar
+
+  1. Let envRec be the global Environment Record for which the method was
+     invoked.
+  2. Let ObjRec be envRec.[[ObjectRecord]].
+  3. Let globalObject be the binding object for ObjRec.
+  4. Let hasProperty be ? HasOwnProperty(globalObject, N).
+  5. If hasProperty is true, return true.
+  6. Return ? IsExtensible(globalObject).
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(
+  this.brandNew, undefined, 'new binding on an extensible global object'
+);
+verifyEnumerable(this, 'brandNew');
+verifyWritable(this, 'brandNew');
+verifyNotConfigurable(this, 'brandNew');
+
+var brandNew;
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageglobalcodereturnjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/global-code/return.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/global-code/return.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/global-code/return.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,18 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-scripts
+es6id: 15.1
+description: ReturnStatement may not be used directly within global code
+info: |
+  Syntax
+
+  Script :
+    ScriptBodyopt
+
+  ScriptBody :
+    StatementList[~Yield, ~Return]
+negative: SyntaxError
+---*/
+
+return;
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageglobalcodescriptdeclfuncdupsjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/global-code/script-decl-func-dups.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/global-code/script-decl-func-dups.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/global-code/script-decl-func-dups.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,33 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-globaldeclarationinstantiation
+es6id: 15.1.8
+description: &gt;
+    When multiple like-named function declarations exist, the final is assigned
+    to the new binding.
+info: |
+  [...]
+  9. Let declaredFunctionNames be a new empty List.
+  10. For each d in varDeclarations, in reverse list order do
+      a. If d is neither a VariableDeclaration or a ForBinding, then
+         i. Assert: d is either a FunctionDeclaration or a
+            GeneratorDeclaration.
+         ii. NOTE If there are multiple FunctionDeclarations for the same name,
+             the last declaration is used.
+         iii. Let fn be the sole element of the BoundNames of d.
+         iv. If fn is not an element of declaredFunctionNames, then
+             1. Let fnDefinable be ? envRec.CanDeclareGlobalFunction(fn).
+             2. If fnDefinable is false, throw a TypeError exception.
+             3. Append fn to declaredFunctionNames.
+             4. Insert d as the first element of functionsToInitialize.
+  [...]
+---*/
+
+$.evalScript(
+  'function f() { return 1; }' +
+  'function f() { return 2; }' +
+  'function f() { return 3; }'
+);
+
+assert.sameValue(f(), 3);
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageglobalcodescriptdeclfuncerrnonconfigurablejs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/global-code/script-decl-func-err-non-configurable.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/global-code/script-decl-func-err-non-configurable.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/global-code/script-decl-func-err-non-configurable.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,105 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-globaldeclarationinstantiation
+es6id: 15.1.8
+description: &gt;
+  Declaration of function when there is a corresponding global property that is
+  non-configurable but *not* a writable and configurable data property.
+info: |
+  [...]
+  9. Let declaredFunctionNames be a new empty List.
+  10. For each d in varDeclarations, in reverse list order do
+      a. If d is neither a VariableDeclaration or a ForBinding, then
+         i. Assert: d is either a FunctionDeclaration or a
+            GeneratorDeclaration.
+         ii. NOTE If there are multiple FunctionDeclarations for the same name,
+             the last declaration is used.
+         iii. Let fn be the sole element of the BoundNames of d.
+         iv. If fn is not an element of declaredFunctionNames, then
+             1. Let fnDefinable be ? envRec.CanDeclareGlobalFunction(fn).
+             2. If fnDefinable is false, throw a TypeError exception.
+
+  8.1.1.4.16 CanDeclareGlobalFunction
+
+  [...]
+  6. If existingProp.[[Configurable]] is true, return true.
+  7. If IsDataDescriptor(existingProp) is true and existingProp has attribute
+     values {[[Writable]]: true, [[Enumerable]]: true}, return true.
+  8. Return false. 
+---*/
+
+Object.defineProperty(
+  this,
+  'data1',
+  { configurable: false, value: 0, writable: true, enumerable: false }
+);
+
+Object.defineProperty(
+  this,
+  'data2',
+  { configurable: false, value: 0, writable: false, enumerable: true }
+);
+
+Object.defineProperty(
+  this,
+  'data3',
+  { configurable: false, value: 0, writable: false, enumerable: false }
+);
+
+Object.defineProperty(
+  this,
+  'accessor1',
+  { 
+    configurable: false,
+    get: function() {},
+    set: function() {},
+    enumerable: true
+  }
+);
+
+Object.defineProperty(
+  this,
+  'accessor2',
+  { 
+    configurable: false,
+    get: function() {},
+    set: function() {},
+    enumerable: true
+  }
+);
+
+assert.throws(TypeError, function() {
+  $.evalScript('var x; function data1() {}');
+}, 'writable, non-enumerable data property');
+assert.throws(ReferenceError, function() {
+  x;
+}, 'bindings not created for writable, non-enumerable data property');
+
+assert.throws(TypeError, function() {
+  $.evalScript('var x; function data2() {}');
+}, 'non-writable, enumerable data property');
+assert.throws(ReferenceError, function() {
+  x;
+}, 'bindings not created for non-writable, enumerable data property');
+
+assert.throws(TypeError, function() {
+  $.evalScript('var x; function data3() {}');
+}, 'non-writable, non-enumerable data property');
+assert.throws(ReferenceError, function() {
+  x;
+}, 'bindings not created for non-writable, non-enumerable data property');
+
+assert.throws(TypeError, function() {
+  $.evalScript('var x; function accessor1() {}');
+}, 'enumerable accessor property');
+assert.throws(ReferenceError, function() {
+  x;
+}, 'bindings not created for enumerableaccessor property');
+
+assert.throws(TypeError, function() {
+  $.evalScript('var x; function accessor2() {}');
+}, 'non-enumerable accessor property');
+assert.throws(ReferenceError, function() {
+  x;
+}, 'bindings not created for non-enumerableaccessor property');
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageglobalcodescriptdeclfuncerrnonextensiblejs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/global-code/script-decl-func-err-non-extensible.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/global-code/script-decl-func-err-non-extensible.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/global-code/script-decl-func-err-non-extensible.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,41 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-globaldeclarationinstantiation
+es6id: 15.1.8
+description: &gt;
+  Declaration of function when there is no corresponding global property and
+  the global object is non-extensible
+info: |
+  [...]
+  9. Let declaredFunctionNames be a new empty List.
+  10. For each d in varDeclarations, in reverse list order do
+      a. If d is neither a VariableDeclaration or a ForBinding, then
+         i. Assert: d is either a FunctionDeclaration or a
+            GeneratorDeclaration.
+         ii. NOTE If there are multiple FunctionDeclarations for the same name,
+             the last declaration is used.
+         iii. Let fn be the sole element of the BoundNames of d.
+         iv. If fn is not an element of declaredFunctionNames, then
+             1. Let fnDefinable be ? envRec.CanDeclareGlobalFunction(fn).
+             2. If fnDefinable is false, throw a TypeError exception.
+
+  8.1.1.4.16 CanDeclareGlobalFunction
+
+  1. Let envRec be the global Environment Record for which the method was
+     invoked.
+  2. Let ObjRec be envRec.[[ObjectRecord]].
+  3. Let globalObject be the binding object for ObjRec.
+  4. Let existingProp be ? globalObject.[[GetOwnProperty]](N).
+  5. If existingProp is undefined, return ? IsExtensible(globalObject).
+---*/
+
+var executed = false;
+
+Object.preventExtensions(this);
+
+assert.throws(TypeError, function() {
+  $.evalScript('executed = true; function test262() {}');
+});
+
+assert.sameValue(executed, false);
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageglobalcodescriptdeclfuncjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/global-code/script-decl-func.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/global-code/script-decl-func.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/global-code/script-decl-func.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,79 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-globaldeclarationinstantiation
+es6id: 15.1.8
+description: Declaration of function where permissible
+info: |
+  [...]
+  9. Let declaredFunctionNames be a new empty List.
+  10. For each d in varDeclarations, in reverse list order do
+      a. If d is neither a VariableDeclaration or a ForBinding, then
+         i. Assert: d is either a FunctionDeclaration or a
+            GeneratorDeclaration.
+         ii. NOTE If there are multiple FunctionDeclarations for the same name,
+             the last declaration is used.
+         iii. Let fn be the sole element of the BoundNames of d.
+         iv. If fn is not an element of declaredFunctionNames, then
+             1. Let fnDefinable be ? envRec.CanDeclareGlobalFunction(fn).
+             2. If fnDefinable is false, throw a TypeError exception.
+             3. Append fn to declaredFunctionNames.
+             4. Insert d as the first element of functionsToInitialize.
+  [...]
+  17. For each production f in functionsToInitialize, do
+      a. Let fn be the sole element of the BoundNames of f.
+      b. Let fo be the result of performing InstantiateFunctionObject for f
+         with argument env.
+      c. Perform ? envRec.CreateGlobalFunctionBinding(fn, fo, false).
+  [...]
+
+  8.1.1.4.16 CanDeclareGlobalFunction
+
+  1. Let envRec be the global Environment Record for which the method was
+     invoked.
+  2. Let ObjRec be envRec.[[ObjectRecord]].
+  3. Let globalObject be the binding object for ObjRec.
+  4. Let existingProp be ? globalObject.[[GetOwnProperty]](N).
+  5. If existingProp is undefined, return ? IsExtensible(globalObject).
+includes: [propertyHelper.js]
+---*/
+
+$.evalScript('function brandNew() {}');
+
+assert.sameValue(
+  typeof brandNew, 'function', 'new binding on an extensible global object'
+);
+verifyEnumerable(this, 'brandNew');
+verifyWritable(this, 'brandNew');
+verifyNotConfigurable(this, 'brandNew');
+
+Object.defineProperty(this, 'configurable', { configurable: true, value: 0 });
+Object.defineProperty(
+  this,
+  'nonConfigurable',
+  { configurable: false, writable: true, enumerable: true, value: 0 }
+);
+
+// Prevent extensions on the global object to ensure that detail is not
+// considered by any of the declarations which follow.
+Object.preventExtensions(this);
+
+$.evalScript('function configurable() {}');
+
+assert.sameValue(
+  typeof configurable, 'function', 'like-named configurable property'
+);
+verifyEnumerable(this, 'configurable')
+verifyWritable(this, 'configurable');
+verifyNotConfigurable(this, 'configurable');
+
+$.evalScript('function nonConfigurable() {}');
+
+assert.sameValue(
+  typeof nonConfigurable,
+  'function',
+  'like-named non-configurable data property that is writable and enumerable'
+);
+verifyEnumerable(this, 'nonConfigurable');
+verifyWritable(this, 'nonConfigurable');
+verifyNotConfigurable(this, 'nonConfigurable');
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageglobalcodescriptdecllexdeletionjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/global-code/script-decl-lex-deletion.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/global-code/script-decl-lex-deletion.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/global-code/script-decl-lex-deletion.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,39 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-globaldeclarationinstantiation
+es6id: 15.1.8
+description: Globally-declared lexical bindings cannot be deleted
+info: |
+  [...]
+  16. For each element d in lexDeclarations do
+      a. NOTE Lexically declared names are only instantiated here but not
+         initialized.
+      b. For each element dn of the BoundNames of d do
+         i. If IsConstantDeclaration of d is true, then
+            1. Perform ? envRec.CreateImmutableBinding(dn, true).
+         ii. Else,
+             1. Perform ? envRec.CreateMutableBinding(dn, false).
+  [...]
+flags: [noStrict]
+---*/
+
+$.evalScript('let test262let;');
+
+delete test262let;
+
+// Binding values are asserted by a dedicated test. IdentifierReferences serve
+// to ensure that the entries in the environment record persist.
+test262let;
+
+$.evalScript('const test262const = null;');
+
+delete test262const;
+
+test262const;
+
+$.evalScript('class test262class {}');
+
+delete test262class;
+
+test262class;
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageglobalcodescriptdecllexlexjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/global-code/script-decl-lex-lex.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/global-code/script-decl-lex-lex.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/global-code/script-decl-lex-lex.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,39 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-globaldeclarationinstantiation
+es6id: 15.1.8
+description: Let binding collision with existing lexical declaration
+info: |
+  [...]
+  5. For each name in lexNames, do
+     a. If envRec.HasVarDeclaration(name) is true, throw a SyntaxError
+        exception.
+     b. If envRec.HasLexicalDeclaration(name) is true, throw a SyntaxError
+        exception.
+---*/
+
+let test262Let;
+const test262Const = null;
+class test262Class {}
+
+assert.throws(SyntaxError, function() {
+  $.evalScript('var x; let test262Let;');
+}, '`let` binding');
+assert.throws(ReferenceError, function() {
+  x;
+}, 'No bindings created for script containing `let` redeclaration');
+
+assert.throws(SyntaxError, function() {
+  $.evalScript('var x; let test262Const;');
+}, '`const` binding');
+assert.throws(ReferenceError, function() {
+  x;
+}, 'No bindings created for script containing `const` redeclaration');
+
+assert.throws(SyntaxError, function() {
+  $.evalScript('var x; let test262Class;');
+}, '`class` binding');
+assert.throws(ReferenceError, function() {
+  x;
+}, 'No bindings created for script containing `class` redeclaration');
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageglobalcodescriptdecllexrestrictedglobaljs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/global-code/script-decl-lex-restricted-global.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/global-code/script-decl-lex-restricted-global.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/global-code/script-decl-lex-restricted-global.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,31 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-globaldeclarationinstantiation
+es6id: 15.1.8
+description: &gt;
+  Let binding collision with non-configurable global property (not defined
+  through a declaration)
+info: |
+  [...]
+  5. For each name in lexNames, do
+     a. If envRec.HasVarDeclaration(name) is true, throw a SyntaxError
+        exception.
+     b. If envRec.HasLexicalDeclaration(name) is true, throw a SyntaxError
+        exception.
+     c. Let hasRestrictedGlobal be ? envRec.HasRestrictedGlobalProperty(name).
+     d. If hasRestrictedGlobal is true, throw a SyntaxError exception.
+---*/
+
+Object.defineProperty(this, 'test262Configurable', { configurable: true });
+Object.defineProperty(this, 'test262NonConfigurable', { configurable: false });
+
+$.evalScript('let test262Configurable;');
+
+assert.throws(SyntaxError, function() {
+  $.evalScript('var x; let test262NonConfigurable;');
+});
+
+assert.throws(ReferenceError, function() {
+  x;
+});
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageglobalcodescriptdecllexvarjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/global-code/script-decl-lex-var.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/global-code/script-decl-lex-var.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/global-code/script-decl-lex-var.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,31 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-globaldeclarationinstantiation
+es6id: 15.1.8
+description: Let binding collision with existing var declaration
+info: |
+  [...]
+  5. For each name in lexNames, do
+     a. If envRec.HasVarDeclaration(name) is true, throw a SyntaxError
+        exception.
+---*/
+
+var test262Var;
+function test262Fn() {}
+
+assert.throws(SyntaxError, function() {
+  $.evalScript('var x; let test262Var;');
+}, 'variable');
+
+assert.throws(ReferenceError, function() {
+  x;
+}, 'no bindings created (script shadowing variable)');
+
+assert.throws(SyntaxError, function() {
+  $.evalScript('var x; let test262Fn;');
+}, 'function');
+
+assert.throws(ReferenceError, function() {
+  x;
+}, 'no bindings created (script shadowing function)');
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageglobalcodescriptdecllexjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/global-code/script-decl-lex.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/global-code/script-decl-lex.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/global-code/script-decl-lex.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,56 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-globaldeclarationinstantiation
+es6id: 15.1.8
+description: Declaration of lexical bindings
+info: |
+  [...]
+  16. For each element d in lexDeclarations do
+      a. NOTE Lexically declared names are only instantiated here but not
+         initialized.
+      b. For each element dn of the BoundNames of d do
+         i. If IsConstantDeclaration of d is true, then
+            1. Perform ? envRec.CreateImmutableBinding(dn, true).
+         ii. Else,
+             1. Perform ? envRec.CreateMutableBinding(dn, false).
+  [...]
+---*/
+
+// Extensibility of the global object should have no bearing on lexical
+// declarations.
+Object.preventExtensions(this);
+
+$.evalScript('let test262let = 1;');
+
+test262let = 2;
+
+assert.sameValue(test262let, 2, '`let` binding is mutable');
+assert.sameValue(
+  this.hasOwnProperty('test262let'),
+  false,
+  'property not created on the global object (let)'
+);
+
+$.evalScript('const test262const = 3;');
+
+assert.throws(TypeError, function() {
+  test262const = 4;
+}, '`const` binding is strictly immutable');
+assert.sameValue(test262const, 3, '`const` binding cannot be modified');
+assert.sameValue(
+  this.hasOwnProperty('test262const'),
+  false,
+  'property not created on the global object (const)'
+);
+
+$.evalScript('class test262class {}');
+
+test262class = 5;
+
+assert.sameValue(test262class, 5, '`class` binding is mutable');
+assert.sameValue(
+  this.hasOwnProperty('test262class'),
+  false,
+  'property not created on the global object (class)'
+);
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageglobalcodescriptdeclvarcollisionjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/global-code/script-decl-var-collision.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/global-code/script-decl-var-collision.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/global-code/script-decl-var-collision.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,62 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-globaldeclarationinstantiation
+es6id: 15.1.8
+description: Var binding collision with existing lexical declaration
+info: |
+  [...]
+  6. For each name in varNames, do
+     a. If envRec.HasLexicalDeclaration(name) is true, throw a SyntaxError
+        exception.
+---*/
+
+var test262Var;
+let test262Let;
+const test262Const = null;
+class test262Class {}
+
+$.evalScript('var test262Var;');
+$.evalScript('function test262Var() {}');
+
+assert.throws(SyntaxError, function() {
+  $.evalScript('var x; var test262Let;');
+}, '`var` on `let` binding');
+assert.throws(ReferenceError, function() {
+  x;
+}, 'no bindings created (script declaring a `var` on a `let` binding)');
+
+assert.throws(SyntaxError, function() {
+  $.evalScript('var x; var test262Const;');
+}, '`var` on `const` binding');
+assert.throws(ReferenceError, function() {
+  x;
+}, 'no bindings created (script declaring a `var` on a `const` binding)');
+
+assert.throws(SyntaxError, function() {
+  $.evalScript('var x; var test262Class;');
+}, '`var` on `class` binding');
+assert.throws(ReferenceError, function() {
+  x;
+}, 'no bindings created (script declaring a `var` on a `class` binding)');
+
+assert.throws(SyntaxError, function() {
+  $.evalScript('var x; function test262Let() {}');
+}, 'function on `let` binding');
+assert.throws(ReferenceError, function() {
+  x;
+}, 'no bindings created (script declaring a function on a `let` binding)');
+
+assert.throws(SyntaxError, function() {
+  $.evalScript('var x; function test262Const() {}');
+}, 'function on `const` binding');
+assert.throws(ReferenceError, function() {
+  x;
+}, 'no bindings created (script declaring a function on a `const` binding)');
+
+assert.throws(SyntaxError, function() {
+  $.evalScript('var x; function test262Class() {}');
+} , 'function on `class` binding');
+assert.throws(ReferenceError, function() {
+  x;
+}, 'no bindings created (script declaring a function on a class binding)');
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageglobalcodescriptdeclvarerrjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/global-code/script-decl-var-err.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/global-code/script-decl-var-err.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/global-code/script-decl-var-err.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,40 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-globaldeclarationinstantiation
+es6id: 15.1.8
+description: &gt;
+  Declaration of variable when there is no corresponding global property and
+  the global object is non-extensible
+info: |
+  [...]
+  11. Let declaredVarNames be a new empty List.
+  12. For each d in varDeclarations, do
+      a. If d is a VariableDeclaration or a ForBinding, then
+         i. For each String vn in the BoundNames of d, do
+            1. If vn is not an element of declaredFunctionNames, then
+               a. Let vnDefinable be ? envRec.CanDeclareGlobalVar(vn).
+               b. If vnDefinable is false, throw a TypeError exception.
+               c. If vn is not an element of declaredVarNames, then
+                  i. Append vn to declaredVarNames.
+
+  8.1.1.4.15 CanDeclareGlobalVar
+
+  1. Let envRec be the global Environment Record for which the method was
+     invoked.
+  2. Let ObjRec be envRec.[[ObjectRecord]].
+  3. Let globalObject be the binding object for ObjRec.
+  4. Let hasProperty be ? HasOwnProperty(globalObject, N).
+  5. If hasProperty is true, return true.
+  6. Return ? IsExtensible(globalObject). 
+---*/
+
+var executed = false;
+
+Object.preventExtensions(this);
+
+assert.throws(TypeError, function() {
+  $.evalScript('executed = true; var test262;');
+});
+
+assert.sameValue(executed, false);
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageglobalcodescriptdeclvarjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/global-code/script-decl-var.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/global-code/script-decl-var.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/global-code/script-decl-var.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,71 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-globaldeclarationinstantiation
+es6id: 15.1.8
+description: Declaration of variable where permissible
+info: |
+  [...]
+  11. Let declaredVarNames be a new empty List.
+  12. For each d in varDeclarations, do
+      a. If d is a VariableDeclaration or a ForBinding, then
+         i. For each String vn in the BoundNames of d, do
+            1. If vn is not an element of declaredFunctionNames, then
+               a. Let vnDefinable be ? envRec.CanDeclareGlobalVar(vn).
+               b. If vnDefinable is false, throw a TypeError exception.
+               c. If vn is not an element of declaredVarNames, then
+                  i. Append vn to declaredVarNames.
+  [...]
+  18. For each String vn in declaredVarNames, in list order do
+      a. Perform ? envRec.CreateGlobalVarBinding(vn, false).
+  [...]
+
+  8.1.1.4.15 CanDeclareGlobalVar
+
+  1. Let envRec be the global Environment Record for which the method was
+     invoked.
+  2. Let ObjRec be envRec.[[ObjectRecord]].
+  3. Let globalObject be the binding object for ObjRec.
+  4. Let hasProperty be ? HasOwnProperty(globalObject, N).
+  5. If hasProperty is true, return true.
+  6. Return ? IsExtensible(globalObject). 
+includes: [propertyHelper.js]
+---*/
+
+$.evalScript('var brandNew;');
+
+assert.sameValue(
+  this.brandNew, undefined, 'new binding on an extensible global object'
+);
+verifyEnumerable(this, 'brandNew');
+verifyWritable(this, 'brandNew');
+verifyNotConfigurable(this, 'brandNew');
+
+Object.defineProperty(
+  this,
+  'configurable',
+  { configurable: true, writable: false, enumerable: false, value: 0 }
+);
+Object.defineProperty(
+  this,
+  'nonConfigurable',
+  { configurable: false, writable: false, enumerable: false, value: 0 }
+);
+
+// Prevent extensions on the global object to ensure that detail is not
+// considered by any of the declarations which follow.
+Object.preventExtensions(this);
+
+$.evalScript('var configurable;');
+
+assert.sameValue(configurable, 0, 'like-named configurable property');
+verifyNotEnumerable(this, 'configurable');
+verifyNotWritable(this, 'configurable');
+verifyConfigurable(this, 'configurable');
+
+$.evalScript('var nonConfigurable;');
+
+assert.sameValue(nonConfigurable, 0, 'like-named non-configurable property');
+verifyNotEnumerable(this, 'nonConfigurable');
+verifyNotWritable(this, 'nonConfigurable');
+verifyNotConfigurable(this, 'nonConfigurable');
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageglobalcodesupercallarrowjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/global-code/super-call-arrow.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/global-code/super-call-arrow.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/global-code/super-call-arrow.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,33 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-scripts-static-semantics-early-errors
+es6id: 15.1.1
+description: An ArrowFunction in global code may not contain SuperCall
+info: |
+  - It is a Syntax Error if StatementList Contains super unless the source code
+    containing super is eval code that is being processed by a direct eval that
+    is contained in function code that is not the function code of an
+    ArrowFunction.
+
+  14.2.3 Static Semantics: Contains
+
+  With parameter symbol.
+
+  ArrowFunction : ArrowParameters =&gt; ConciseBody
+
+  1. If symbol is not one of NewTarget, SuperProperty, SuperCall, super or
+     this, return false.
+  2. If ArrowParameters Contains symbol is true, return true.
+  3. Return ConciseBody Contains symbol.
+
+  NOTE Normally, Contains does not look inside most function forms. However,
+       Contains is used to detect new.target, this, and super usage within an
+       ArrowFunction.
+features: [super, arrow-function]
+negative: SyntaxError
+---*/
+
+() =&gt; {
+  super();
+};
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageglobalcodesupercalljs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/global-code/super-call.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/global-code/super-call.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/global-code/super-call.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,16 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-scripts-static-semantics-early-errors
+es6id: 15.1.1
+description: Global code may not contain SuperCall
+info: |
+  - It is a Syntax Error if StatementList Contains super unless the source code
+    containing super is eval code that is being processed by a direct eval that
+    is contained in function code that is not the function code of an
+    ArrowFunction.
+negative: SyntaxError
+features: [super]
+---*/
+
+super();
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageglobalcodesuperproparrowjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/global-code/super-prop-arrow.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/global-code/super-prop-arrow.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/global-code/super-prop-arrow.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,33 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-scripts-static-semantics-early-errors
+es6id: 15.1.1
+description: An ArrowFunction in global code may not contain SuperProperty
+info: |
+  - It is a Syntax Error if StatementList Contains super unless the source code
+    containing super is eval code that is being processed by a direct eval that
+    is contained in function code that is not the function code of an
+    ArrowFunction.
+
+  14.2.3 Static Semantics: Contains
+
+  With parameter symbol.
+
+  ArrowFunction : ArrowParameters =&gt; ConciseBody
+
+  1. If symbol is not one of NewTarget, SuperProperty, SuperCall, super or
+     this, return false.
+  2. If ArrowParameters Contains symbol is true, return true.
+  3. Return ConciseBody Contains symbol.
+
+  NOTE Normally, Contains does not look inside most function forms. However,
+       Contains is used to detect new.target, this, and super usage within an
+       ArrowFunction.
+features: [super, arrow-function]
+negative: SyntaxError
+---*/
+
+() =&gt; {
+  super.property;
+};
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageglobalcodesuperpropjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/global-code/super-prop.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/global-code/super-prop.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/global-code/super-prop.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,16 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-scripts-static-semantics-early-errors
+es6id: 15.1.1
+description: Global code may not contain SuperProperty
+info: |
+  - It is a Syntax Error if StatementList Contains super unless the source code
+    containing super is eval code that is being processed by a direct eval that
+    is contained in function code that is not the function code of an
+    ArrowFunction.
+negative: SyntaxError
+features: [super]
+---*/
+
+super.property;
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageglobalcodeyieldnonstrictjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/global-code/yield-non-strict.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/global-code/yield-non-strict.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/global-code/yield-non-strict.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,24 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-scripts
+es6id: 15.1
+description: &gt;
+  The `yield` token is interpreted as an Identifier when it appears in global
+  code (non-strict mode)
+info: |
+  Syntax
+
+  Script :
+    ScriptBodyopt
+
+  ScriptBody :
+    StatementList[~Yield, ~Return]
+flags: [noStrict]
+---*/
+
+// Avoid test failures in cases where the host has defined a `yield` property
+// on the global object.
+try {
+  yield = 0;
+} catch (_) {}
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageglobalcodeyieldstrictjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/global-code/yield-strict.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/global-code/yield-strict.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/global-code/yield-strict.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,21 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-scripts
+es6id: 15.1
+description: &gt;
+  The `yield` token is interpreted as an Identifier when it appears in global
+  code (strict mode)
+info: |
+  Syntax
+
+  Script :
+    ScriptBodyopt
+
+  ScriptBody :
+    StatementList[~Yield, ~Return]
+flags: [onlyStrict]
+negative: SyntaxError
+---*/
+
+yield;
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageliteralsregexplastIndexjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/literals/regexp/lastIndex.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/literals/regexp/lastIndex.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/literals/regexp/lastIndex.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,37 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-regular-expression-literals-runtime-semantics-evaluation
+es6id: 12.2.8.2
+description: Initial state of the `lastIndex` property
+info: |
+  [...]
+  3. Return RegExpCreate(pattern, flags).
+
+  21.2.3.2.3 Runtime Semantics: RegExpCreate
+
+  1. Let obj be ? RegExpAlloc(%RegExp%).
+  2. Return ? RegExpInitialize(obj, P, F). 
+
+  21.2.3.2.2 Runtime Semantics: RegExpInitialize
+
+  [...]
+  12. Perform ? Set(obj, &quot;lastIndex&quot;, 0, true).
+  [...]
+
+  21.2.3.2.1 Runtime Semantics: RegExpAlloc
+
+  [...]
+  2. Perform ! DefinePropertyOrThrow(obj, &quot;lastIndex&quot;, PropertyDescriptor
+     {[[Writable]]: true, [[Enumerable]]: false, [[Configurable]]: false}).
+  [...]
+includes: [propertyHelper.js]
+---*/
+
+var re = /./;
+
+assert.sameValue(re.lastIndex, 0);
+
+verifyNotEnumerable(re, 'lastIndex');
+verifyWritable(re, 'lastIndex');
+verifyNotConfigurable(re, 'lastIndex');
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageliteralsregexpuunicodeescboundsjs"></a>
<div class="modfile"><h4>Modified: trunk/JSTests/test262/test/language/literals/regexp/u-unicode-esc-bounds.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/literals/regexp/u-unicode-esc-bounds.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/language/literals/regexp/u-unicode-esc-bounds.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -13,4 +13,4 @@
</span><span class="cx"> negative: SyntaxError
</span><span class="cx"> ---*/
</span><span class="cx"> 
</span><del>-/\u{ff0000}/u;
</del><ins>+/\u{110000}/u;
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageliteralsregexpyassertionstartjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/literals/regexp/y-assertion-start.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/literals/regexp/y-assertion-start.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/literals/regexp/y-assertion-start.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,46 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-assertion
+es6id: 21.2.2.6
+description: The `y` flag has no effect on the `^` assertion
+info: &gt;
+  Even when the y flag is used with a pattern, ^ always matches only at the
+  beginning of Input, or (if Multiline is true) at the beginning of a line.
+---*/
+
+var re;
+
+re = /^a/y;
+
+re.lastIndex = 0;
+assert.sameValue(
+  re.test('a'), true, 'positive: beginning of input (without `m`)'
+);
+
+re.lastIndex = 1;
+assert.sameValue(
+  re.test(' a'), false, 'negative: within a line (without `m`)'
+);
+
+re.lastIndex = 1;
+assert.sameValue(
+  re.test('\na'), false, 'negative: beginning of line (without `m`)'
+);
+
+re = /^a/my;
+
+re.lastIndex = 0;
+assert.sameValue(
+  re.test('a'), true, 'positive: beginning of input (with `m`)'
+);
+
+re.lastIndex = 1;
+assert.sameValue(
+  re.test(' a'), false, 'negative: within a line (with `m`)'
+);
+
+re.lastIndex = 1;
+assert.sameValue(
+  re.test('\na'), true, 'positive: beginning of line (with `m`)'
+);
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagemodulecodeinstnstarerrnotfoundfaulty_FIXTUREjs"></a>
<div class="modfile"><h4>Modified: trunk/JSTests/test262/test/language/module-code/instn-star-err-not-found-faulty_FIXTURE.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/module-code/instn-star-err-not-found-faulty_FIXTURE.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/language/module-code/instn-star-err-not-found-faulty_FIXTURE.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -1,4 +1,4 @@
</span><span class="cx"> // Copyright (C) 2016 the V8 project authors. All rights reserved.
</span><span class="cx"> // This code is governed by the BSD license found in the LICENSE file.
</span><span class="cx"> 
</span><del>-export { x } from './inst-import-star-err-not-found-empty_FIXTURE.js';
</del><ins>+export { x } from './instn-star-err-not-found-empty_FIXTURE.js';
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagemodulecodeinstnstarerrnotfoundjs"></a>
<div class="modfile"><h4>Modified: trunk/JSTests/test262/test/language/module-code/instn-star-err-not-found.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/module-code/instn-star-err-not-found.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/language/module-code/instn-star-err-not-found.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -26,4 +26,4 @@
</span><span class="cx"> flags: [module]
</span><span class="cx"> ---*/
</span><span class="cx"> 
</span><del>-import * as ns from './inst-import-star-err-not-found-faulty_FIXTURE.js';
</del><ins>+import * as ns from './instn-star-err-not-found-faulty_FIXTURE.js';
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagemodulecodenamespaceinternalsgetownpropertystrfoundinitjs"></a>
<div class="modfile"><h4>Modified: trunk/JSTests/test262/test/language/module-code/namespace/internals/get-own-property-str-found-init.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/module-code/namespace/internals/get-own-property-str-found-init.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/language/module-code/namespace/internals/get-own-property-str-found-init.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -45,7 +45,7 @@
</span><span class="cx">   Object.prototype.hasOwnProperty.call(ns, 'indirect'), true
</span><span class="cx"> );
</span><span class="cx"> desc = Object.getOwnPropertyDescriptor(ns, 'indirect');
</span><del>-assert.sameValue(desc.indirect, 201);
</del><ins>+assert.sameValue(desc.value, 201);
</ins><span class="cx"> assert.sameValue(desc.enumerable, true, 'indirect enumerable');
</span><span class="cx"> assert.sameValue(desc.writable, true, 'indirect writable');
</span><span class="cx"> assert.sameValue(desc.configurable, false, 'indirect configurable');
</span><span class="lines">@@ -54,7 +54,7 @@
</span><span class="cx">   Object.prototype.hasOwnProperty.call(ns, 'default'), true
</span><span class="cx"> );
</span><span class="cx"> desc = Object.getOwnPropertyDescriptor(ns, 'default');
</span><del>-assert.sameValue(desc.default, 302);
</del><ins>+assert.sameValue(desc.value, 302);
</ins><span class="cx"> assert.sameValue(desc.enumerable, true, 'default enumerable');
</span><span class="cx"> assert.sameValue(desc.writable, true, 'default writable');
</span><span class="cx"> assert.sameValue(desc.configurable, false, 'default configurable');
</span></span></pre></div>
<a id="trunkJSTeststest262testlanguagemodulecodeparseerrreturnjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/module-code/parse-err-return.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/module-code/parse-err-return.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/module-code/parse-err-return.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,28 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-modules
+es6id: 15.2
+description: ReturnStatement may not be used directly within ModuleBody
+info: |
+  Syntax
+
+  Module :
+    ModuleBodyopt
+
+  ModuleBody :
+    ModuleItemList
+
+  ModuleItemList :
+    ModuleItem
+    ModuleItemList ModuleItem
+
+  ModuleItem:
+    ImportDeclaration
+    ExportDeclaration
+    StatementListItem[~Yield, ~Return]
+flags: [module]
+negative: SyntaxError
+---*/
+
+return;
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagemodulecodeparseerryieldjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/module-code/parse-err-yield.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/module-code/parse-err-yield.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/module-code/parse-err-yield.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,28 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-modules
+es6id: 15.2
+description: YieldExpression may not be used directly within ModuleBody
+info: |
+  Syntax
+
+  Module :
+    ModuleBodyopt
+
+  ModuleBody :
+    ModuleItemList
+
+  ModuleItemList :
+    ModuleItem
+    ModuleItemList ModuleItem
+
+  ModuleItem:
+    ImportDeclaration
+    ExportDeclaration
+    StatementListItem[~Yield, ~Return]
+flags: [module]
+negative: SyntaxError
+---*/
+
+yield;
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagerestparametersparamstrailingcommarestjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/rest-parameters/params-trailing-comma-rest.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/rest-parameters/params-trailing-comma-rest.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/rest-parameters/params-trailing-comma-rest.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,12 @@
</span><ins>+// Copyright (C) 2016 Jeff Morrison. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+description: &gt;
+  Check that trailing commas are not permitted permitted after rest
+  arguments in arrow function argument lists.
+info: http://jeffmo.github.io/es-trailing-function-commas/
+author: Jeff Morrison &lt;lbljeffmo@gmail.com&gt;
+negative: SyntaxError
+---*/
+
+((...a,) =&gt; {})
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagestatementsasyncfunctiondeclarationreturnspromisejs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/statements/async-function/declaration-returns-promise.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/statements/async-function/declaration-returns-promise.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/statements/async-function/declaration-returns-promise.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,13 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson &lt;brian.terlson@microsoft.com&gt;
+esid: pending
+description: &gt;
+  Async functions return promises
+---*/
+
+async function foo() { };
+var p = foo();
+assert(p instanceof Promise, &quot;async functions return promise instances&quot;);
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagestatementsasyncfunctionearlyerrorsdeclarationNSPLwithUSDjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/statements/async-function/early-errors-declaration-NSPL-with-USD.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/statements/async-function/early-errors-declaration-NSPL-with-USD.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/statements/async-function/early-errors-declaration-NSPL-with-USD.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,12 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson &lt;brian.terlson@microsoft.com&gt;
+esid: pending
+description: &gt;
+  It is a Syntax Error if ContainsUseStrict of AsyncConciseBody is *true* and IsSimpleParameterList of ArrowParameters is *false*.
+negative: SyntaxError
+---*/
+
+async function foo(x = 1){&quot;use strict&quot;}
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagestatementsasyncfunctionearlyerrorsdeclarationargumentsinformalparametersjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/statements/async-function/early-errors-declaration-arguments-in-formal-parameters.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/statements/async-function/early-errors-declaration-arguments-in-formal-parameters.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/statements/async-function/early-errors-declaration-arguments-in-formal-parameters.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,13 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson &lt;brian.terlson@microsoft.com&gt;
+esid: pending
+description: It is a SyntaxError if FormalParameters contains arguments in strict mode
+negative: SyntaxError
+flags: [onlyStrict]
+---*/
+
+async function foo (arguments) {  }
+
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagestatementsasyncfunctionearlyerrorsdeclarationawaitinformalsdefaultjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/statements/async-function/early-errors-declaration-await-in-formals-default.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/statements/async-function/early-errors-declaration-await-in-formals-default.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/statements/async-function/early-errors-declaration-await-in-formals-default.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,10 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson &lt;brian.terlson@microsoft.com&gt;
+esid: pending
+description: It is a SyntaxError if FormalParameters' default expressions contains await
+negative: SyntaxError
+---*/
+async function foo (x = await) {  }
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagestatementsasyncfunctionearlyerrorsdeclarationawaitinformalsjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/statements/async-function/early-errors-declaration-await-in-formals.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/statements/async-function/early-errors-declaration-await-in-formals.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/statements/async-function/early-errors-declaration-await-in-formals.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,10 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson &lt;brian.terlson@microsoft.com&gt;
+esid: pending
+description: It is a SyntaxError if FormalParameters contains await
+negative: SyntaxError
+---*/
+async function foo (await) {  }
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagestatementsasyncfunctionearlyerrorsdeclarationbindingidentifierargumentsjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/statements/async-function/early-errors-declaration-binding-identifier-arguments.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/statements/async-function/early-errors-declaration-binding-identifier-arguments.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/statements/async-function/early-errors-declaration-binding-identifier-arguments.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,13 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson &lt;brian.terlson@microsoft.com&gt;
+esid: pending
+description: &gt;
+  If the source code matching this production is strict code, it is a Syntax Error if BindingIdentifier is the IdentifierName arguments. 
+negative: SyntaxError
+flags: [onlyStrict]
+---*/
+async function arguments () {  }
+
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagestatementsasyncfunctionearlyerrorsdeclarationbindingidentifierevaljs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/statements/async-function/early-errors-declaration-binding-identifier-eval.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/statements/async-function/early-errors-declaration-binding-identifier-eval.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/statements/async-function/early-errors-declaration-binding-identifier-eval.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,12 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson &lt;brian.terlson@microsoft.com&gt;
+esid: pending
+description: &gt;
+  If the source code matching this production is strict code, it is a Syntax Error if BindingIdentifier is the IdentifierName eval. 
+negative: SyntaxError
+flags: [onlyStrict]
+---*/
+async function eval () {  }
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagestatementsasyncfunctionearlyerrorsdeclarationbodycontainssupercalljs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/statements/async-function/early-errors-declaration-body-contains-super-call.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/statements/async-function/early-errors-declaration-body-contains-super-call.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/statements/async-function/early-errors-declaration-body-contains-super-call.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,11 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson &lt;brian.terlson@microsoft.com&gt;
+esid: pending
+description: It is a syntax error if AsyncFunctionBody contains SuperCall is true
+negative: SyntaxError
+---*/
+
+async function foo (foo) { super() };
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagestatementsasyncfunctionearlyerrorsdeclarationbodycontainssuperpropertyjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/statements/async-function/early-errors-declaration-body-contains-super-property.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/statements/async-function/early-errors-declaration-body-contains-super-property.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/statements/async-function/early-errors-declaration-body-contains-super-property.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,11 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson &lt;brian.terlson@microsoft.com&gt;
+esid: pending
+description: It is a syntax error if AsyncFunctionBody contains SuperProperty is true
+negative: SyntaxError
+---*/
+
+async function foo (foo) { super.prop };
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagestatementsasyncfunctionearlyerrorsdeclarationduplicateparametersjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/statements/async-function/early-errors-declaration-duplicate-parameters.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/statements/async-function/early-errors-declaration-duplicate-parameters.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/statements/async-function/early-errors-declaration-duplicate-parameters.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,13 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson &lt;brian.terlson@microsoft.com&gt;
+esid: pending
+description: &gt;
+  If strict mode, early error rules for StrictFormalParameters are applied
+negative: SyntaxError
+flags: [onlyStrict]
+---*/
+
+async function foo(a, a) { }
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagestatementsasyncfunctionearlyerrorsdeclarationevalinformalparametersjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/statements/async-function/early-errors-declaration-eval-in-formal-parameters.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/statements/async-function/early-errors-declaration-eval-in-formal-parameters.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/statements/async-function/early-errors-declaration-eval-in-formal-parameters.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,12 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson &lt;brian.terlson@microsoft.com&gt;
+esid: pending
+description: It is a SyntaxError if FormalParameters contains eval in strict mode
+negative: SyntaxError
+flags: [onlyStrict]
+---*/
+
+async function foo (eval) {  }
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagestatementsasyncfunctionearlyerrorsdeclarationformalsbodyduplicatejs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/statements/async-function/early-errors-declaration-formals-body-duplicate.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/statements/async-function/early-errors-declaration-formals-body-duplicate.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/statements/async-function/early-errors-declaration-formals-body-duplicate.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,11 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson &lt;brian.terlson@microsoft.com&gt;
+esid: pending
+description: It is a SyntaxError if BoundNames of FormalParameters also occurs in the LexicallyDeclaredNames of AsyncFunctionBody
+negative: SyntaxError
+---*/
+
+async function foo (bar) { let bar; }
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagestatementsasyncfunctionearlyerrorsdeclarationformalscontainssupercalljs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/statements/async-function/early-errors-declaration-formals-contains-super-call.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/statements/async-function/early-errors-declaration-formals-contains-super-call.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/statements/async-function/early-errors-declaration-formals-contains-super-call.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,11 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson &lt;brian.terlson@microsoft.com&gt;
+esid: pending
+description: It is a syntax error if FormalParameters contains SuperCall is true
+negative: SyntaxError
+---*/
+
+async function foo (foo = super()) { let bar; }
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagestatementsasyncfunctionearlyerrorsdeclarationformalscontainssuperpropertyjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/statements/async-function/early-errors-declaration-formals-contains-super-property.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/statements/async-function/early-errors-declaration-formals-contains-super-property.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/statements/async-function/early-errors-declaration-formals-contains-super-property.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,11 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson &lt;brian.terlson@microsoft.com&gt;
+esid: pending
+description: It is a syntax error if FormalParameters contains SuperCall is true
+negative: SyntaxError
+---*/
+
+async function foo (foo = super.foo) { let bar; }
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagestatementsasyncfunctionearlyerrorsnoasyncgeneratorjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/statements/async-function/early-errors-no-async-generator.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/statements/async-function/early-errors-no-async-generator.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/statements/async-function/early-errors-no-async-generator.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,12 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson &lt;brian.terlson@microsoft.com&gt;
+esid: pending
+description: &gt;
+  Async generators are not a thing (yet)
+negative: SyntaxError
+---*/
+
+async function* foo() { }
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagestatementsasyncfunctionevaluationbodythatreturnsafterawaitjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/statements/async-function/evaluation-body-that-returns-after-await.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/statements/async-function/evaluation-body-that-returns-after-await.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/statements/async-function/evaluation-body-that-returns-after-await.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,21 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson &lt;brian.terlson@microsoft.com&gt;
+esid: pending
+description: &gt;
+  The return value of the async function resolves the promise
+flags: [async]
+---*/
+
+async function foo() {
+  await Promise.resolve();
+  return 42;
+}
+
+foo().then(function (v) {
+  assert.sameValue(v, 42);
+  $DONE();
+}, $DONE);
+
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagestatementsasyncfunctionevaluationbodythatreturnsjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/statements/async-function/evaluation-body-that-returns.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/statements/async-function/evaluation-body-that-returns.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/statements/async-function/evaluation-body-that-returns.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,19 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson &lt;brian.terlson@microsoft.com&gt;
+esid: pending
+description: &gt;
+  The return value of the async function resolves the promise
+flags: [async]
+---*/
+
+async function foo() {
+  return 42;
+}
+
+foo().then(function (v) {
+  assert.sameValue(v, 42);
+  $DONE();
+}, $DONE);
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagestatementsasyncfunctionevaluationbodythatthrowsafterawaitjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/statements/async-function/evaluation-body-that-throws-after-await.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/statements/async-function/evaluation-body-that-throws-after-await.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/statements/async-function/evaluation-body-that-throws-after-await.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,24 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson &lt;brian.terlson@microsoft.com&gt;
+esid: pending
+description: &gt;
+  Errors thrown from the async function body reject the returned promise
+flags: [async]
+---*/
+
+async function foo() {
+  await Promise.resolve();
+  throw 1;
+}
+
+foo().then(function () {
+  $DONE(&quot;Should not be called&quot;);
+}, function (e) {
+  assert.sameValue(e, 1);
+  $DONE();
+});
+
+
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagestatementsasyncfunctionevaluationbodythatthrowsjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/statements/async-function/evaluation-body-that-throws.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/statements/async-function/evaluation-body-that-throws.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/statements/async-function/evaluation-body-that-throws.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,22 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson &lt;brian.terlson@microsoft.com&gt;
+esid: pending
+description: &gt;
+  Errors thrown from the async function body reject the returned promise
+flags: [async]
+---*/
+
+async function foo() {
+  throw 1;
+}
+
+foo().then(function () {
+  $DONE(&quot;Should not be called&quot;);
+}, function (e) {
+  assert.sameValue(e, 1);
+  $DONE();
+});
+
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagestatementsasyncfunctionevaluationbodyjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/statements/async-function/evaluation-body.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/statements/async-function/evaluation-body.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/statements/async-function/evaluation-body.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,18 @@
</span><ins>+// copyright 2016 microsoft, inc. all rights reserved.
+// this code is governed by the bsd license found in the license file.
+
+/*---
+author: brian terlson &lt;brian.terlson@microsoft.com&gt;
+esid: pending
+description: &gt;
+  async function bodies are executed immediately (unlike generators)
+---*/
+
+let called;
+async function foo() {
+  called = true;
+  await new Promise();
+}
+
+foo();
+assert(called);
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagestatementsasyncfunctionevaluationdefaultthatthrowsjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/statements/async-function/evaluation-default-that-throws.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/statements/async-function/evaluation-default-that-throws.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/statements/async-function/evaluation-default-that-throws.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,20 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson &lt;brian.terlson@microsoft.com&gt;
+esid: pending
+description: &gt;
+  If a default expression throws, the promise is rejected.
+info: &gt;
+  This is different from generators which will throw the error out of the generator
+  when it is called.
+flags: [async]
+---*/
+var y = null;
+async function foo(x = y()) {}
+foo().then(function () {
+  $DONE('promise should be rejected');
+}, function () {
+  $DONE();
+});
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagestatementsasyncfunctionevaluationmappedargumentsjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/statements/async-function/evaluation-mapped-arguments.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/statements/async-function/evaluation-mapped-arguments.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/statements/async-function/evaluation-mapped-arguments.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,22 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson &lt;brian.terlson@microsoft.com&gt;
+esid: pending
+description: &gt;
+  Mapped arguments object is used when the async function has a
+  simple parameter list.
+flags: [noStrict, async]
+---*/
+
+
+async function foo(a) {
+  arguments[0] = 2;
+  assert.sameValue(a, 2);
+
+  a = 3;
+  assert.sameValue(arguments[0], 3);
+}
+
+foo(1).then($DONE, $DONE);
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagestatementsasyncfunctionevaluationthisvalueglobaljs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/statements/async-function/evaluation-this-value-global.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/statements/async-function/evaluation-this-value-global.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/statements/async-function/evaluation-this-value-global.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,17 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson &lt;brian.terlson@microsoft.com&gt;
+esid: pending
+description: &gt;
+  The this value is set to the global object when not passed in sloppy mode.
+flags: [noStrict, async]
+---*/
+
+var glob = this;
+async function foo() {
+  assert.sameValue(this, glob);
+}
+
+foo().then($DONE, $DONE);
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagestatementsasyncfunctionevaluationthisvaluepassedjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/statements/async-function/evaluation-this-value-passed.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/statements/async-function/evaluation-this-value-passed.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/statements/async-function/evaluation-this-value-passed.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,18 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson &lt;brian.terlson@microsoft.com&gt;
+esid: pending
+description: &gt;
+  The this value from the caller is present in the async function body
+flags: [async]
+---*/
+
+
+async function foo(a) {
+  assert.sameValue(this, a)
+}
+var obj = {};
+foo.call(obj, obj).then($DONE, $DONE);
+
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagestatementsasyncfunctionevaluationunmappedargumentsjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/statements/async-function/evaluation-unmapped-arguments.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/statements/async-function/evaluation-unmapped-arguments.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/statements/async-function/evaluation-unmapped-arguments.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,23 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson &lt;brian.terlson@microsoft.com&gt;
+esid: pending
+description: &gt;
+  Unmapped arguments object is used when the async function doesn't have a
+  simple parameter list.
+flags: [async]
+---*/
+
+
+async function foo(a = 42) {
+  arguments[0] = 2;
+  assert.sameValue(a, 1);
+
+  a = 3;
+  assert.sameValue(arguments[0], 2);
+}
+
+foo(1).then($DONE, $DONE);
+
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagestatementsasyncfunctionsyntaxdeclarationlineterminatorsallowedjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/statements/async-function/syntax-declaration-line-terminators-allowed.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/statements/async-function/syntax-declaration-line-terminators-allowed.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/statements/async-function/syntax-declaration-line-terminators-allowed.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,17 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson &lt;brian.terlson@microsoft.com&gt;
+esid: pending
+description: &gt;
+  Declarations allow line breaks after function and after arguments list
+---*/
+
+async function
+foo()
+{
+  
+}
+
+assert(foo instanceof Function);
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagestatementsasyncfunctionsyntaxdeclarationnolineterminatorjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/statements/async-function/syntax-declaration-no-line-terminator.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/statements/async-function/syntax-declaration-no-line-terminator.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/statements/async-function/syntax-declaration-no-line-terminator.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,13 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson &lt;brian.terlson@microsoft.com&gt;
+esid: pending
+description: Async function declarations cannot have a line break after `async`
+info: Reference error is thrown due to looking up async in strict mode
+---*/
+assert.throws(ReferenceError, function() {
+  async
+  function foo() {}
+});
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagestatementsasyncfunctionsyntaxdeclarationjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/statements/async-function/syntax-declaration.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/statements/async-function/syntax-declaration.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/statements/async-function/syntax-declaration.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,15 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson &lt;brian.terlson@microsoft.com&gt;
+esid: pending
+description: Async function declaration returns a promise
+flags: [async]
+---*/
+
+async function foo () {  }
+
+foo().then(function() {
+  $DONE();
+})
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagestatementsclassdefinitionclassmethodreturnspromisejs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/statements/class/definition/class-method-returns-promise.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/statements/class/definition/class-method-returns-promise.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/statements/class/definition/class-method-returns-promise.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,14 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson &lt;brian.terlson@microsoft.com&gt;
+esid: pending
+description: &gt;
+  Async function expressions return promises
+---*/
+class Foo {
+  async method() {};
+}
+var p = new Foo().method();
+assert(p instanceof Promise, &quot;async functions return promise instances&quot;);
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagestatementsclassdefinitionearlyerrorsclassmethodNSPLwithUSDjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/statements/class/definition/early-errors-class-method-NSPL-with-USD.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/statements/class/definition/early-errors-class-method-NSPL-with-USD.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/statements/class/definition/early-errors-class-method-NSPL-with-USD.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,13 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson &lt;brian.terlson@microsoft.com&gt;
+esid: pending
+description: &gt;
+  It is a Syntax Error if ContainsUseStrict of AsyncConciseBody is *true* and IsSimpleParameterList of ArrowParameters is *false*.
+negative: SyntaxError
+---*/
+class Foo {
+  async bar(x = 1) {&quot;use strict&quot;}
+}
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagestatementsclassdefinitionearlyerrorsclassmethodargumentsinformalparametersjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/statements/class/definition/early-errors-class-method-arguments-in-formal-parameters.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/statements/class/definition/early-errors-class-method-arguments-in-formal-parameters.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/statements/class/definition/early-errors-class-method-arguments-in-formal-parameters.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,12 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson &lt;brian.terlson@microsoft.com&gt;
+esid: pending
+description: It is a SyntaxError if FormalParameters contains arguments
+negative: SyntaxError
+---*/
+class Foo {
+  async foo (arguments) { }
+}
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagestatementsclassdefinitionearlyerrorsclassmethodawaitinformalsdefaultjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/statements/class/definition/early-errors-class-method-await-in-formals-default.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/statements/class/definition/early-errors-class-method-await-in-formals-default.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/statements/class/definition/early-errors-class-method-await-in-formals-default.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,13 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson &lt;brian.terlson@microsoft.com&gt;
+esid: pending
+description: It is a SyntaxError if FormalParameters' default expressions contains await
+negative: SyntaxError
+---*/
+class Foo {
+  async foo (x = await) {  }
+}
+
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagestatementsclassdefinitionearlyerrorsclassmethodawaitinformalsjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/statements/class/definition/early-errors-class-method-await-in-formals.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/statements/class/definition/early-errors-class-method-await-in-formals.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/statements/class/definition/early-errors-class-method-await-in-formals.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,12 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson &lt;brian.terlson@microsoft.com&gt;
+esid: pending
+description: It is a SyntaxError if FormalParameters contains await
+negative: SyntaxError
+---*/
+class Foo {
+  async foo (await) {  }
+}
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagestatementsclassdefinitionearlyerrorsclassmethodbodycontainssupercalljs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/statements/class/definition/early-errors-class-method-body-contains-super-call.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/statements/class/definition/early-errors-class-method-body-contains-super-call.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/statements/class/definition/early-errors-class-method-body-contains-super-call.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,12 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson &lt;brian.terlson@microsoft.com&gt;
+esid: pending
+description: It is a SyntaxError if AsyncFunctionBody contains SuperCall is true
+negative: SyntaxError
+---*/
+class Foo {
+  async foo () { super() }
+}
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagestatementsclassdefinitionearlyerrorsclassmethodduplicateparametersjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/statements/class/definition/early-errors-class-method-duplicate-parameters.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/statements/class/definition/early-errors-class-method-duplicate-parameters.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/statements/class/definition/early-errors-class-method-duplicate-parameters.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,14 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson &lt;brian.terlson@microsoft.com&gt;
+esid: pending
+description: &gt;
+  Early error rules for StrictFormalParameters are applied
+negative: SyntaxError
+---*/
+
+class Foo {
+  async foo(a, a) { }
+}
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagestatementsclassdefinitionearlyerrorsclassmethodevalinformalparametersjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/statements/class/definition/early-errors-class-method-eval-in-formal-parameters.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/statements/class/definition/early-errors-class-method-eval-in-formal-parameters.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/statements/class/definition/early-errors-class-method-eval-in-formal-parameters.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,12 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson &lt;brian.terlson@microsoft.com&gt;
+esid: pending
+description: It is a SyntaxError if FormalParameters contains eval in strict mode
+negative: SyntaxError
+---*/
+class Foo {
+  async foo(eval) { }
+}
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagestatementsclassdefinitionearlyerrorsclassmethodformalsbodyduplicatejs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/statements/class/definition/early-errors-class-method-formals-body-duplicate.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/statements/class/definition/early-errors-class-method-formals-body-duplicate.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/statements/class/definition/early-errors-class-method-formals-body-duplicate.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,14 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson &lt;brian.terlson@microsoft.com&gt;
+esid: pending
+description: &gt;
+  It is a SyntaxError if BoundNames of FormalParameters also occurs in the LexicallyDeclaredNames of AsyncFunctionBody
+negative: SyntaxError
+---*/
+
+class Foo {
+  async function foo(bar) { let bar; }
+}
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagestatementsclassdefinitionearlyerrorsclassmethodformalscontainssupercalljs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/statements/class/definition/early-errors-class-method-formals-contains-super-call.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/statements/class/definition/early-errors-class-method-formals-contains-super-call.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/statements/class/definition/early-errors-class-method-formals-contains-super-call.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,12 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson &lt;brian.terlson@microsoft.com&gt;
+esid: pending
+description: It is a syntax error if FormalParameters contains SuperCall is true
+negative: SyntaxError
+---*/
+class Foo {
+  async foo(foo = super()) { }
+}
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagestatementsclassdefinitionmethodsasyncsupercallbodyjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/statements/class/definition/methods-async-super-call-body.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/statements/class/definition/methods-async-super-call-body.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/statements/class/definition/methods-async-super-call-body.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,25 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson &lt;brian.terlson@microsoft.com&gt;
+esid: pending
+description: &gt;
+  Super calls work in body of async methods
+flags: [async]
+---*/
+class A {
+  async method() {
+    return 'sup';
+  }
+}
+
+class B extends A {
+  async method() {
+    var x = await super.method();
+    assert.sameValue(x, 'sup');
+  }
+}
+var child = new B();
+child.method().then($DONE, $DONE);
+
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagestatementsclassdefinitionmethodsasyncsupercallparamjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/statements/class/definition/methods-async-super-call-param.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/statements/class/definition/methods-async-super-call-param.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/statements/class/definition/methods-async-super-call-param.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,24 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson &lt;brian.terlson@microsoft.com&gt;
+esid: pending
+description: &gt;
+  Super calls work in the parameter list of async methods
+flags: [async]
+---*/
+
+class A {
+  async method() {
+    return 'sup';
+  }
+}
+
+class B extends A {
+  async method(x = super.method()) {
+    assert.sameValue(await x, 'sup');
+  }
+}
+var child = new B();
+child.method().then($DONE, $DONE);
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagestatementsclassdefinitionparamstrailingcommaargumentsjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/statements/class/definition/params-trailing-comma-arguments.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/statements/class/definition/params-trailing-comma-arguments.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/statements/class/definition/params-trailing-comma-arguments.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,32 @@
</span><ins>+// Copyright (C) 2016 Jeff Morrison. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+description: &gt;
+  Check that trailing commas in method parameter lists do not affect `arguments`
+  in class method bodies.
+info: http://jeffmo.github.io/es-trailing-function-commas/
+author: Jeff Morrison &lt;lbljeffmo@gmail.com&gt;
+---*/
+
+class C {
+  f1() {
+    assert.sameValue(
+      arguments.length,
+      1,
+      &quot;Class method called with 1 arg + trailing comma reports &quot; +
+      &quot;invalid arguments.length!&quot;
+    );
+  },
+
+  f2() {
+    assert.sameValue(
+      arguments.length,
+      2,
+      &quot;Class method called with 2 arg + trailing comma reports &quot; +
+      &quot;invalid arguments.length!&quot;
+    );
+  }
+};
+
+(new C()).f1(1,);
+(new C()).f2(1,2,);
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagestatementsclassdefinitionparamstrailingcommalengthjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/statements/class/definition/params-trailing-comma-length.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/statements/class/definition/params-trailing-comma-length.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/statements/class/definition/params-trailing-comma-length.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,26 @@
</span><ins>+// Copyright (C) 2016 Jeff Morrison. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+description: &gt;
+  Check that trailing commas don't affect the .length property of
+  class methods.
+info: http://jeffmo.github.io/es-trailing-function-commas/
+author: Jeff Morrison &lt;lbljeffmo@gmail.com&gt;
+---*/
+
+class C {
+  one(a,) {}
+  two(a,b,) {}
+};
+
+assert.sameValue(
+  C.prototype.one.length,
+  1,
+  &quot;Class method with 1 arg + trailing comma reports incorrect .length!&quot;
+);
+
+assert.sameValue(
+  C.prototype.two.length,
+  2,
+  &quot;Class method with 2 args + trailing comma reports incorrect .length!&quot;
+);
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagestatementsclassdefinitionparamstrailingcommarestjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/statements/class/definition/params-trailing-comma-rest.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/statements/class/definition/params-trailing-comma-rest.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/statements/class/definition/params-trailing-comma-rest.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,13 @@
</span><ins>+// Copyright (C) 2016 Jeff Morrison. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+description: &gt;
+  Check that trailing commas are not permitted after rest args in
+  class method parameter lists.
+info: http://jeffmo.github.io/es-trailing-function-commas/
+author: Jeff Morrison &lt;lbljeffmo@gmail.com&gt;
+negative: SyntaxError
+---*/
+class C {
+  m(...[],) {}
+}
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagestatementsclassdefinitionparamstrailingcommajs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/statements/class/definition/params-trailing-comma.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/statements/class/definition/params-trailing-comma.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/statements/class/definition/params-trailing-comma.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,11 @@
</span><ins>+// Copyright (C) 2016 Jeff Morrison. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+description: Check that trailing commas are permitted in class method argument lists
+info: http://jeffmo.github.io/es-trailing-function-commas/
+author: Jeff Morrison &lt;lbljeffmo@gmail.com&gt;
+---*/
+class C {
+  one(a,) {},
+  two(a,b,) {},
+}
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagestatementsfunctionargumentswithargumentsfnjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/statements/function/arguments-with-arguments-fn.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/statements/function/arguments-with-arguments-fn.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/statements/function/arguments-with-arguments-fn.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,30 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-functiondeclarationinstantiation
+es6id: 9.2.12
+description: &gt;
+  Arguments object is created even when the body contains a lexically-scoped
+  binding named &quot;arguments&quot;
+info: |
+  [...]
+  19. Else if &quot;arguments&quot; is an element of parameterNames, then
+      a. Let argumentsObjectNeeded be false.
+  20. Else if hasParameterExpressions is false, then
+      a. If &quot;arguments&quot; is an element of functionNames or if &quot;arguments&quot; is an
+         element of lexicalNames, then
+         i. Let argumentsObjectNeeded be false.
+  [...]
+flags: [noStrict]
+---*/
+
+var args;
+
+function f(x = args = arguments) {
+  function arguments() {}
+}
+
+f();
+
+assert.sameValue(typeof args, 'object');
+assert.sameValue(args.length, 0);
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagestatementsfunctionargumentswithargumentslexjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/statements/function/arguments-with-arguments-lex.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/statements/function/arguments-with-arguments-lex.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/statements/function/arguments-with-arguments-lex.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,30 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-functiondeclarationinstantiation
+es6id: 9.2.12
+description: &gt;
+  Arguments object is created even when the body contains a function named
+  &quot;arguments&quot;
+info: |
+  [...]
+  19. Else if &quot;arguments&quot; is an element of parameterNames, then
+      a. Let argumentsObjectNeeded be false.
+  20. Else if hasParameterExpressions is false, then
+      a. If &quot;arguments&quot; is an element of functionNames or if &quot;arguments&quot; is an
+         element of lexicalNames, then
+         i. Let argumentsObjectNeeded be false.
+  [...]
+flags: [noStrict]
+---*/
+
+var args;
+
+function f(x = args = arguments) {
+  let arguments;
+}
+
+f();
+
+assert.sameValue(typeof args, 'object');
+assert.sameValue(args.length, 0);
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagestatementsfunctionparamstrailingcommaargumentsjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/statements/function/params-trailing-comma-arguments.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/statements/function/params-trailing-comma-arguments.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/statements/function/params-trailing-comma-arguments.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,30 @@
</span><ins>+// Copyright (C) 2016 Jeff Morrison. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+description: &gt;
+  Check that trailing commas do not affect `arguments` in function
+  declaration bodies.
+info: http://jeffmo.github.io/es-trailing-function-commas/
+author: Jeff Morrison &lt;lbljeffmo@gmail.com&gt;
+---*/
+
+function f1() {
+  assert.sameValue(
+    arguments.length,
+    1,
+    &quot;Function declaration called with 1 arg + trailing comma reports &quot; +
+    &quot;invalid arguments.length!&quot;
+  );
+}
+
+function f2() {
+  assert.sameValue(
+    arguments.length,
+    2,
+    &quot;Function declaration called with 2 arg + trailing comma reports &quot; +
+    &quot;invalid arguments.length!&quot;
+  );
+}
+
+f1(1,);
+f2(1,2,);
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagestatementsfunctionparamstrailingcommalengthjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/statements/function/params-trailing-comma-length.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/statements/function/params-trailing-comma-length.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/statements/function/params-trailing-comma-length.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,24 @@
</span><ins>+// Copyright (C) 2016 Jeff Morrison. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+description: &gt;
+  Check that trailing commas don't affect the .length property of
+  function declarations.
+info: http://jeffmo.github.io/es-trailing-function-commas/
+author: Jeff Morrison &lt;lbljeffmo@gmail.com&gt;
+---*/
+
+function one(a,) {}
+function two(a,b,) {}
+
+assert.sameValue(
+  one.length,
+  1,
+  &quot;Function expression with 1 arg + trailing comma reports incorrect .length!&quot;
+);
+
+assert.sameValue(
+  two.length,
+  2,
+  &quot;Function expression with 2 args + trailing comma reports incorrect .length!&quot;
+);
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagestatementsfunctionparamstrailingcommajs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/statements/function/params-trailing-comma.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/statements/function/params-trailing-comma.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/statements/function/params-trailing-comma.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,9 @@
</span><ins>+// Copyright (C) 2016 Jeff Morrison. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+description: Check that trailing commas are permitted in function declaration argument lists
+info: http://jeffmo.github.io/es-trailing-function-commas/
+author: Jeff Morrison &lt;lbljeffmo@gmail.com&gt;
+---*/
+function one(a,) {}
+function two(a,b,) {}
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagestatementsgeneratorsargumentswithargumentsfnjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/statements/generators/arguments-with-arguments-fn.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/statements/generators/arguments-with-arguments-fn.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/statements/generators/arguments-with-arguments-fn.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,30 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-functiondeclarationinstantiation
+es6id: 9.2.12
+description: &gt;
+  Arguments object is created even when the body contains a lexically-scoped
+  binding named &quot;arguments&quot;
+info: |
+  [...]
+  19. Else if &quot;arguments&quot; is an element of parameterNames, then
+      a. Let argumentsObjectNeeded be false.
+  20. Else if hasParameterExpressions is false, then
+      a. If &quot;arguments&quot; is an element of functionNames or if &quot;arguments&quot; is an
+         element of lexicalNames, then
+         i. Let argumentsObjectNeeded be false.
+  [...]
+flags: [noStrict]
+---*/
+
+var args;
+
+function* g(x = args = arguments) {
+  function arguments() {}
+}
+
+g().next();
+
+assert.sameValue(typeof args, 'object');
+assert.sameValue(args.length, 0);
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagestatementsgeneratorsargumentswithargumentslexjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/statements/generators/arguments-with-arguments-lex.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/statements/generators/arguments-with-arguments-lex.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/statements/generators/arguments-with-arguments-lex.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,30 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-functiondeclarationinstantiation
+es6id: 9.2.12
+description: &gt;
+  Arguments object is created even when the body contains a function named
+  &quot;arguments&quot;
+info: |
+  [...]
+  19. Else if &quot;arguments&quot; is an element of parameterNames, then
+      a. Let argumentsObjectNeeded be false.
+  20. Else if hasParameterExpressions is false, then
+      a. If &quot;arguments&quot; is an element of functionNames or if &quot;arguments&quot; is an
+         element of lexicalNames, then
+         i. Let argumentsObjectNeeded be false.
+  [...]
+flags: [noStrict]
+---*/
+
+var args;
+
+function* g(x = args = arguments) {
+  let arguments;
+}
+
+g().next();
+
+assert.sameValue(typeof args, 'object');
+assert.sameValue(args.length, 0);
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagestatementsgeneratorsparamstrailingcommalengthjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/statements/generators/params-trailing-comma-length.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/statements/generators/params-trailing-comma-length.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/statements/generators/params-trailing-comma-length.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,24 @@
</span><ins>+// Copyright (C) 2016 Jeff Morrison. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+description: &gt;
+  Check that trailing commas don't affect the .length property of
+  generator function declarations.
+info: http://jeffmo.github.io/es-trailing-function-commas/
+author: Jeff Morrison &lt;lbljeffmo@gmail.com&gt;
+---*/
+
+function one*(a,) {}
+function two*(a,b,) {}
+
+assert.sameValue(
+  one.length,
+  1,
+  &quot;Function expression with 1 arg + trailing comma reports incorrect .length!&quot;
+);
+
+assert.sameValue(
+  two.length,
+  2,
+  &quot;Function expression with 2 args + trailing comma reports incorrect .length!&quot;
+);
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagestatementsgeneratorsparamstrailingcommajs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/statements/generators/params-trailing-comma.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/statements/generators/params-trailing-comma.js                                (rev 0)
+++ trunk/JSTests/test262/test/language/statements/generators/params-trailing-comma.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,9 @@
</span><ins>+// Copyright (C) 2016 Jeff Morrison. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+description: Check that trailing commas are permitted in generator function argument lists
+info: http://jeffmo.github.io/es-trailing-function-commas/
+author: Jeff Morrison &lt;lbljeffmo@gmail.com&gt;
+---*/
+function* one(a,) {}
+function* two(a,b,) {}
</ins></span></pre></div>
<a id="trunkJSTeststest262test262Revisiontxt"></a>
<div class="modfile"><h4>Modified: trunk/JSTests/test262/test262-Revision.txt (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test262-Revision.txt        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test262-Revision.txt        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -1,3 +1,3 @@
</span><span class="cx"> test262 remote url: https://github.com/tc39/test262.git
</span><del>-test262 revision: 163fae3e68998c1a69e1e6825bf34e89b76cff58
</del><ins>+test262 revision: fb45ed9772398e83f3d9f8f84a6e1a86914ad147
</ins><span class="cx"> 
</span></span></pre></div>
<a id="trunkJSTeststest262yaml"></a>
<div class="modfile"><h4>Modified: trunk/JSTests/test262.yaml (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262.yaml        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262.yaml        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -2427,6 +2427,30 @@
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], [:strict]
</span><span class="cx"> - path: test262/test/annexB/language/literals/string/legacy-octal-escape-sequence.js
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
</span><ins>+- path: test262/test/annexB/language/statements/for-in/bare-initializer.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
+- path: test262/test/annexB/language/statements/for-in/bare-initializer.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/annexB/language/statements/for-in/const-initializer.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
+- path: test262/test/annexB/language/statements/for-in/const-initializer.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/annexB/language/statements/for-in/let-initializer.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
+- path: test262/test/annexB/language/statements/for-in/let-initializer.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/annexB/language/statements/for-in/nonstrict-initializer.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
+- path: test262/test/annexB/language/statements/for-in/strict-initializer.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/annexB/language/statements/for-in/var-arraybindingpattern-initializer.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
+- path: test262/test/annexB/language/statements/for-in/var-arraybindingpattern-initializer.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/annexB/language/statements/for-in/var-objectbindingpattern-initializer.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
+- path: test262/test/annexB/language/statements/for-in/var-objectbindingpattern-initializer.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], [:strict]
</ins><span class="cx"> - path: test262/test/annexB/language/statements/labeled/function-declaration.js
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
</span><span class="cx"> - path: test262/test/annexB/language/statements/try/catch-redeclared-for-in-var.js
</span><span class="lines">@@ -13229,6 +13253,66 @@
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;, &quot;../../../../harness/propertyHelper.js&quot;], []
</span><span class="cx"> - path: test262/test/built-ins/ArrayIteratorPrototype/next/property-descriptor.js
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;, &quot;../../../../harness/propertyHelper.js&quot;], [:strict]
</span><ins>+- path: test262/test/built-ins/AsyncFunction/AsyncFunction-construct.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;], []
+- path: test262/test/built-ins/AsyncFunction/AsyncFunction-construct.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/built-ins/AsyncFunction/AsyncFunction-is-extensible.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;], []
+- path: test262/test/built-ins/AsyncFunction/AsyncFunction-is-extensible.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/built-ins/AsyncFunction/AsyncFunction-is-subclass.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;], []
+- path: test262/test/built-ins/AsyncFunction/AsyncFunction-is-subclass.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/built-ins/AsyncFunction/AsyncFunction-length.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;, &quot;../../../harness/propertyHelper.js&quot;], []
+- path: test262/test/built-ins/AsyncFunction/AsyncFunction-length.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;, &quot;../../../harness/propertyHelper.js&quot;], [:strict]
+- path: test262/test/built-ins/AsyncFunction/AsyncFunction-name.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;, &quot;../../../harness/propertyHelper.js&quot;], []
+- path: test262/test/built-ins/AsyncFunction/AsyncFunction-name.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;, &quot;../../../harness/propertyHelper.js&quot;], [:strict]
+- path: test262/test/built-ins/AsyncFunction/AsyncFunction-prototype.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;, &quot;../../../harness/propertyHelper.js&quot;], []
+- path: test262/test/built-ins/AsyncFunction/AsyncFunction-prototype.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;, &quot;../../../harness/propertyHelper.js&quot;], [:strict]
+- path: test262/test/built-ins/AsyncFunction/AsyncFunction.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;], []
+- path: test262/test/built-ins/AsyncFunction/AsyncFunction.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/built-ins/AsyncFunction/AsyncFunctionPrototype-is-extensible.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;], []
+- path: test262/test/built-ins/AsyncFunction/AsyncFunctionPrototype-is-extensible.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/built-ins/AsyncFunction/AsyncFunctionPrototype-prototype.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;], []
+- path: test262/test/built-ins/AsyncFunction/AsyncFunctionPrototype-prototype.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/built-ins/AsyncFunction/AsyncFunctionPrototype-to-string.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;, &quot;../../../harness/propertyHelper.js&quot;], []
+- path: test262/test/built-ins/AsyncFunction/AsyncFunctionPrototype-to-string.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;, &quot;../../../harness/propertyHelper.js&quot;], [:strict]
+- path: test262/test/built-ins/AsyncFunction/instance-construct.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;], []
+- path: test262/test/built-ins/AsyncFunction/instance-construct.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/built-ins/AsyncFunction/instance-has-name.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;, &quot;../../../harness/propertyHelper.js&quot;], []
+- path: test262/test/built-ins/AsyncFunction/instance-has-name.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;, &quot;../../../harness/propertyHelper.js&quot;], [:strict]
+- path: test262/test/built-ins/AsyncFunction/instance-length.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;, &quot;../../../harness/propertyHelper.js&quot;], []
+- path: test262/test/built-ins/AsyncFunction/instance-length.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;, &quot;../../../harness/propertyHelper.js&quot;], [:strict]
+- path: test262/test/built-ins/AsyncFunction/instance-prototype-property.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;], []
+- path: test262/test/built-ins/AsyncFunction/instance-prototype-property.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/built-ins/AsyncFunction/is-not-a-global.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;], []
+- path: test262/test/built-ins/AsyncFunction/is-not-a-global.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;], [:strict]
</ins><span class="cx"> - path: test262/test/built-ins/Boolean/S15.6.1.1_A1_T1.js
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;], []
</span><span class="cx"> - path: test262/test/built-ins/Boolean/S15.6.1.1_A1_T1.js
</span><span class="lines">@@ -13621,9 +13705,9 @@
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
</span><span class="cx"> - path: test262/test/built-ins/DataView/prototype/byteOffset/this-is-not-object.js
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], [:strict]
</span><del>-- path: test262/test/built-ins/DataView/prototype/getFloat32/detached-buffer-after-integer-byteoffset.js
</del><ins>+- path: test262/test/built-ins/DataView/prototype/getFloat32/detached-buffer-after-toindex-byteoffset.js
</ins><span class="cx">   cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;, &quot;../../../../../harness/detachArrayBuffer.js&quot;], []
</span><del>-- path: test262/test/built-ins/DataView/prototype/getFloat32/detached-buffer-after-integer-byteoffset.js
</del><ins>+- path: test262/test/built-ins/DataView/prototype/getFloat32/detached-buffer-after-toindex-byteoffset.js
</ins><span class="cx">   cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;, &quot;../../../../../harness/detachArrayBuffer.js&quot;], [:strict]
</span><span class="cx"> - path: test262/test/built-ins/DataView/prototype/getFloat32/detached-buffer-before-outofrange-byteoffset.js
</span><span class="cx">   cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;, &quot;../../../../../harness/detachArrayBuffer.js&quot;], []
</span><span class="lines">@@ -13697,9 +13781,9 @@
</span><span class="cx">   cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
</span><span class="cx"> - path: test262/test/built-ins/DataView/prototype/getFloat32/toindex-byteoffset.js
</span><span class="cx">   cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], [:strict]
</span><del>-- path: test262/test/built-ins/DataView/prototype/getFloat64/detached-buffer-after-integer-byteoffset.js
</del><ins>+- path: test262/test/built-ins/DataView/prototype/getFloat64/detached-buffer-after-toindex-byteoffset.js
</ins><span class="cx">   cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;, &quot;../../../../../harness/detachArrayBuffer.js&quot;], []
</span><del>-- path: test262/test/built-ins/DataView/prototype/getFloat64/detached-buffer-after-integer-byteoffset.js
</del><ins>+- path: test262/test/built-ins/DataView/prototype/getFloat64/detached-buffer-after-toindex-byteoffset.js
</ins><span class="cx">   cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;, &quot;../../../../../harness/detachArrayBuffer.js&quot;], [:strict]
</span><span class="cx"> - path: test262/test/built-ins/DataView/prototype/getFloat64/detached-buffer-before-outofrange-byteoffset.js
</span><span class="cx">   cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;, &quot;../../../../../harness/detachArrayBuffer.js&quot;], []
</span><span class="lines">@@ -13773,9 +13857,9 @@
</span><span class="cx">   cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
</span><span class="cx"> - path: test262/test/built-ins/DataView/prototype/getFloat64/toindex-byteoffset.js
</span><span class="cx">   cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], [:strict]
</span><del>-- path: test262/test/built-ins/DataView/prototype/getInt16/detached-buffer-after-integer-byteoffset.js
</del><ins>+- path: test262/test/built-ins/DataView/prototype/getInt16/detached-buffer-after-toindex-byteoffset.js
</ins><span class="cx">   cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;, &quot;../../../../../harness/detachArrayBuffer.js&quot;], []
</span><del>-- path: test262/test/built-ins/DataView/prototype/getInt16/detached-buffer-after-integer-byteoffset.js
</del><ins>+- path: test262/test/built-ins/DataView/prototype/getInt16/detached-buffer-after-toindex-byteoffset.js
</ins><span class="cx">   cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;, &quot;../../../../../harness/detachArrayBuffer.js&quot;], [:strict]
</span><span class="cx"> - path: test262/test/built-ins/DataView/prototype/getInt16/detached-buffer-before-outofrange-byteoffset.js
</span><span class="cx">   cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;, &quot;../../../../../harness/detachArrayBuffer.js&quot;], []
</span><span class="lines">@@ -13837,9 +13921,9 @@
</span><span class="cx">   cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
</span><span class="cx"> - path: test262/test/built-ins/DataView/prototype/getInt16/toindex-byteoffset.js
</span><span class="cx">   cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], [:strict]
</span><del>-- path: test262/test/built-ins/DataView/prototype/getInt32/detached-buffer-after-integer-byteoffset.js
</del><ins>+- path: test262/test/built-ins/DataView/prototype/getInt32/detached-buffer-after-toindex-byteoffset.js
</ins><span class="cx">   cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;, &quot;../../../../../harness/detachArrayBuffer.js&quot;], []
</span><del>-- path: test262/test/built-ins/DataView/prototype/getInt32/detached-buffer-after-integer-byteoffset.js
</del><ins>+- path: test262/test/built-ins/DataView/prototype/getInt32/detached-buffer-after-toindex-byteoffset.js
</ins><span class="cx">   cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;, &quot;../../../../../harness/detachArrayBuffer.js&quot;], [:strict]
</span><span class="cx"> - path: test262/test/built-ins/DataView/prototype/getInt32/detached-buffer-before-outofrange-byteoffset.js
</span><span class="cx">   cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;, &quot;../../../../../harness/detachArrayBuffer.js&quot;], []
</span><span class="lines">@@ -13901,9 +13985,9 @@
</span><span class="cx">   cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
</span><span class="cx"> - path: test262/test/built-ins/DataView/prototype/getInt32/toindex-byteoffset.js
</span><span class="cx">   cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], [:strict]
</span><del>-- path: test262/test/built-ins/DataView/prototype/getInt8/detached-buffer-after-integer-byteoffset.js
</del><ins>+- path: test262/test/built-ins/DataView/prototype/getInt8/detached-buffer-after-toindex-byteoffset.js
</ins><span class="cx">   cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;, &quot;../../../../../harness/detachArrayBuffer.js&quot;], []
</span><del>-- path: test262/test/built-ins/DataView/prototype/getInt8/detached-buffer-after-integer-byteoffset.js
</del><ins>+- path: test262/test/built-ins/DataView/prototype/getInt8/detached-buffer-after-toindex-byteoffset.js
</ins><span class="cx">   cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;, &quot;../../../../../harness/detachArrayBuffer.js&quot;], [:strict]
</span><span class="cx"> - path: test262/test/built-ins/DataView/prototype/getInt8/detached-buffer-before-outofrange-byteoffset.js
</span><span class="cx">   cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;, &quot;../../../../../harness/detachArrayBuffer.js&quot;], []
</span><span class="lines">@@ -13961,9 +14045,9 @@
</span><span class="cx">   cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
</span><span class="cx"> - path: test262/test/built-ins/DataView/prototype/getInt8/toindex-byteoffset.js
</span><span class="cx">   cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], [:strict]
</span><del>-- path: test262/test/built-ins/DataView/prototype/getUint16/detached-buffer-after-integer-byteoffset.js
</del><ins>+- path: test262/test/built-ins/DataView/prototype/getUint16/detached-buffer-after-toindex-byteoffset.js
</ins><span class="cx">   cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;, &quot;../../../../../harness/detachArrayBuffer.js&quot;], []
</span><del>-- path: test262/test/built-ins/DataView/prototype/getUint16/detached-buffer-after-integer-byteoffset.js
</del><ins>+- path: test262/test/built-ins/DataView/prototype/getUint16/detached-buffer-after-toindex-byteoffset.js
</ins><span class="cx">   cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;, &quot;../../../../../harness/detachArrayBuffer.js&quot;], [:strict]
</span><span class="cx"> - path: test262/test/built-ins/DataView/prototype/getUint16/detached-buffer-before-outofrange-byteoffset.js
</span><span class="cx">   cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;, &quot;../../../../../harness/detachArrayBuffer.js&quot;], []
</span><span class="lines">@@ -14025,9 +14109,9 @@
</span><span class="cx">   cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
</span><span class="cx"> - path: test262/test/built-ins/DataView/prototype/getUint16/toindex-byteoffset.js
</span><span class="cx">   cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], [:strict]
</span><del>-- path: test262/test/built-ins/DataView/prototype/getUint32/detached-buffer-after-integer-byteoffset.js
</del><ins>+- path: test262/test/built-ins/DataView/prototype/getUint32/detached-buffer-after-toindex-byteoffset.js
</ins><span class="cx">   cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;, &quot;../../../../../harness/detachArrayBuffer.js&quot;], []
</span><del>-- path: test262/test/built-ins/DataView/prototype/getUint32/detached-buffer-after-integer-byteoffset.js
</del><ins>+- path: test262/test/built-ins/DataView/prototype/getUint32/detached-buffer-after-toindex-byteoffset.js
</ins><span class="cx">   cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;, &quot;../../../../../harness/detachArrayBuffer.js&quot;], [:strict]
</span><span class="cx"> - path: test262/test/built-ins/DataView/prototype/getUint32/detached-buffer-before-outofrange-byteoffset.js
</span><span class="cx">   cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;, &quot;../../../../../harness/detachArrayBuffer.js&quot;], []
</span><span class="lines">@@ -14089,9 +14173,9 @@
</span><span class="cx">   cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
</span><span class="cx"> - path: test262/test/built-ins/DataView/prototype/getUint32/toindex-byteoffset.js
</span><span class="cx">   cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], [:strict]
</span><del>-- path: test262/test/built-ins/DataView/prototype/getUint8/detached-buffer-after-integer-byteoffset.js
</del><ins>+- path: test262/test/built-ins/DataView/prototype/getUint8/detached-buffer-after-toindex-byteoffset.js
</ins><span class="cx">   cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;, &quot;../../../../../harness/detachArrayBuffer.js&quot;], []
</span><del>-- path: test262/test/built-ins/DataView/prototype/getUint8/detached-buffer-after-integer-byteoffset.js
</del><ins>+- path: test262/test/built-ins/DataView/prototype/getUint8/detached-buffer-after-toindex-byteoffset.js
</ins><span class="cx">   cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;, &quot;../../../../../harness/detachArrayBuffer.js&quot;], [:strict]
</span><span class="cx"> - path: test262/test/built-ins/DataView/prototype/getUint8/detached-buffer-before-outofrange-byteoffset.js
</span><span class="cx">   cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;, &quot;../../../../../harness/detachArrayBuffer.js&quot;], []
</span><span class="lines">@@ -14149,14 +14233,14 @@
</span><span class="cx">   cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
</span><span class="cx"> - path: test262/test/built-ins/DataView/prototype/getUint8/toindex-byteoffset.js
</span><span class="cx">   cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], [:strict]
</span><del>-- path: test262/test/built-ins/DataView/prototype/setFloat32/detached-buffer-after-integer-byteoffset.js
-  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;, &quot;../../../../../harness/detachArrayBuffer.js&quot;], []
-- path: test262/test/built-ins/DataView/prototype/setFloat32/detached-buffer-after-integer-byteoffset.js
-  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;, &quot;../../../../../harness/detachArrayBuffer.js&quot;], [:strict]
</del><span class="cx"> - path: test262/test/built-ins/DataView/prototype/setFloat32/detached-buffer-after-number-value.js
</span><span class="cx">   cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;, &quot;../../../../../harness/detachArrayBuffer.js&quot;], []
</span><span class="cx"> - path: test262/test/built-ins/DataView/prototype/setFloat32/detached-buffer-after-number-value.js
</span><span class="cx">   cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;, &quot;../../../../../harness/detachArrayBuffer.js&quot;], [:strict]
</span><ins>+- path: test262/test/built-ins/DataView/prototype/setFloat32/detached-buffer-after-toindex-byteoffset.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;, &quot;../../../../../harness/detachArrayBuffer.js&quot;], []
+- path: test262/test/built-ins/DataView/prototype/setFloat32/detached-buffer-after-toindex-byteoffset.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;, &quot;../../../../../harness/detachArrayBuffer.js&quot;], [:strict]
</ins><span class="cx"> - path: test262/test/built-ins/DataView/prototype/setFloat32/detached-buffer-before-outofrange-byteoffset.js
</span><span class="cx">   cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;, &quot;../../../../../harness/detachArrayBuffer.js&quot;], []
</span><span class="cx"> - path: test262/test/built-ins/DataView/prototype/setFloat32/detached-buffer-before-outofrange-byteoffset.js
</span><span class="lines">@@ -14233,14 +14317,14 @@
</span><span class="cx">   cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
</span><span class="cx"> - path: test262/test/built-ins/DataView/prototype/setFloat32/toindex-byteoffset.js
</span><span class="cx">   cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], [:strict]
</span><del>-- path: test262/test/built-ins/DataView/prototype/setFloat64/detached-buffer-after-integer-byteoffset.js
-  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;, &quot;../../../../../harness/detachArrayBuffer.js&quot;], []
-- path: test262/test/built-ins/DataView/prototype/setFloat64/detached-buffer-after-integer-byteoffset.js
-  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;, &quot;../../../../../harness/detachArrayBuffer.js&quot;], [:strict]
</del><span class="cx"> - path: test262/test/built-ins/DataView/prototype/setFloat64/detached-buffer-after-number-value.js
</span><span class="cx">   cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;, &quot;../../../../../harness/detachArrayBuffer.js&quot;], []
</span><span class="cx"> - path: test262/test/built-ins/DataView/prototype/setFloat64/detached-buffer-after-number-value.js
</span><span class="cx">   cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;, &quot;../../../../../harness/detachArrayBuffer.js&quot;], [:strict]
</span><ins>+- path: test262/test/built-ins/DataView/prototype/setFloat64/detached-buffer-after-toindex-byteoffset.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;, &quot;../../../../../harness/detachArrayBuffer.js&quot;], []
+- path: test262/test/built-ins/DataView/prototype/setFloat64/detached-buffer-after-toindex-byteoffset.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;, &quot;../../../../../harness/detachArrayBuffer.js&quot;], [:strict]
</ins><span class="cx"> - path: test262/test/built-ins/DataView/prototype/setFloat64/detached-buffer-before-outofrange-byteoffset.js
</span><span class="cx">   cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;, &quot;../../../../../harness/detachArrayBuffer.js&quot;], []
</span><span class="cx"> - path: test262/test/built-ins/DataView/prototype/setFloat64/detached-buffer-before-outofrange-byteoffset.js
</span><span class="lines">@@ -14317,14 +14401,14 @@
</span><span class="cx">   cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
</span><span class="cx"> - path: test262/test/built-ins/DataView/prototype/setFloat64/toindex-byteoffset.js
</span><span class="cx">   cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], [:strict]
</span><del>-- path: test262/test/built-ins/DataView/prototype/setInt16/detached-buffer-after-integer-byteoffset.js
-  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;, &quot;../../../../../harness/detachArrayBuffer.js&quot;], []
-- path: test262/test/built-ins/DataView/prototype/setInt16/detached-buffer-after-integer-byteoffset.js
-  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;, &quot;../../../../../harness/detachArrayBuffer.js&quot;], [:strict]
</del><span class="cx"> - path: test262/test/built-ins/DataView/prototype/setInt16/detached-buffer-after-number-value.js
</span><span class="cx">   cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;, &quot;../../../../../harness/detachArrayBuffer.js&quot;], []
</span><span class="cx"> - path: test262/test/built-ins/DataView/prototype/setInt16/detached-buffer-after-number-value.js
</span><span class="cx">   cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;, &quot;../../../../../harness/detachArrayBuffer.js&quot;], [:strict]
</span><ins>+- path: test262/test/built-ins/DataView/prototype/setInt16/detached-buffer-after-toindex-byteoffset.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;, &quot;../../../../../harness/detachArrayBuffer.js&quot;], []
+- path: test262/test/built-ins/DataView/prototype/setInt16/detached-buffer-after-toindex-byteoffset.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;, &quot;../../../../../harness/detachArrayBuffer.js&quot;], [:strict]
</ins><span class="cx"> - path: test262/test/built-ins/DataView/prototype/setInt16/detached-buffer-before-outofrange-byteoffset.js
</span><span class="cx">   cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;, &quot;../../../../../harness/detachArrayBuffer.js&quot;], []
</span><span class="cx"> - path: test262/test/built-ins/DataView/prototype/setInt16/detached-buffer-before-outofrange-byteoffset.js
</span><span class="lines">@@ -14401,14 +14485,14 @@
</span><span class="cx">   cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
</span><span class="cx"> - path: test262/test/built-ins/DataView/prototype/setInt16/toindex-byteoffset.js
</span><span class="cx">   cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], [:strict]
</span><del>-- path: test262/test/built-ins/DataView/prototype/setInt32/detached-buffer-after-integer-byteoffset.js
-  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;, &quot;../../../../../harness/detachArrayBuffer.js&quot;], []
-- path: test262/test/built-ins/DataView/prototype/setInt32/detached-buffer-after-integer-byteoffset.js
-  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;, &quot;../../../../../harness/detachArrayBuffer.js&quot;], [:strict]
</del><span class="cx"> - path: test262/test/built-ins/DataView/prototype/setInt32/detached-buffer-after-number-value.js
</span><span class="cx">   cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;, &quot;../../../../../harness/detachArrayBuffer.js&quot;], []
</span><span class="cx"> - path: test262/test/built-ins/DataView/prototype/setInt32/detached-buffer-after-number-value.js
</span><span class="cx">   cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;, &quot;../../../../../harness/detachArrayBuffer.js&quot;], [:strict]
</span><ins>+- path: test262/test/built-ins/DataView/prototype/setInt32/detached-buffer-after-toindex-byteoffset.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;, &quot;../../../../../harness/detachArrayBuffer.js&quot;], []
+- path: test262/test/built-ins/DataView/prototype/setInt32/detached-buffer-after-toindex-byteoffset.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;, &quot;../../../../../harness/detachArrayBuffer.js&quot;], [:strict]
</ins><span class="cx"> - path: test262/test/built-ins/DataView/prototype/setInt32/detached-buffer-before-outofrange-byteoffset.js
</span><span class="cx">   cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;, &quot;../../../../../harness/detachArrayBuffer.js&quot;], []
</span><span class="cx"> - path: test262/test/built-ins/DataView/prototype/setInt32/detached-buffer-before-outofrange-byteoffset.js
</span><span class="lines">@@ -14485,14 +14569,14 @@
</span><span class="cx">   cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
</span><span class="cx"> - path: test262/test/built-ins/DataView/prototype/setInt32/toindex-byteoffset.js
</span><span class="cx">   cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], [:strict]
</span><del>-- path: test262/test/built-ins/DataView/prototype/setInt8/detached-buffer-after-integer-byteoffset.js
-  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;, &quot;../../../../../harness/detachArrayBuffer.js&quot;], []
-- path: test262/test/built-ins/DataView/prototype/setInt8/detached-buffer-after-integer-byteoffset.js
-  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;, &quot;../../../../../harness/detachArrayBuffer.js&quot;], [:strict]
</del><span class="cx"> - path: test262/test/built-ins/DataView/prototype/setInt8/detached-buffer-after-number-value.js
</span><span class="cx">   cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;, &quot;../../../../../harness/detachArrayBuffer.js&quot;], []
</span><span class="cx"> - path: test262/test/built-ins/DataView/prototype/setInt8/detached-buffer-after-number-value.js
</span><span class="cx">   cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;, &quot;../../../../../harness/detachArrayBuffer.js&quot;], [:strict]
</span><ins>+- path: test262/test/built-ins/DataView/prototype/setInt8/detached-buffer-after-toindex-byteoffset.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;, &quot;../../../../../harness/detachArrayBuffer.js&quot;], []
+- path: test262/test/built-ins/DataView/prototype/setInt8/detached-buffer-after-toindex-byteoffset.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;, &quot;../../../../../harness/detachArrayBuffer.js&quot;], [:strict]
</ins><span class="cx"> - path: test262/test/built-ins/DataView/prototype/setInt8/detached-buffer-before-outofrange-byteoffset.js
</span><span class="cx">   cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;, &quot;../../../../../harness/detachArrayBuffer.js&quot;], []
</span><span class="cx"> - path: test262/test/built-ins/DataView/prototype/setInt8/detached-buffer-before-outofrange-byteoffset.js
</span><span class="lines">@@ -14561,14 +14645,14 @@
</span><span class="cx">   cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
</span><span class="cx"> - path: test262/test/built-ins/DataView/prototype/setInt8/toindex-byteoffset.js
</span><span class="cx">   cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], [:strict]
</span><del>-- path: test262/test/built-ins/DataView/prototype/setUint16/detached-buffer-after-integer-byteoffset.js
-  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;, &quot;../../../../../harness/detachArrayBuffer.js&quot;], []
-- path: test262/test/built-ins/DataView/prototype/setUint16/detached-buffer-after-integer-byteoffset.js
-  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;, &quot;../../../../../harness/detachArrayBuffer.js&quot;], [:strict]
</del><span class="cx"> - path: test262/test/built-ins/DataView/prototype/setUint16/detached-buffer-after-number-value.js
</span><span class="cx">   cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;, &quot;../../../../../harness/detachArrayBuffer.js&quot;], []
</span><span class="cx"> - path: test262/test/built-ins/DataView/prototype/setUint16/detached-buffer-after-number-value.js
</span><span class="cx">   cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;, &quot;../../../../../harness/detachArrayBuffer.js&quot;], [:strict]
</span><ins>+- path: test262/test/built-ins/DataView/prototype/setUint16/detached-buffer-after-toindex-byteoffset.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;, &quot;../../../../../harness/detachArrayBuffer.js&quot;], []
+- path: test262/test/built-ins/DataView/prototype/setUint16/detached-buffer-after-toindex-byteoffset.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;, &quot;../../../../../harness/detachArrayBuffer.js&quot;], [:strict]
</ins><span class="cx"> - path: test262/test/built-ins/DataView/prototype/setUint16/detached-buffer-before-outofrange-byteoffset.js
</span><span class="cx">   cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;, &quot;../../../../../harness/detachArrayBuffer.js&quot;], []
</span><span class="cx"> - path: test262/test/built-ins/DataView/prototype/setUint16/detached-buffer-before-outofrange-byteoffset.js
</span><span class="lines">@@ -14645,14 +14729,14 @@
</span><span class="cx">   cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
</span><span class="cx"> - path: test262/test/built-ins/DataView/prototype/setUint16/toindex-byteoffset.js
</span><span class="cx">   cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], [:strict]
</span><del>-- path: test262/test/built-ins/DataView/prototype/setUint32/detached-buffer-after-integer-byteoffset.js
-  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;, &quot;../../../../../harness/detachArrayBuffer.js&quot;], []
-- path: test262/test/built-ins/DataView/prototype/setUint32/detached-buffer-after-integer-byteoffset.js
-  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;, &quot;../../../../../harness/detachArrayBuffer.js&quot;], [:strict]
</del><span class="cx"> - path: test262/test/built-ins/DataView/prototype/setUint32/detached-buffer-after-number-value.js
</span><span class="cx">   cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;, &quot;../../../../../harness/detachArrayBuffer.js&quot;], []
</span><span class="cx"> - path: test262/test/built-ins/DataView/prototype/setUint32/detached-buffer-after-number-value.js
</span><span class="cx">   cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;, &quot;../../../../../harness/detachArrayBuffer.js&quot;], [:strict]
</span><ins>+- path: test262/test/built-ins/DataView/prototype/setUint32/detached-buffer-after-toindex-byteoffset.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;, &quot;../../../../../harness/detachArrayBuffer.js&quot;], []
+- path: test262/test/built-ins/DataView/prototype/setUint32/detached-buffer-after-toindex-byteoffset.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;, &quot;../../../../../harness/detachArrayBuffer.js&quot;], [:strict]
</ins><span class="cx"> - path: test262/test/built-ins/DataView/prototype/setUint32/detached-buffer-before-outofrange-byteoffset.js
</span><span class="cx">   cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;, &quot;../../../../../harness/detachArrayBuffer.js&quot;], []
</span><span class="cx"> - path: test262/test/built-ins/DataView/prototype/setUint32/detached-buffer-before-outofrange-byteoffset.js
</span><span class="lines">@@ -14729,14 +14813,14 @@
</span><span class="cx">   cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
</span><span class="cx"> - path: test262/test/built-ins/DataView/prototype/setUint32/toindex-byteoffset.js
</span><span class="cx">   cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], [:strict]
</span><del>-- path: test262/test/built-ins/DataView/prototype/setUint8/detached-buffer-after-integer-byteoffset.js
-  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;, &quot;../../../../../harness/detachArrayBuffer.js&quot;], []
-- path: test262/test/built-ins/DataView/prototype/setUint8/detached-buffer-after-integer-byteoffset.js
-  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;, &quot;../../../../../harness/detachArrayBuffer.js&quot;], [:strict]
</del><span class="cx"> - path: test262/test/built-ins/DataView/prototype/setUint8/detached-buffer-after-number-value.js
</span><span class="cx">   cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;, &quot;../../../../../harness/detachArrayBuffer.js&quot;], []
</span><span class="cx"> - path: test262/test/built-ins/DataView/prototype/setUint8/detached-buffer-after-number-value.js
</span><span class="cx">   cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;, &quot;../../../../../harness/detachArrayBuffer.js&quot;], [:strict]
</span><ins>+- path: test262/test/built-ins/DataView/prototype/setUint8/detached-buffer-after-toindex-byteoffset.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;, &quot;../../../../../harness/detachArrayBuffer.js&quot;], []
+- path: test262/test/built-ins/DataView/prototype/setUint8/detached-buffer-after-toindex-byteoffset.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;, &quot;../../../../../harness/detachArrayBuffer.js&quot;], [:strict]
</ins><span class="cx"> - path: test262/test/built-ins/DataView/prototype/setUint8/detached-buffer-before-outofrange-byteoffset.js
</span><span class="cx">   cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;, &quot;../../../../../harness/detachArrayBuffer.js&quot;], []
</span><span class="cx"> - path: test262/test/built-ins/DataView/prototype/setUint8/detached-buffer-before-outofrange-byteoffset.js
</span><span class="lines">@@ -18159,6 +18243,22 @@
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
</span><span class="cx"> - path: test262/test/built-ins/Function/prototype/bind/S15.3.4.5_A5.js
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], [:strict]
</span><ins>+- path: test262/test/built-ins/Function/prototype/bind/instance-construct-newtarget-boundtarget-bound.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
+- path: test262/test/built-ins/Function/prototype/bind/instance-construct-newtarget-boundtarget-bound.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/built-ins/Function/prototype/bind/instance-construct-newtarget-boundtarget.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
+- path: test262/test/built-ins/Function/prototype/bind/instance-construct-newtarget-boundtarget.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/built-ins/Function/prototype/bind/instance-construct-newtarget-self-new.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
+- path: test262/test/built-ins/Function/prototype/bind/instance-construct-newtarget-self-new.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/built-ins/Function/prototype/bind/instance-construct-newtarget-self-reflect.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
+- path: test262/test/built-ins/Function/prototype/bind/instance-construct-newtarget-self-reflect.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], [:strict]
</ins><span class="cx"> - path: test262/test/built-ins/Function/prototype/bind/instance-name-chained.js
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;, &quot;../../../../../harness/propertyHelper.js&quot;], []
</span><span class="cx"> - path: test262/test/built-ins/Function/prototype/bind/instance-name-chained.js
</span><span class="lines">@@ -18379,6 +18479,10 @@
</span><span class="cx">   cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;, &quot;../../../../harness/propertyHelper.js&quot;], []
</span><span class="cx"> - path: test262/test/built-ins/Function/prototype/restricted-property-caller.js
</span><span class="cx">   cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;, &quot;../../../../harness/propertyHelper.js&quot;], [:strict]
</span><ins>+- path: test262/test/built-ins/Function/prototype/toString/AsyncFunction.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
+- path: test262/test/built-ins/Function/prototype/toString/AsyncFunction.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], [:strict]
</ins><span class="cx"> - path: test262/test/built-ins/Function/prototype/toString/Function.js
</span><span class="cx">   cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
</span><span class="cx"> - path: test262/test/built-ins/Function/prototype/toString/Function.js
</span><span class="lines">@@ -18431,6 +18535,18 @@
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
</span><span class="cx"> - path: test262/test/built-ins/Function/prototype/toString/arrow-function.js
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], [:strict]
</span><ins>+- path: test262/test/built-ins/Function/prototype/toString/async-function-declaration.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
+- path: test262/test/built-ins/Function/prototype/toString/async-function-declaration.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/built-ins/Function/prototype/toString/async-function-expression.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
+- path: test262/test/built-ins/Function/prototype/toString/async-function-expression.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/built-ins/Function/prototype/toString/async-method.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
+- path: test262/test/built-ins/Function/prototype/toString/async-method.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], [:strict]
</ins><span class="cx"> - path: test262/test/built-ins/Function/prototype/toString/bound-function.js
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;, &quot;../../../../../harness/nativeFunctionMatcher.js&quot;], []
</span><span class="cx"> - path: test262/test/built-ins/Function/prototype/toString/bound-function.js
</span><span class="lines">@@ -19099,6 +19215,42 @@
</span><span class="cx">   cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
</span><span class="cx"> - path: test262/test/built-ins/JSON/parse/revived-proxy.js
</span><span class="cx">   cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
</span><ins>+- path: test262/test/built-ins/JSON/parse/reviver-array-define-prop-err.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
+- path: test262/test/built-ins/JSON/parse/reviver-array-define-prop-err.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/built-ins/JSON/parse/reviver-array-delete-err.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
+- path: test262/test/built-ins/JSON/parse/reviver-array-delete-err.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/built-ins/JSON/parse/reviver-array-length-coerce-err.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
+- path: test262/test/built-ins/JSON/parse/reviver-array-length-coerce-err.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/built-ins/JSON/parse/reviver-array-length-get-err.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
+- path: test262/test/built-ins/JSON/parse/reviver-array-length-get-err.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/built-ins/JSON/parse/reviver-call-err.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
+- path: test262/test/built-ins/JSON/parse/reviver-call-err.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/built-ins/JSON/parse/reviver-get-name-err.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
+- path: test262/test/built-ins/JSON/parse/reviver-get-name-err.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/built-ins/JSON/parse/reviver-object-define-prop-err.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
+- path: test262/test/built-ins/JSON/parse/reviver-object-define-prop-err.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/built-ins/JSON/parse/reviver-object-delete-err.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
+- path: test262/test/built-ins/JSON/parse/reviver-object-delete-err.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/built-ins/JSON/parse/reviver-object-own-keys-err.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
+- path: test262/test/built-ins/JSON/parse/reviver-object-own-keys-err.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
</ins><span class="cx"> - path: test262/test/built-ins/JSON/stringify/15.12.3-0-1.js
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
</span><span class="cx"> - path: test262/test/built-ins/JSON/stringify/15.12.3-0-1.js
</span><span class="lines">@@ -21873,6 +22025,10 @@
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;, &quot;../../../../harness/propertyHelper.js&quot;], []
</span><span class="cx"> - path: test262/test/built-ins/Number/prototype/prop-desc.js
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;, &quot;../../../../harness/propertyHelper.js&quot;], [:strict]
</span><ins>+- path: test262/test/built-ins/Number/prototype/toExponential/infinity.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
+- path: test262/test/built-ins/Number/prototype/toExponential/infinity.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], [:strict]
</ins><span class="cx"> - path: test262/test/built-ins/Number/prototype/toExponential/length.js
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;, &quot;../../../../../harness/propertyHelper.js&quot;], []
</span><span class="cx"> - path: test262/test/built-ins/Number/prototype/toExponential/length.js
</span><span class="lines">@@ -21881,6 +22037,46 @@
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;, &quot;../../../../../harness/propertyHelper.js&quot;], []
</span><span class="cx"> - path: test262/test/built-ins/Number/prototype/toExponential/name.js
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;, &quot;../../../../../harness/propertyHelper.js&quot;], [:strict]
</span><ins>+- path: test262/test/built-ins/Number/prototype/toExponential/nan.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
+- path: test262/test/built-ins/Number/prototype/toExponential/nan.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/built-ins/Number/prototype/toExponential/prop-desc.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;, &quot;../../../../../harness/propertyHelper.js&quot;], []
+- path: test262/test/built-ins/Number/prototype/toExponential/prop-desc.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;, &quot;../../../../../harness/propertyHelper.js&quot;], [:strict]
+- path: test262/test/built-ins/Number/prototype/toExponential/return-abrupt-tointeger-fractiondigits-symbol.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
+- path: test262/test/built-ins/Number/prototype/toExponential/return-abrupt-tointeger-fractiondigits-symbol.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/built-ins/Number/prototype/toExponential/return-abrupt-tointeger-fractiondigits.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
+- path: test262/test/built-ins/Number/prototype/toExponential/return-abrupt-tointeger-fractiondigits.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/built-ins/Number/prototype/toExponential/return-values.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
+- path: test262/test/built-ins/Number/prototype/toExponential/return-values.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/built-ins/Number/prototype/toExponential/this-is-0-fractiondigits-is-0.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
+- path: test262/test/built-ins/Number/prototype/toExponential/this-is-0-fractiondigits-is-0.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/built-ins/Number/prototype/toExponential/this-is-0-fractiondigits-is-not-0.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
+- path: test262/test/built-ins/Number/prototype/toExponential/this-is-0-fractiondigits-is-not-0.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/built-ins/Number/prototype/toExponential/this-type-not-number-or-number-object.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
+- path: test262/test/built-ins/Number/prototype/toExponential/this-type-not-number-or-number-object.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/built-ins/Number/prototype/toExponential/tointeger-fractiondigits.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
+- path: test262/test/built-ins/Number/prototype/toExponential/tointeger-fractiondigits.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/built-ins/Number/prototype/toExponential/undefined-fractiondigits.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
+- path: test262/test/built-ins/Number/prototype/toExponential/undefined-fractiondigits.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], [:strict]
</ins><span class="cx"> - path: test262/test/built-ins/Number/prototype/toFixed/S15.7.4.5_A1.1_T01.js
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
</span><span class="cx"> - path: test262/test/built-ins/Number/prototype/toFixed/S15.7.4.5_A1.1_T01.js
</span><span class="lines">@@ -32325,6 +32521,10 @@
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
</span><span class="cx"> - path: test262/test/built-ins/Object/getOwnPropertyDescriptors/primitive-symbols.js
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
</span><ins>+- path: test262/test/built-ins/Object/getOwnPropertyDescriptors/proxy-undefined-descriptor.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;, &quot;../../../../harness/proxyTrapsHelper.js&quot;], []
+- path: test262/test/built-ins/Object/getOwnPropertyDescriptors/proxy-undefined-descriptor.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;, &quot;../../../../harness/proxyTrapsHelper.js&quot;], [:strict]
</ins><span class="cx"> - path: test262/test/built-ins/Object/getOwnPropertyDescriptors/symbols-included.js
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
</span><span class="cx"> - path: test262/test/built-ins/Object/getOwnPropertyDescriptors/symbols-included.js
</span><span class="lines">@@ -36363,12 +36563,14 @@
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
</span><span class="cx"> - path: test262/test/built-ins/Proxy/set/trap-is-undefined.js
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
</span><del>-- path: test262/test/built-ins/Proxy/setPrototypeOf/boolean-trap-result-extensible-target.js
-  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
</del><span class="cx"> - path: test262/test/built-ins/Proxy/setPrototypeOf/call-parameters.js
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
</span><span class="cx"> - path: test262/test/built-ins/Proxy/setPrototypeOf/call-parameters.js
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
</span><ins>+- path: test262/test/built-ins/Proxy/setPrototypeOf/internals-call-order.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
+- path: test262/test/built-ins/Proxy/setPrototypeOf/internals-call-order.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
</ins><span class="cx"> - path: test262/test/built-ins/Proxy/setPrototypeOf/not-extensible-target-not-same-target-prototype.js
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
</span><span class="cx"> - path: test262/test/built-ins/Proxy/setPrototypeOf/not-extensible-target-not-same-target-prototype.js
</span><span class="lines">@@ -36377,25 +36579,41 @@
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
</span><span class="cx"> - path: test262/test/built-ins/Proxy/setPrototypeOf/not-extensible-target-same-target-prototype.js
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
</span><del>-- path: test262/test/built-ins/Proxy/setPrototypeOf/not-extensible-trap-is-false-return-false.js
-  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
-- path: test262/test/built-ins/Proxy/setPrototypeOf/not-extensible-trap-is-false-return-false.js
-  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
</del><span class="cx"> - path: test262/test/built-ins/Proxy/setPrototypeOf/null-handler.js
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
</span><span class="cx"> - path: test262/test/built-ins/Proxy/setPrototypeOf/null-handler.js
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
</span><del>-- path: test262/test/built-ins/Proxy/setPrototypeOf/return-is-abrupt.js
</del><ins>+- path: test262/test/built-ins/Proxy/setPrototypeOf/return-abrupt-from-get-trap.js
</ins><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
</span><del>-- path: test262/test/built-ins/Proxy/setPrototypeOf/return-is-abrupt.js
</del><ins>+- path: test262/test/built-ins/Proxy/setPrototypeOf/return-abrupt-from-get-trap.js
</ins><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
</span><ins>+- path: test262/test/built-ins/Proxy/setPrototypeOf/return-abrupt-from-isextensible-target.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
+- path: test262/test/built-ins/Proxy/setPrototypeOf/return-abrupt-from-isextensible-target.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/built-ins/Proxy/setPrototypeOf/return-abrupt-from-target-getprototypeof.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
+- path: test262/test/built-ins/Proxy/setPrototypeOf/return-abrupt-from-target-getprototypeof.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/built-ins/Proxy/setPrototypeOf/return-abrupt-from-trap.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
+- path: test262/test/built-ins/Proxy/setPrototypeOf/return-abrupt-from-trap.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/built-ins/Proxy/setPrototypeOf/toboolean-trap-result-false.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
+- path: test262/test/built-ins/Proxy/setPrototypeOf/toboolean-trap-result-false.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/built-ins/Proxy/setPrototypeOf/toboolean-trap-result-true-target-is-extensible.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
+- path: test262/test/built-ins/Proxy/setPrototypeOf/toboolean-trap-result-true-target-is-extensible.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
</ins><span class="cx"> - path: test262/test/built-ins/Proxy/setPrototypeOf/trap-is-not-callable.js
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
</span><span class="cx"> - path: test262/test/built-ins/Proxy/setPrototypeOf/trap-is-not-callable.js
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
</span><del>-- path: test262/test/built-ins/Proxy/setPrototypeOf/trap-is-undefined.js
</del><ins>+- path: test262/test/built-ins/Proxy/setPrototypeOf/trap-is-undefined-or-null.js
</ins><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
</span><del>-- path: test262/test/built-ins/Proxy/setPrototypeOf/trap-is-undefined.js
</del><ins>+- path: test262/test/built-ins/Proxy/setPrototypeOf/trap-is-undefined-or-null.js
</ins><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
</span><span class="cx"> - path: test262/test/built-ins/Reflect/Reflect.js
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;], []
</span><span class="lines">@@ -38601,6 +38819,10 @@
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;], []
</span><span class="cx"> - path: test262/test/built-ins/RegExp/from-regexp-like.js
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;], [:strict]
</span><ins>+- path: test262/test/built-ins/RegExp/lastIndex.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;, &quot;../../../harness/propertyHelper.js&quot;], []
+- path: test262/test/built-ins/RegExp/lastIndex.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;, &quot;../../../harness/propertyHelper.js&quot;], [:strict]
</ins><span class="cx"> - path: test262/test/built-ins/RegExp/prototype/15.10.6.js
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
</span><span class="cx"> - path: test262/test/built-ins/RegExp/prototype/15.10.6.js
</span><span class="lines">@@ -39597,10 +39819,6 @@
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
</span><span class="cx"> - path: test262/test/built-ins/RegExp/prototype/flags/y.js
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], [:strict]
</span><del>-- path: test262/test/built-ins/RegExp/prototype/global/15.10.7.2-1.js
-  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
-- path: test262/test/built-ins/RegExp/prototype/global/15.10.7.2-1.js
-  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], [:strict]
</del><span class="cx"> - path: test262/test/built-ins/RegExp/prototype/global/15.10.7.2-2.js
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
</span><span class="cx"> - path: test262/test/built-ins/RegExp/prototype/global/15.10.7.2-2.js
</span><span class="lines">@@ -39625,10 +39843,18 @@
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;, &quot;../../../../../harness/propertyHelper.js&quot;], []
</span><span class="cx"> - path: test262/test/built-ins/RegExp/prototype/global/name.js
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;, &quot;../../../../../harness/propertyHelper.js&quot;], [:strict]
</span><del>-- path: test262/test/built-ins/RegExp/prototype/ignoreCase/15.10.7.3-1.js
-  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
-- path: test262/test/built-ins/RegExp/prototype/ignoreCase/15.10.7.3-1.js
-  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], [:strict]
</del><ins>+- path: test262/test/built-ins/RegExp/prototype/global/this-val-invalid-obj.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
+- path: test262/test/built-ins/RegExp/prototype/global/this-val-invalid-obj.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/built-ins/RegExp/prototype/global/this-val-non-obj.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
+- path: test262/test/built-ins/RegExp/prototype/global/this-val-non-obj.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/built-ins/RegExp/prototype/global/this-val-regexp-prototype.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
+- path: test262/test/built-ins/RegExp/prototype/global/this-val-regexp-prototype.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], [:strict]
</ins><span class="cx"> - path: test262/test/built-ins/RegExp/prototype/ignoreCase/15.10.7.3-2.js
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
</span><span class="cx"> - path: test262/test/built-ins/RegExp/prototype/ignoreCase/15.10.7.3-2.js
</span><span class="lines">@@ -39653,26 +39879,18 @@
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;, &quot;../../../../../harness/propertyHelper.js&quot;], []
</span><span class="cx"> - path: test262/test/built-ins/RegExp/prototype/ignoreCase/name.js
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;, &quot;../../../../../harness/propertyHelper.js&quot;], [:strict]
</span><del>-- path: test262/test/built-ins/RegExp/prototype/lastIndex/15.10.7.5-1.js
</del><ins>+- path: test262/test/built-ins/RegExp/prototype/ignoreCase/this-val-invalid-obj.js
</ins><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
</span><del>-- path: test262/test/built-ins/RegExp/prototype/lastIndex/15.10.7.5-1.js
</del><ins>+- path: test262/test/built-ins/RegExp/prototype/ignoreCase/this-val-invalid-obj.js
</ins><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], [:strict]
</span><del>-- path: test262/test/built-ins/RegExp/prototype/lastIndex/15.10.7.5-2.js
</del><ins>+- path: test262/test/built-ins/RegExp/prototype/ignoreCase/this-val-non-obj.js
</ins><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
</span><del>-- path: test262/test/built-ins/RegExp/prototype/lastIndex/15.10.7.5-2.js
</del><ins>+- path: test262/test/built-ins/RegExp/prototype/ignoreCase/this-val-non-obj.js
</ins><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], [:strict]
</span><del>-- path: test262/test/built-ins/RegExp/prototype/lastIndex/S15.10.7.5_A8.js
</del><ins>+- path: test262/test/built-ins/RegExp/prototype/ignoreCase/this-val-regexp-prototype.js
</ins><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
</span><del>-- path: test262/test/built-ins/RegExp/prototype/lastIndex/S15.10.7.5_A8.js
</del><ins>+- path: test262/test/built-ins/RegExp/prototype/ignoreCase/this-val-regexp-prototype.js
</ins><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], [:strict]
</span><del>-- path: test262/test/built-ins/RegExp/prototype/lastIndex/S15.10.7.5_A9.js
-  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;, &quot;../../../../../harness/propertyHelper.js&quot;], []
-- path: test262/test/built-ins/RegExp/prototype/lastIndex/S15.10.7.5_A9.js
-  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;, &quot;../../../../../harness/propertyHelper.js&quot;], [:strict]
-- path: test262/test/built-ins/RegExp/prototype/multiline/15.10.7.4-1.js
-  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
-- path: test262/test/built-ins/RegExp/prototype/multiline/15.10.7.4-1.js
-  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], [:strict]
</del><span class="cx"> - path: test262/test/built-ins/RegExp/prototype/multiline/15.10.7.4-2.js
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
</span><span class="cx"> - path: test262/test/built-ins/RegExp/prototype/multiline/15.10.7.4-2.js
</span><span class="lines">@@ -39697,10 +39915,22 @@
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;, &quot;../../../../../harness/propertyHelper.js&quot;], []
</span><span class="cx"> - path: test262/test/built-ins/RegExp/prototype/multiline/name.js
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;, &quot;../../../../../harness/propertyHelper.js&quot;], [:strict]
</span><del>-- path: test262/test/built-ins/RegExp/prototype/source/15.10.7.1-1.js
-  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
-- path: test262/test/built-ins/RegExp/prototype/source/15.10.7.1-1.js
-  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], [:strict]
</del><ins>+- path: test262/test/built-ins/RegExp/prototype/multiline/this-val-invalid-obj.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
+- path: test262/test/built-ins/RegExp/prototype/multiline/this-val-invalid-obj.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/built-ins/RegExp/prototype/multiline/this-val-non-obj.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
+- path: test262/test/built-ins/RegExp/prototype/multiline/this-val-non-obj.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/built-ins/RegExp/prototype/multiline/this-val-regexp-prototype.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
+- path: test262/test/built-ins/RegExp/prototype/multiline/this-val-regexp-prototype.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/built-ins/RegExp/prototype/no-regexp-matcher.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
+- path: test262/test/built-ins/RegExp/prototype/no-regexp-matcher.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
</ins><span class="cx"> - path: test262/test/built-ins/RegExp/prototype/source/15.10.7.1-2.js
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
</span><span class="cx"> - path: test262/test/built-ins/RegExp/prototype/source/15.10.7.1-2.js
</span><span class="lines">@@ -39725,6 +39955,34 @@
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;, &quot;../../../../../harness/propertyHelper.js&quot;], []
</span><span class="cx"> - path: test262/test/built-ins/RegExp/prototype/source/name.js
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;, &quot;../../../../../harness/propertyHelper.js&quot;], [:strict]
</span><ins>+- path: test262/test/built-ins/RegExp/prototype/source/this-val-invalid-obj.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
+- path: test262/test/built-ins/RegExp/prototype/source/this-val-invalid-obj.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/built-ins/RegExp/prototype/source/this-val-non-obj.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
+- path: test262/test/built-ins/RegExp/prototype/source/this-val-non-obj.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/built-ins/RegExp/prototype/source/this-val-regexp-prototype.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
+- path: test262/test/built-ins/RegExp/prototype/source/this-val-regexp-prototype.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/built-ins/RegExp/prototype/source/value-empty.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
+- path: test262/test/built-ins/RegExp/prototype/source/value-empty.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/built-ins/RegExp/prototype/source/value-line-terminator.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
+- path: test262/test/built-ins/RegExp/prototype/source/value-line-terminator.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/built-ins/RegExp/prototype/source/value-u.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
+- path: test262/test/built-ins/RegExp/prototype/source/value-u.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/built-ins/RegExp/prototype/source/value.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
+- path: test262/test/built-ins/RegExp/prototype/source/value.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], [:strict]
</ins><span class="cx"> - path: test262/test/built-ins/RegExp/prototype/sticky/length.js
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;, &quot;../../../../../harness/propertyHelper.js&quot;], []
</span><span class="cx"> - path: test262/test/built-ins/RegExp/prototype/sticky/length.js
</span><span class="lines">@@ -39737,18 +39995,22 @@
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
</span><span class="cx"> - path: test262/test/built-ins/RegExp/prototype/sticky/prop-desc.js
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], [:strict]
</span><del>-- path: test262/test/built-ins/RegExp/prototype/sticky/this-invalid-obj.js
</del><ins>+- path: test262/test/built-ins/RegExp/prototype/sticky/this-val-invalid-obj.js
</ins><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
</span><del>-- path: test262/test/built-ins/RegExp/prototype/sticky/this-invalid-obj.js
</del><ins>+- path: test262/test/built-ins/RegExp/prototype/sticky/this-val-invalid-obj.js
</ins><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], [:strict]
</span><del>-- path: test262/test/built-ins/RegExp/prototype/sticky/this-non-obj.js
</del><ins>+- path: test262/test/built-ins/RegExp/prototype/sticky/this-val-non-obj.js
</ins><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
</span><del>-- path: test262/test/built-ins/RegExp/prototype/sticky/this-non-obj.js
</del><ins>+- path: test262/test/built-ins/RegExp/prototype/sticky/this-val-non-obj.js
</ins><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], [:strict]
</span><del>-- path: test262/test/built-ins/RegExp/prototype/sticky/this-regexp.js
</del><ins>+- path: test262/test/built-ins/RegExp/prototype/sticky/this-val-regexp-prototype.js
</ins><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
</span><del>-- path: test262/test/built-ins/RegExp/prototype/sticky/this-regexp.js
</del><ins>+- path: test262/test/built-ins/RegExp/prototype/sticky/this-val-regexp-prototype.js
</ins><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], [:strict]
</span><ins>+- path: test262/test/built-ins/RegExp/prototype/sticky/this-val-regexp.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
+- path: test262/test/built-ins/RegExp/prototype/sticky/this-val-regexp.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], [:strict]
</ins><span class="cx"> - path: test262/test/built-ins/RegExp/prototype/test/S15.10.6.3_A10.js
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;, &quot;../../../../../harness/propertyHelper.js&quot;], []
</span><span class="cx"> - path: test262/test/built-ins/RegExp/prototype/test/S15.10.6.3_A10.js
</span><span class="lines">@@ -39965,18 +40227,22 @@
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
</span><span class="cx"> - path: test262/test/built-ins/RegExp/prototype/unicode/prop-desc.js
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], [:strict]
</span><del>-- path: test262/test/built-ins/RegExp/prototype/unicode/this-invald-obj.js
</del><ins>+- path: test262/test/built-ins/RegExp/prototype/unicode/this-val-invalid-obj.js
</ins><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
</span><del>-- path: test262/test/built-ins/RegExp/prototype/unicode/this-invald-obj.js
</del><ins>+- path: test262/test/built-ins/RegExp/prototype/unicode/this-val-invalid-obj.js
</ins><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], [:strict]
</span><del>-- path: test262/test/built-ins/RegExp/prototype/unicode/this-non-obj.js
</del><ins>+- path: test262/test/built-ins/RegExp/prototype/unicode/this-val-non-obj.js
</ins><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
</span><del>-- path: test262/test/built-ins/RegExp/prototype/unicode/this-non-obj.js
</del><ins>+- path: test262/test/built-ins/RegExp/prototype/unicode/this-val-non-obj.js
</ins><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], [:strict]
</span><del>-- path: test262/test/built-ins/RegExp/prototype/unicode/this-regexp.js
</del><ins>+- path: test262/test/built-ins/RegExp/prototype/unicode/this-val-regexp-prototype.js
</ins><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
</span><del>-- path: test262/test/built-ins/RegExp/prototype/unicode/this-regexp.js
</del><ins>+- path: test262/test/built-ins/RegExp/prototype/unicode/this-val-regexp-prototype.js
</ins><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], [:strict]
</span><ins>+- path: test262/test/built-ins/RegExp/prototype/unicode/this-val-regexp.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
+- path: test262/test/built-ins/RegExp/prototype/unicode/this-val-regexp.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], [:strict]
</ins><span class="cx"> - path: test262/test/built-ins/RegExp/unicode_identity_escape.js
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;], []
</span><span class="cx"> - path: test262/test/built-ins/RegExp/unicode_identity_escape.js
</span><span class="lines">@@ -41347,6 +41613,10 @@
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;, &quot;../../../harness/propertyHelper.js&quot;], []
</span><span class="cx"> - path: test262/test/built-ins/String/length.js
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;, &quot;../../../harness/propertyHelper.js&quot;], [:strict]
</span><ins>+- path: test262/test/built-ins/String/numeric-properties.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;, &quot;../../../harness/propertyHelper.js&quot;], []
+- path: test262/test/built-ins/String/numeric-properties.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;, &quot;../../../harness/propertyHelper.js&quot;], [:strict]
</ins><span class="cx"> - path: test262/test/built-ins/String/prototype/S15.5.3.1_A1.js
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
</span><span class="cx"> - path: test262/test/built-ins/String/prototype/S15.5.3.1_A1.js
</span><span class="lines">@@ -45160,9 +45430,9 @@
</span><span class="cx"> - path: test262/test/built-ins/ThrowTypeError/length.js
</span><span class="cx">   cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;, &quot;../../../harness/propertyHelper.js&quot;], [:strict]
</span><span class="cx"> - path: test262/test/built-ins/ThrowTypeError/name.js
</span><del>-  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;], []
</del><ins>+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;], []
</ins><span class="cx"> - path: test262/test/built-ins/ThrowTypeError/name.js
</span><del>-  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;], [:strict]
</del><ins>+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;], [:strict]
</ins><span class="cx"> - path: test262/test/built-ins/ThrowTypeError/prototype.js
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;], []
</span><span class="cx"> - path: test262/test/built-ins/ThrowTypeError/prototype.js
</span><span class="lines">@@ -50961,8 +51231,6 @@
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;], [:strict]
</span><span class="cx"> - path: test262/test/language/arguments-object/10.6-10-c-ii-1.js
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;], []
</span><del>-- path: test262/test/language/arguments-object/10.6-10-c-ii-2-s.js
-  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;], [:strict]
</del><span class="cx"> - path: test262/test/language/arguments-object/10.6-10-c-ii-2.js
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;], []
</span><span class="cx"> - path: test262/test/language/arguments-object/10.6-11-b-1.js
</span><span class="lines">@@ -51137,6 +51405,20 @@
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
</span><span class="cx"> - path: test262/test/language/arguments-object/unmapped/Symbol.iterator.js
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;, &quot;../../../../harness/propertyHelper.js&quot;], []
</span><ins>+- path: test262/test/language/arguments-object/unmapped/via-params-dflt.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
+- path: test262/test/language/arguments-object/unmapped/via-params-dflt.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/language/arguments-object/unmapped/via-params-dstr.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
+- path: test262/test/language/arguments-object/unmapped/via-params-dstr.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/language/arguments-object/unmapped/via-params-rest.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
+- path: test262/test/language/arguments-object/unmapped/via-params-rest.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/language/arguments-object/unmapped/via-strict.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
</ins><span class="cx"> - path: test262/test/language/asi/S7.9.2_A1_T1.js
</span><span class="cx">   cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;], []
</span><span class="cx"> - path: test262/test/language/asi/S7.9.2_A1_T1.js
</span><span class="lines">@@ -51723,10 +52005,6 @@
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
</span><span class="cx"> - path: test262/test/language/block-scope/syntax/redeclaration-global/allowed-to-declare-function-with-function-declaration.js
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], [:strict]
</span><del>-- path: test262/test/language/block-scope/syntax/redeclaration-global/allowed-to-redeclare-function-declaration-with-function-declaration.js
-  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
-- path: test262/test/language/block-scope/syntax/redeclaration-global/allowed-to-redeclare-function-declaration-with-function-declaration.js
-  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], [:strict]
</del><span class="cx"> - path: test262/test/language/block-scope/syntax/redeclaration-global/allowed-to-redeclare-function-declaration-with-var.js
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
</span><span class="cx"> - path: test262/test/language/block-scope/syntax/redeclaration-global/allowed-to-redeclare-function-declaration-with-var.js
</span><span class="lines">@@ -52333,6 +52611,30 @@
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
</span><span class="cx"> - path: test262/test/language/eval-code/direct/strictness-override.js
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
</span><ins>+- path: test262/test/language/eval-code/direct/super-call-arrow.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
+- path: test262/test/language/eval-code/direct/super-call-arrow.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/language/eval-code/direct/super-call-fn.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
+- path: test262/test/language/eval-code/direct/super-call-fn.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/language/eval-code/direct/super-call.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
+- path: test262/test/language/eval-code/direct/super-call.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/language/eval-code/direct/super-prop-arrow.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
+- path: test262/test/language/eval-code/direct/super-prop-arrow.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/language/eval-code/direct/super-prop-method.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
+- path: test262/test/language/eval-code/direct/super-prop-method.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/language/eval-code/direct/super-prop.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
+- path: test262/test/language/eval-code/direct/super-prop.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
</ins><span class="cx"> - path: test262/test/language/eval-code/direct/switch-case-decl-strict-caller.js
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
</span><span class="cx"> - path: test262/test/language/eval-code/direct/switch-case-decl-strict-source.js
</span><span class="lines">@@ -52567,6 +52869,14 @@
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
</span><span class="cx"> - path: test262/test/language/eval-code/indirect/parse-failure-5.js
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
</span><ins>+- path: test262/test/language/eval-code/indirect/super-call.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
+- path: test262/test/language/eval-code/indirect/super-call.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/language/eval-code/indirect/super-prop.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
+- path: test262/test/language/eval-code/indirect/super-prop.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
</ins><span class="cx"> - path: test262/test/language/eval-code/indirect/switch-case-decl-strict.js
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
</span><span class="cx"> - path: test262/test/language/eval-code/indirect/switch-case-decl-strict.js
</span><span class="lines">@@ -53777,6 +54087,14 @@
</span><span class="cx">   cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
</span><span class="cx"> - path: test262/test/language/expressions/arrow-function/params-dflt-rest.js
</span><span class="cx">   cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
</span><ins>+- path: test262/test/language/expressions/arrow-function/params-trailing-comma-length.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
+- path: test262/test/language/expressions/arrow-function/params-trailing-comma-length.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/language/expressions/arrow-function/params-trailing-comma.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
+- path: test262/test/language/expressions/arrow-function/params-trailing-comma.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
</ins><span class="cx"> - path: test262/test/language/expressions/arrow-function/prototype-rules.js
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
</span><span class="cx"> - path: test262/test/language/expressions/arrow-function/prototype-rules.js
</span><span class="lines">@@ -55039,6 +55357,150 @@
</span><span class="cx">   cmd: runTest262 :fail, &quot;ReferenceError&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
</span><span class="cx"> - path: test262/test/language/expressions/assignment/target-newtarget.js
</span><span class="cx">   cmd: runTest262 :fail, &quot;ReferenceError&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
</span><ins>+- path: test262/test/language/expressions/async-arrow-function/arrow-returns-promise.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;, &quot;../../../../harness/doneprintHandle.js&quot;], [:async]
+- path: test262/test/language/expressions/async-arrow-function/arrow-returns-promise.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;, &quot;../../../../harness/doneprintHandle.js&quot;], [:strict, :async]
+- path: test262/test/language/expressions/async-arrow-function/early-errors-arrow-NSPL-with-USD.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
+- path: test262/test/language/expressions/async-arrow-function/early-errors-arrow-NSPL-with-USD.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/language/expressions/async-arrow-function/early-errors-arrow-arguments-in-formal-parameters.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/language/expressions/async-arrow-function/early-errors-arrow-await-in-formals-default.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
+- path: test262/test/language/expressions/async-arrow-function/early-errors-arrow-await-in-formals-default.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/language/expressions/async-arrow-function/early-errors-arrow-await-in-formals.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
+- path: test262/test/language/expressions/async-arrow-function/early-errors-arrow-await-in-formals.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/language/expressions/async-arrow-function/early-errors-arrow-body-contains-super-call.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
+- path: test262/test/language/expressions/async-arrow-function/early-errors-arrow-body-contains-super-call.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/language/expressions/async-arrow-function/early-errors-arrow-body-contains-super-property.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
+- path: test262/test/language/expressions/async-arrow-function/early-errors-arrow-body-contains-super-property.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/language/expressions/async-arrow-function/early-errors-arrow-duplicate-parameters.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/language/expressions/async-arrow-function/early-errors-arrow-eval-in-formal-parameters.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/language/expressions/async-arrow-function/early-errors-arrow-formals-body-duplicate.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
+- path: test262/test/language/expressions/async-arrow-function/early-errors-arrow-formals-body-duplicate.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/language/expressions/async-arrow-function/early-errors-arrow-formals-contains-super-call.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
+- path: test262/test/language/expressions/async-arrow-function/early-errors-arrow-formals-contains-super-call.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/language/expressions/async-arrow-function/early-errors-arrow-formals-contains-super-property.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
+- path: test262/test/language/expressions/async-arrow-function/early-errors-arrow-formals-contains-super-property.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/language/expressions/async-function/early-errors-expression-NSPL-with-USD.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
+- path: test262/test/language/expressions/async-function/early-errors-expression-NSPL-with-USD.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/language/expressions/async-function/early-errors-expression-binding-identifier-arguments.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/language/expressions/async-function/early-errors-expression-binding-identifier-eval.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/language/expressions/async-function/early-errors-expression-body-contains-super-call.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
+- path: test262/test/language/expressions/async-function/early-errors-expression-body-contains-super-call.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/language/expressions/async-function/early-errors-expression-body-contains-super-property.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
+- path: test262/test/language/expressions/async-function/early-errors-expression-body-contains-super-property.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/language/expressions/async-function/early-errors-expression-eval-in-formal-parameters.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/language/expressions/async-function/early-errors-expression-formals-body-duplicate.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
+- path: test262/test/language/expressions/async-function/early-errors-expression-formals-body-duplicate.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/language/expressions/async-function/early-errors-expression-formals-contains-super-call.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
+- path: test262/test/language/expressions/async-function/early-errors-expression-formals-contains-super-call.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/language/expressions/async-function/early-errors-expression-formals-contains-super-property.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
+- path: test262/test/language/expressions/async-function/early-errors-expression-formals-contains-super-property.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/language/expressions/async-function/early-errors-expression-not-simple-assignment-target.js
+  cmd: runTest262 :fail, &quot;ReferenceError&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
+- path: test262/test/language/expressions/async-function/early-errors-expression-not-simple-assignment-target.js
+  cmd: runTest262 :fail, &quot;ReferenceError&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/language/expressions/async-function/expression-returns-promise.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
+- path: test262/test/language/expressions/async-function/expression-returns-promise.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/language/expressions/async-function/syntax-expression-is-PrimaryExpression.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
+- path: test262/test/language/expressions/async-function/syntax-expression-is-PrimaryExpression.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/language/expressions/await/await-BindingIdentifier-in-global.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
+- path: test262/test/language/expressions/await/await-BindingIdentifier-in-global.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/language/expressions/await/await-BindingIdentifier-nested.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
+- path: test262/test/language/expressions/await/await-BindingIdentifier-nested.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/language/expressions/await/await-awaits-thenable-not-callable.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;, &quot;../../../../harness/doneprintHandle.js&quot;], [:async]
+- path: test262/test/language/expressions/await/await-awaits-thenable-not-callable.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;, &quot;../../../../harness/doneprintHandle.js&quot;], [:strict, :async]
+- path: test262/test/language/expressions/await/await-awaits-thenables-that-throw.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;, &quot;../../../../harness/doneprintHandle.js&quot;], [:async]
+- path: test262/test/language/expressions/await/await-awaits-thenables-that-throw.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;, &quot;../../../../harness/doneprintHandle.js&quot;], [:strict, :async]
+- path: test262/test/language/expressions/await/await-awaits-thenables.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;, &quot;../../../../harness/doneprintHandle.js&quot;], [:async]
+- path: test262/test/language/expressions/await/await-awaits-thenables.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;, &quot;../../../../harness/doneprintHandle.js&quot;], [:strict, :async]
+- path: test262/test/language/expressions/await/await-in-function.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
+- path: test262/test/language/expressions/await/await-in-function.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/language/expressions/await/await-in-generator.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
+- path: test262/test/language/expressions/await/await-in-generator.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/language/expressions/await/await-in-global.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
+- path: test262/test/language/expressions/await/await-in-global.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/language/expressions/await/await-in-nested-function.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
+- path: test262/test/language/expressions/await/await-in-nested-function.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/language/expressions/await/await-in-nested-generator.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
+- path: test262/test/language/expressions/await/await-in-nested-generator.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/language/expressions/await/await-throws-rejections.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
+- path: test262/test/language/expressions/await/await-throws-rejections.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/language/expressions/await/early-errors-await-not-simple-assignment-target.js
+  cmd: runTest262 :fail, &quot;ReferenceError&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
+- path: test262/test/language/expressions/await/early-errors-await-not-simple-assignment-target.js
+  cmd: runTest262 :fail, &quot;ReferenceError&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/language/expressions/await/no-operand.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
+- path: test262/test/language/expressions/await/no-operand.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/language/expressions/await/syntax-await-has-UnaryExpression-with-MultiplicativeExpression.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;, &quot;../../../../harness/doneprintHandle.js&quot;], [:async]
+- path: test262/test/language/expressions/await/syntax-await-has-UnaryExpression-with-MultiplicativeExpression.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;, &quot;../../../../harness/doneprintHandle.js&quot;], [:strict, :async]
+- path: test262/test/language/expressions/await/syntax-await-has-UnaryExpression.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;, &quot;../../../../harness/doneprintHandle.js&quot;], [:async]
+- path: test262/test/language/expressions/await/syntax-await-has-UnaryExpression.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;, &quot;../../../../harness/doneprintHandle.js&quot;], [:strict, :async]
</ins><span class="cx"> - path: test262/test/language/expressions/bitwise-and/S11.10.1_A1.js
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
</span><span class="cx"> - path: test262/test/language/expressions/bitwise-and/S11.10.1_A1.js
</span><span class="lines">@@ -55599,6 +56061,10 @@
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;, &quot;../../../../harness/tco-helper.js&quot;], [:strict]
</span><span class="cx"> - path: test262/test/language/expressions/call/tco-member-args.js
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;, &quot;../../../../harness/tco-helper.js&quot;], [:strict]
</span><ins>+- path: test262/test/language/expressions/call/trailing-comma.js
+  cmd: runTest262 :fail, &quot;SyntaxError&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
+- path: test262/test/language/expressions/call/trailing-comma.js
+  cmd: runTest262 :fail, &quot;SyntaxError&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
</ins><span class="cx"> - path: test262/test/language/expressions/call/with-base-obj.js
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
</span><span class="cx"> - path: test262/test/language/expressions/class/dstr-gen-meth-ary-init-iter-close.js
</span><span class="lines">@@ -60965,6 +61431,10 @@
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
</span><span class="cx"> - path: test262/test/language/expressions/function/S10.1.1_A1_T2.js
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
</span><ins>+- path: test262/test/language/expressions/function/arguments-with-arguments-fn.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
+- path: test262/test/language/expressions/function/arguments-with-arguments-lex.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
</ins><span class="cx"> - path: test262/test/language/expressions/function/dstr-ary-init-iter-close.js
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
</span><span class="cx"> - path: test262/test/language/expressions/function/dstr-ary-init-iter-close.js
</span><span class="lines">@@ -61729,6 +62199,18 @@
</span><span class="cx">   cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
</span><span class="cx"> - path: test262/test/language/expressions/function/params-dflt-rest.js
</span><span class="cx">   cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
</span><ins>+- path: test262/test/language/expressions/function/params-trailing-comma-arguments.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
+- path: test262/test/language/expressions/function/params-trailing-comma-arguments.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/language/expressions/function/params-trailing-comma-length.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
+- path: test262/test/language/expressions/function/params-trailing-comma-length.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/language/expressions/function/params-trailing-comma.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
+- path: test262/test/language/expressions/function/params-trailing-comma.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
</ins><span class="cx"> - path: test262/test/language/expressions/function/scope-body-lex-distinct.js
</span><span class="cx">   cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
</span><span class="cx"> - path: test262/test/language/expressions/function/scope-name-var-close.js
</span><span class="lines">@@ -61759,6 +62241,10 @@
</span><span class="cx">   cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
</span><span class="cx"> - path: test262/test/language/expressions/function/use-strict-with-non-simple-param.js
</span><span class="cx">   cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
</span><ins>+- path: test262/test/language/expressions/generators/arguments-with-arguments-fn.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
+- path: test262/test/language/expressions/generators/arguments-with-arguments-lex.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
</ins><span class="cx"> - path: test262/test/language/expressions/generators/default-proto.js
</span><span class="cx">   cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
</span><span class="cx"> - path: test262/test/language/expressions/generators/default-proto.js
</span><span class="lines">@@ -62535,6 +63021,18 @@
</span><span class="cx">   cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
</span><span class="cx"> - path: test262/test/language/expressions/generators/params-dflt-rest.js
</span><span class="cx">   cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
</span><ins>+- path: test262/test/language/expressions/generators/params-trailing-comma-arguments.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
+- path: test262/test/language/expressions/generators/params-trailing-comma-arguments.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/language/expressions/generators/params-trailing-comma-length.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
+- path: test262/test/language/expressions/generators/params-trailing-comma-length.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/language/expressions/generators/params-trailing-comma.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
+- path: test262/test/language/expressions/generators/params-trailing-comma.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
</ins><span class="cx"> - path: test262/test/language/expressions/generators/prototype-own-properties.js
</span><span class="cx">   cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
</span><span class="cx"> - path: test262/test/language/expressions/generators/prototype-own-properties.js
</span><span class="lines">@@ -64471,6 +64969,10 @@
</span><span class="cx">   cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
</span><span class="cx"> - path: test262/test/language/expressions/object/__proto__-permitted-dup.js
</span><span class="cx">   cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
</span><ins>+- path: test262/test/language/expressions/object/computed-property-evaluation-order.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
+- path: test262/test/language/expressions/object/computed-property-evaluation-order.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
</ins><span class="cx"> - path: test262/test/language/expressions/object/concise-generator.js
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
</span><span class="cx"> - path: test262/test/language/expressions/object/concise-generator.js
</span><span class="lines">@@ -65915,6 +66417,46 @@
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
</span><span class="cx"> - path: test262/test/language/expressions/object/let-non-strict-syntax.js
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
</span><ins>+- path: test262/test/language/expressions/object/method-definition/async-super-call-body.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;, &quot;../../../../../harness/doneprintHandle.js&quot;], [:async]
+- path: test262/test/language/expressions/object/method-definition/async-super-call-body.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;, &quot;../../../../../harness/doneprintHandle.js&quot;], [:strict, :async]
+- path: test262/test/language/expressions/object/method-definition/async-super-call-param.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;, &quot;../../../../../harness/doneprintHandle.js&quot;], [:async]
+- path: test262/test/language/expressions/object/method-definition/async-super-call-param.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;, &quot;../../../../../harness/doneprintHandle.js&quot;], [:strict, :async]
+- path: test262/test/language/expressions/object/method-definition/early-errors-object-method-NSPL-with-USD.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
+- path: test262/test/language/expressions/object/method-definition/early-errors-object-method-NSPL-with-USD.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/language/expressions/object/method-definition/early-errors-object-method-arguments-in-formal-parameters.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/language/expressions/object/method-definition/early-errors-object-method-await-in-formals-default.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
+- path: test262/test/language/expressions/object/method-definition/early-errors-object-method-await-in-formals-default.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/language/expressions/object/method-definition/early-errors-object-method-await-in-formals.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
+- path: test262/test/language/expressions/object/method-definition/early-errors-object-method-await-in-formals.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/language/expressions/object/method-definition/early-errors-object-method-body-contains-super-call.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
+- path: test262/test/language/expressions/object/method-definition/early-errors-object-method-body-contains-super-call.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/language/expressions/object/method-definition/early-errors-object-method-duplicate-parameters.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
+- path: test262/test/language/expressions/object/method-definition/early-errors-object-method-duplicate-parameters.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/language/expressions/object/method-definition/early-errors-object-method-eval-in-formal-parameters.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/language/expressions/object/method-definition/early-errors-object-method-formals-body-duplicate.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
+- path: test262/test/language/expressions/object/method-definition/early-errors-object-method-formals-body-duplicate.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/language/expressions/object/method-definition/early-errors-object-method-formals-contains-super-call.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
+- path: test262/test/language/expressions/object/method-definition/early-errors-object-method-formals-contains-super-call.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], [:strict]
</ins><span class="cx"> - path: test262/test/language/expressions/object/method-definition/fn-name-fn.js
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;, &quot;../../../../../harness/propertyHelper.js&quot;], []
</span><span class="cx"> - path: test262/test/language/expressions/object/method-definition/fn-name-fn.js
</span><span class="lines">@@ -66083,6 +66625,10 @@
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
</span><span class="cx"> - path: test262/test/language/expressions/object/method-definition/name-super-prop-param.js
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], [:strict]
</span><ins>+- path: test262/test/language/expressions/object/method-definition/object-method-returns-promise.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
+- path: test262/test/language/expressions/object/method-definition/object-method-returns-promise.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], [:strict]
</ins><span class="cx"> - path: test262/test/language/expressions/object/method-definition/params-dflt-gen-meth-abrupt.js
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
</span><span class="cx"> - path: test262/test/language/expressions/object/method-definition/params-dflt-gen-meth-abrupt.js
</span><span class="lines">@@ -66163,6 +66709,22 @@
</span><span class="cx">   cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
</span><span class="cx"> - path: test262/test/language/expressions/object/method-definition/params-dflt-meth-rest.js
</span><span class="cx">   cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], [:strict]
</span><ins>+- path: test262/test/language/expressions/object/method-definition/params-trailing-comma-arguments.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
+- path: test262/test/language/expressions/object/method-definition/params-trailing-comma-arguments.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/language/expressions/object/method-definition/params-trailing-comma-length.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
+- path: test262/test/language/expressions/object/method-definition/params-trailing-comma-length.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/language/expressions/object/method-definition/params-trailing-comma-rest.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
+- path: test262/test/language/expressions/object/method-definition/params-trailing-comma-rest.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/language/expressions/object/method-definition/params-trailing-comma.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
+- path: test262/test/language/expressions/object/method-definition/params-trailing-comma.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], [:strict]
</ins><span class="cx"> - path: test262/test/language/expressions/object/method-definition/setter-use-strict-with-non-simple-param.js
</span><span class="cx">   cmd: runTest262 :fail, &quot;SyntaxError&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
</span><span class="cx"> - path: test262/test/language/expressions/object/method-definition/setter-use-strict-with-non-simple-param.js
</span><span class="lines">@@ -68963,6 +69525,32 @@
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;], []
</span><span class="cx"> - path: test262/test/language/global-code/block-decl-strict.js
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;], [:strict]
</span><ins>+- path: test262/test/language/global-code/decl-func-dup.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;], []
+- path: test262/test/language/global-code/decl-func-dup.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/language/global-code/decl-func.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;, &quot;../../../harness/propertyHelper.js&quot;], []
+- path: test262/test/language/global-code/decl-func.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;, &quot;../../../harness/propertyHelper.js&quot;], [:strict]
+- path: test262/test/language/global-code/decl-lex-configurable-global.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;, &quot;../../../harness/propertyHelper.js&quot;], []
+- path: test262/test/language/global-code/decl-lex-configurable-global.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;, &quot;../../../harness/propertyHelper.js&quot;], [:strict]
+- path: test262/test/language/global-code/decl-lex-deletion.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;], []
+- path: test262/test/language/global-code/decl-lex-restricted-global.js
+  cmd: runTest262 :fail, &quot;SyntaxError&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;], []
+- path: test262/test/language/global-code/decl-lex-restricted-global.js
+  cmd: runTest262 :fail, &quot;SyntaxError&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/language/global-code/decl-lex.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;], []
+- path: test262/test/language/global-code/decl-lex.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/language/global-code/decl-var.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;, &quot;../../../harness/propertyHelper.js&quot;], []
+- path: test262/test/language/global-code/decl-var.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;, &quot;../../../harness/propertyHelper.js&quot;], [:strict]
</ins><span class="cx"> - path: test262/test/language/global-code/export.js
</span><span class="cx">   cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;], []
</span><span class="cx"> - path: test262/test/language/global-code/export.js
</span><span class="lines">@@ -68979,6 +69567,72 @@
</span><span class="cx">   cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;], []
</span><span class="cx"> - path: test262/test/language/global-code/new.target.js
</span><span class="cx">   cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;], [:strict]
</span><ins>+- path: test262/test/language/global-code/return.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;], []
+- path: test262/test/language/global-code/return.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/language/global-code/script-decl-func-dups.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;], []
+- path: test262/test/language/global-code/script-decl-func-dups.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/language/global-code/script-decl-func-err-non-configurable.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;], []
+- path: test262/test/language/global-code/script-decl-func-err-non-configurable.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/language/global-code/script-decl-func-err-non-extensible.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;], []
+- path: test262/test/language/global-code/script-decl-func-err-non-extensible.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/language/global-code/script-decl-func.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;, &quot;../../../harness/propertyHelper.js&quot;], []
+- path: test262/test/language/global-code/script-decl-func.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;, &quot;../../../harness/propertyHelper.js&quot;], [:strict]
+- path: test262/test/language/global-code/script-decl-lex-deletion.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;], []
+- path: test262/test/language/global-code/script-decl-lex-lex.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;], []
+- path: test262/test/language/global-code/script-decl-lex-lex.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/language/global-code/script-decl-lex-restricted-global.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;], []
+- path: test262/test/language/global-code/script-decl-lex-restricted-global.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/language/global-code/script-decl-lex-var.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;], []
+- path: test262/test/language/global-code/script-decl-lex-var.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/language/global-code/script-decl-lex.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;], []
+- path: test262/test/language/global-code/script-decl-lex.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/language/global-code/script-decl-var-collision.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;], []
+- path: test262/test/language/global-code/script-decl-var-collision.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/language/global-code/script-decl-var-err.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;], []
+- path: test262/test/language/global-code/script-decl-var-err.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/language/global-code/script-decl-var.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;, &quot;../../../harness/propertyHelper.js&quot;], []
+- path: test262/test/language/global-code/script-decl-var.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;, &quot;../../../harness/propertyHelper.js&quot;], [:strict]
+- path: test262/test/language/global-code/super-call-arrow.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;], []
+- path: test262/test/language/global-code/super-call-arrow.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/language/global-code/super-call.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;], []
+- path: test262/test/language/global-code/super-call.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/language/global-code/super-prop-arrow.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;], []
+- path: test262/test/language/global-code/super-prop-arrow.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/language/global-code/super-prop.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;], []
+- path: test262/test/language/global-code/super-prop.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;], [:strict]
</ins><span class="cx"> - path: test262/test/language/global-code/switch-case-decl-strict.js
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;], [:strict]
</span><span class="cx"> - path: test262/test/language/global-code/switch-dflt-decl-strict.js
</span><span class="lines">@@ -68987,6 +69641,10 @@
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;], []
</span><span class="cx"> - path: test262/test/language/global-code/unscopables-ignored.js
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;], [:strict]
</span><ins>+- path: test262/test/language/global-code/yield-non-strict.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;], []
+- path: test262/test/language/global-code/yield-strict.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;], [:strict]
</ins><span class="cx"> - path: test262/test/language/identifier-resolution/S10.2.2_A1_T1.js
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;], []
</span><span class="cx"> - path: test262/test/language/identifier-resolution/S10.2.2_A1_T1.js
</span><span class="lines">@@ -70493,6 +71151,10 @@
</span><span class="cx">   cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
</span><span class="cx"> - path: test262/test/language/literals/regexp/invalid-braced-quantifier-range.js
</span><span class="cx">   cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
</span><ins>+- path: test262/test/language/literals/regexp/lastIndex.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;, &quot;../../../../harness/propertyHelper.js&quot;], []
+- path: test262/test/language/literals/regexp/lastIndex.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;, &quot;../../../../harness/propertyHelper.js&quot;], [:strict]
</ins><span class="cx"> - path: test262/test/language/literals/regexp/mongolian-vowel-separator-eval.js
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
</span><span class="cx"> - path: test262/test/language/literals/regexp/mongolian-vowel-separator-eval.js
</span><span class="lines">@@ -70569,6 +71231,10 @@
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
</span><span class="cx"> - path: test262/test/language/literals/regexp/u-unicode-esc.js
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
</span><ins>+- path: test262/test/language/literals/regexp/y-assertion-start.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
+- path: test262/test/language/literals/regexp/y-assertion-start.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
</ins><span class="cx"> - path: test262/test/language/literals/string/7.8.4-1-s.js
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
</span><span class="cx"> - path: test262/test/language/literals/string/7.8.4-1-s.js
</span><span class="lines">@@ -71188,7 +71854,7 @@
</span><span class="cx"> - path: test262/test/language/module-code/instn-star-err-not-found-faulty_FIXTURE.js
</span><span class="cx">   cmd: prepareTest262Fixture
</span><span class="cx"> - path: test262/test/language/module-code/instn-star-err-not-found.js
</span><del>-  cmd: runTest262 :fail, &quot;SyntaxError&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;], [:module]
</del><ins>+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;], [:module]
</ins><span class="cx"> - path: test262/test/language/module-code/instn-star-id-name.js
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;], [:module]
</span><span class="cx"> - path: test262/test/language/module-code/instn-star-iee-cycle-2_FIXTURE.js
</span><span class="lines">@@ -71272,7 +71938,7 @@
</span><span class="cx"> - path: test262/test/language/module-code/namespace/internals/delete-non-exported.js
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], [:module]
</span><span class="cx"> - path: test262/test/language/module-code/namespace/internals/get-own-property-str-found-init.js
</span><del>-  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], [:module]
</del><ins>+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], [:module]
</ins><span class="cx"> - path: test262/test/language/module-code/namespace/internals/get-own-property-str-found-uninit.js
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], [:module]
</span><span class="cx"> - path: test262/test/language/module-code/namespace/internals/get-own-property-str-not-found.js
</span><span class="lines">@@ -71509,6 +72175,8 @@
</span><span class="cx">   cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;], [:module]
</span><span class="cx"> - path: test262/test/language/module-code/parse-err-reference.js
</span><span class="cx">   cmd: runTest262 :normal, &quot;ReferenceError&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;], [:module]
</span><ins>+- path: test262/test/language/module-code/parse-err-return.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;], [:module]
</ins><span class="cx"> - path: test262/test/language/module-code/parse-err-semi-dflt-expr.js
</span><span class="cx">   cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;], [:module]
</span><span class="cx"> - path: test262/test/language/module-code/parse-err-semi-export-clause-from.js
</span><span class="lines">@@ -71519,6 +72187,8 @@
</span><span class="cx">   cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;], [:module]
</span><span class="cx"> - path: test262/test/language/module-code/parse-err-syntax.js
</span><span class="cx">   cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;], [:module]
</span><ins>+- path: test262/test/language/module-code/parse-err-yield.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;], [:module]
</ins><span class="cx"> - path: test262/test/language/module-code/parse-export-empty.js
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;], [:module]
</span><span class="cx"> - path: test262/test/language/punctuators/S7.7_A1.js
</span><span class="lines">@@ -72121,6 +72791,10 @@
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;], []
</span><span class="cx"> - path: test262/test/language/rest-parameters/object-pattern.js
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;], [:strict]
</span><ins>+- path: test262/test/language/rest-parameters/params-trailing-comma-rest.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;], []
+- path: test262/test/language/rest-parameters/params-trailing-comma-rest.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;], [:strict]
</ins><span class="cx"> - path: test262/test/language/rest-parameters/position-invalid.js
</span><span class="cx">   cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;], []
</span><span class="cx"> - path: test262/test/language/rest-parameters/position-invalid.js
</span><span class="lines">@@ -72149,6 +72823,104 @@
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;], []
</span><span class="cx"> - path: test262/test/language/source-text/6.1.js
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../harness/assert.js&quot;, &quot;../../../harness/sta.js&quot;], [:strict]
</span><ins>+- path: test262/test/language/statements/async-function/declaration-returns-promise.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
+- path: test262/test/language/statements/async-function/declaration-returns-promise.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/language/statements/async-function/early-errors-declaration-NSPL-with-USD.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
+- path: test262/test/language/statements/async-function/early-errors-declaration-NSPL-with-USD.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/language/statements/async-function/early-errors-declaration-arguments-in-formal-parameters.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/language/statements/async-function/early-errors-declaration-await-in-formals-default.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
+- path: test262/test/language/statements/async-function/early-errors-declaration-await-in-formals-default.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/language/statements/async-function/early-errors-declaration-await-in-formals.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
+- path: test262/test/language/statements/async-function/early-errors-declaration-await-in-formals.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/language/statements/async-function/early-errors-declaration-binding-identifier-arguments.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/language/statements/async-function/early-errors-declaration-binding-identifier-eval.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/language/statements/async-function/early-errors-declaration-body-contains-super-call.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
+- path: test262/test/language/statements/async-function/early-errors-declaration-body-contains-super-call.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/language/statements/async-function/early-errors-declaration-body-contains-super-property.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
+- path: test262/test/language/statements/async-function/early-errors-declaration-body-contains-super-property.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/language/statements/async-function/early-errors-declaration-duplicate-parameters.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/language/statements/async-function/early-errors-declaration-eval-in-formal-parameters.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/language/statements/async-function/early-errors-declaration-formals-body-duplicate.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
+- path: test262/test/language/statements/async-function/early-errors-declaration-formals-body-duplicate.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/language/statements/async-function/early-errors-declaration-formals-contains-super-call.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
+- path: test262/test/language/statements/async-function/early-errors-declaration-formals-contains-super-call.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/language/statements/async-function/early-errors-declaration-formals-contains-super-property.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
+- path: test262/test/language/statements/async-function/early-errors-declaration-formals-contains-super-property.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/language/statements/async-function/early-errors-no-async-generator.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
+- path: test262/test/language/statements/async-function/early-errors-no-async-generator.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/language/statements/async-function/evaluation-body-that-returns-after-await.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;, &quot;../../../../harness/doneprintHandle.js&quot;], [:async]
+- path: test262/test/language/statements/async-function/evaluation-body-that-returns-after-await.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;, &quot;../../../../harness/doneprintHandle.js&quot;], [:strict, :async]
+- path: test262/test/language/statements/async-function/evaluation-body-that-returns.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;, &quot;../../../../harness/doneprintHandle.js&quot;], [:async]
+- path: test262/test/language/statements/async-function/evaluation-body-that-returns.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;, &quot;../../../../harness/doneprintHandle.js&quot;], [:strict, :async]
+- path: test262/test/language/statements/async-function/evaluation-body-that-throws-after-await.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;, &quot;../../../../harness/doneprintHandle.js&quot;], [:async]
+- path: test262/test/language/statements/async-function/evaluation-body-that-throws-after-await.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;, &quot;../../../../harness/doneprintHandle.js&quot;], [:strict, :async]
+- path: test262/test/language/statements/async-function/evaluation-body-that-throws.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;, &quot;../../../../harness/doneprintHandle.js&quot;], [:async]
+- path: test262/test/language/statements/async-function/evaluation-body-that-throws.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;, &quot;../../../../harness/doneprintHandle.js&quot;], [:strict, :async]
+- path: test262/test/language/statements/async-function/evaluation-body.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
+- path: test262/test/language/statements/async-function/evaluation-body.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/language/statements/async-function/evaluation-default-that-throws.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;, &quot;../../../../harness/doneprintHandle.js&quot;], [:async]
+- path: test262/test/language/statements/async-function/evaluation-default-that-throws.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;, &quot;../../../../harness/doneprintHandle.js&quot;], [:strict, :async]
+- path: test262/test/language/statements/async-function/evaluation-mapped-arguments.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;, &quot;../../../../harness/doneprintHandle.js&quot;], [:async]
+- path: test262/test/language/statements/async-function/evaluation-this-value-global.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;, &quot;../../../../harness/doneprintHandle.js&quot;], [:async]
+- path: test262/test/language/statements/async-function/evaluation-this-value-passed.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;, &quot;../../../../harness/doneprintHandle.js&quot;], [:async]
+- path: test262/test/language/statements/async-function/evaluation-this-value-passed.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;, &quot;../../../../harness/doneprintHandle.js&quot;], [:strict, :async]
+- path: test262/test/language/statements/async-function/evaluation-unmapped-arguments.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;, &quot;../../../../harness/doneprintHandle.js&quot;], [:async]
+- path: test262/test/language/statements/async-function/evaluation-unmapped-arguments.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;, &quot;../../../../harness/doneprintHandle.js&quot;], [:strict, :async]
+- path: test262/test/language/statements/async-function/syntax-declaration-line-terminators-allowed.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
+- path: test262/test/language/statements/async-function/syntax-declaration-line-terminators-allowed.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/language/statements/async-function/syntax-declaration-no-line-terminator.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
+- path: test262/test/language/statements/async-function/syntax-declaration-no-line-terminator.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/language/statements/async-function/syntax-declaration.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;, &quot;../../../../harness/doneprintHandle.js&quot;], [:async]
+- path: test262/test/language/statements/async-function/syntax-declaration.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;, &quot;../../../../harness/doneprintHandle.js&quot;], [:strict, :async]
</ins><span class="cx"> - path: test262/test/language/statements/block/12.1-1.js
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
</span><span class="cx"> - path: test262/test/language/statements/block/12.1-1.js
</span><span class="lines">@@ -72305,6 +73077,10 @@
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
</span><span class="cx"> - path: test262/test/language/statements/class/definition/basics.js
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], [:strict]
</span><ins>+- path: test262/test/language/statements/class/definition/class-method-returns-promise.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
+- path: test262/test/language/statements/class/definition/class-method-returns-promise.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], [:strict]
</ins><span class="cx"> - path: test262/test/language/statements/class/definition/constructable-but-no-prototype.js
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
</span><span class="cx"> - path: test262/test/language/statements/class/definition/constructable-but-no-prototype.js
</span><span class="lines">@@ -72321,6 +73097,42 @@
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
</span><span class="cx"> - path: test262/test/language/statements/class/definition/constructor.js
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], [:strict]
</span><ins>+- path: test262/test/language/statements/class/definition/early-errors-class-method-NSPL-with-USD.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
+- path: test262/test/language/statements/class/definition/early-errors-class-method-NSPL-with-USD.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/language/statements/class/definition/early-errors-class-method-arguments-in-formal-parameters.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
+- path: test262/test/language/statements/class/definition/early-errors-class-method-arguments-in-formal-parameters.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/language/statements/class/definition/early-errors-class-method-await-in-formals-default.js
+  cmd: runTest262 :fail, &quot;SyntaxError&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
+- path: test262/test/language/statements/class/definition/early-errors-class-method-await-in-formals-default.js
+  cmd: runTest262 :fail, &quot;SyntaxError&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/language/statements/class/definition/early-errors-class-method-await-in-formals.js
+  cmd: runTest262 :fail, &quot;SyntaxError&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
+- path: test262/test/language/statements/class/definition/early-errors-class-method-await-in-formals.js
+  cmd: runTest262 :fail, &quot;SyntaxError&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/language/statements/class/definition/early-errors-class-method-body-contains-super-call.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
+- path: test262/test/language/statements/class/definition/early-errors-class-method-body-contains-super-call.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/language/statements/class/definition/early-errors-class-method-duplicate-parameters.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
+- path: test262/test/language/statements/class/definition/early-errors-class-method-duplicate-parameters.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/language/statements/class/definition/early-errors-class-method-eval-in-formal-parameters.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
+- path: test262/test/language/statements/class/definition/early-errors-class-method-eval-in-formal-parameters.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/language/statements/class/definition/early-errors-class-method-formals-body-duplicate.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
+- path: test262/test/language/statements/class/definition/early-errors-class-method-formals-body-duplicate.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/language/statements/class/definition/early-errors-class-method-formals-contains-super-call.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
+- path: test262/test/language/statements/class/definition/early-errors-class-method-formals-contains-super-call.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], [:strict]
</ins><span class="cx"> - path: test262/test/language/statements/class/definition/fn-name-accessor-get.js
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;, &quot;../../../../../harness/propertyHelper.js&quot;], []
</span><span class="cx"> - path: test262/test/language/statements/class/definition/fn-name-accessor-get.js
</span><span class="lines">@@ -72361,6 +73173,14 @@
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
</span><span class="cx"> - path: test262/test/language/statements/class/definition/invalid-extends.js
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], [:strict]
</span><ins>+- path: test262/test/language/statements/class/definition/methods-async-super-call-body.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;, &quot;../../../../../harness/doneprintHandle.js&quot;], [:async]
+- path: test262/test/language/statements/class/definition/methods-async-super-call-body.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;, &quot;../../../../../harness/doneprintHandle.js&quot;], [:strict, :async]
+- path: test262/test/language/statements/class/definition/methods-async-super-call-param.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;, &quot;../../../../../harness/doneprintHandle.js&quot;], [:async]
+- path: test262/test/language/statements/class/definition/methods-async-super-call-param.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;, &quot;../../../../../harness/doneprintHandle.js&quot;], [:strict, :async]
</ins><span class="cx"> - path: test262/test/language/statements/class/definition/methods-gen-no-yield.js
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
</span><span class="cx"> - path: test262/test/language/statements/class/definition/methods-gen-no-yield.js
</span><span class="lines">@@ -72453,6 +73273,22 @@
</span><span class="cx">   cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
</span><span class="cx"> - path: test262/test/language/statements/class/definition/numeric-property-names.js
</span><span class="cx">   cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], [:strict]
</span><ins>+- path: test262/test/language/statements/class/definition/params-trailing-comma-arguments.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
+- path: test262/test/language/statements/class/definition/params-trailing-comma-arguments.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/language/statements/class/definition/params-trailing-comma-length.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
+- path: test262/test/language/statements/class/definition/params-trailing-comma-length.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/language/statements/class/definition/params-trailing-comma-rest.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
+- path: test262/test/language/statements/class/definition/params-trailing-comma-rest.js
+  cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/language/statements/class/definition/params-trailing-comma.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
+- path: test262/test/language/statements/class/definition/params-trailing-comma.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], [:strict]
</ins><span class="cx"> - path: test262/test/language/statements/class/definition/prototype-getter.js
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../../harness/assert.js&quot;, &quot;../../../../../harness/sta.js&quot;], []
</span><span class="cx"> - path: test262/test/language/statements/class/definition/prototype-getter.js
</span><span class="lines">@@ -81771,6 +82607,10 @@
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
</span><span class="cx"> - path: test262/test/language/statements/function/S14_A5_T2.js
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
</span><ins>+- path: test262/test/language/statements/function/arguments-with-arguments-fn.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
+- path: test262/test/language/statements/function/arguments-with-arguments-lex.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
</ins><span class="cx"> - path: test262/test/language/statements/function/dstr-ary-init-iter-close.js
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
</span><span class="cx"> - path: test262/test/language/statements/function/dstr-ary-init-iter-close.js
</span><span class="lines">@@ -82535,6 +83375,18 @@
</span><span class="cx">   cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
</span><span class="cx"> - path: test262/test/language/statements/function/params-dflt-rest.js
</span><span class="cx">   cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
</span><ins>+- path: test262/test/language/statements/function/params-trailing-comma-arguments.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
+- path: test262/test/language/statements/function/params-trailing-comma-arguments.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/language/statements/function/params-trailing-comma-length.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
+- path: test262/test/language/statements/function/params-trailing-comma-length.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/language/statements/function/params-trailing-comma.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
+- path: test262/test/language/statements/function/params-trailing-comma.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
</ins><span class="cx"> - path: test262/test/language/statements/function/scope-body-lex-distinct.js
</span><span class="cx">   cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
</span><span class="cx"> - path: test262/test/language/statements/function/scope-param-elem-var-close.js
</span><span class="lines">@@ -82557,6 +83409,10 @@
</span><span class="cx">   cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
</span><span class="cx"> - path: test262/test/language/statements/function/use-strict-with-non-simple-param.js
</span><span class="cx">   cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
</span><ins>+- path: test262/test/language/statements/generators/arguments-with-arguments-fn.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
+- path: test262/test/language/statements/generators/arguments-with-arguments-lex.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
</ins><span class="cx"> - path: test262/test/language/statements/generators/declaration.js
</span><span class="cx">   cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
</span><span class="cx"> - path: test262/test/language/statements/generators/declaration.js
</span><span class="lines">@@ -83329,6 +84185,14 @@
</span><span class="cx">   cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
</span><span class="cx"> - path: test262/test/language/statements/generators/params-dflt-rest.js
</span><span class="cx">   cmd: runTest262 :normal, &quot;SyntaxError&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
</span><ins>+- path: test262/test/language/statements/generators/params-trailing-comma-length.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
+- path: test262/test/language/statements/generators/params-trailing-comma-length.js
+  cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
+- path: test262/test/language/statements/generators/params-trailing-comma.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
+- path: test262/test/language/statements/generators/params-trailing-comma.js
+  cmd: runTest262 :normal, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], [:strict]
</ins><span class="cx"> - path: test262/test/language/statements/generators/prototype-own-properties.js
</span><span class="cx">   cmd: runTest262 :fail, &quot;NoException&quot;, [&quot;../../../../harness/assert.js&quot;, &quot;../../../../harness/sta.js&quot;], []
</span><span class="cx"> - path: test262/test/language/statements/generators/prototype-own-properties.js
</span></span></pre>
</div>
</div>

</body>
</html>