Till Schneidereit (2014-12-18T17:26:45.000Z)
d at domenic.me (2015-01-05T20:39:58.827Z)
SpiderMonkey does retain the original source. However, it adds the "use strict" if the function is defined in a strict-mode scope. Reading the rules for Function.prototype.toString, it's clear that not doing that is valid, as the spec only requires behavioral equivalence "if the string is evaluated, using eval in a lexical context that is equivalent to the lexical context". So yes, it would be nice to get agreement here, but it's not as important as I first thought.