ES6 draft rev 36, 18.104.22.168 InternalizeJSONProperty, specifies that certain errors are ignored. > 3. If newElement is undefined, then > a. Let status be val.[[Delete]](ToString(I)). > 4. Else > a. Let status be CreateDataProperty(val, ToString(I), newElement). > b. NOTE This algorithm intentionally does not throw an exception > if status is false. > 5. ReturnIfAbrupt(status). We already get it right for the deletes, but until bug 1113369 landed, we didn't have a way to do this for the CreateDataProperty call.
Created attachment 8584769 [details] [diff] [review] In JSON.parse with a reviver callback, ignore failure when defining properties Switch to StandardDefineProperty while we're at it. I don't think the "CreateDataProperty" operation given in the spec is quite worth making into a function on its own, since the standard almost exclusively uses it in cases where it "can't fail", and (a) that is unpossible for us; (b) this is not one of those cases anyway.
Backed out (along with every other patch from that massive push) in https://hg.mozilla.org/integration/mozilla-inbound/rev/386c8b5b73c0 for talos other timeouts: https://treeherder.mozilla.org/#/jobs?repo=mozilla-inbound&revision=3fc49391f7fe&filter-searchStr=talos oth