Okay, I tracked this down to an incorrect optimization in code generator for
when you use >>=0 to coerce to an uint32 :-(
There is a special case for exactly this usage, where the right-hand-side
operand is a literal 0, so we avoid emitting a no-op “ICONST_0; IUSHR” bytecode
sequence. It unfor
Running with assertions enabled shows that the error is in “this.length >>>=0”
expression on line 31. Reducing the testcase to just:
(function (p) {
if (p) {
this.length >>>= 0; // Coerce to uint32.
}
})(false)
also reproduces the problem (at least, the assertion; it will cause a somewhat
Hi Sunda,
you can reproduce by putting the following into a test.js file and executing it
using jjs.
snip =
function Buffer(subject, encoding) {
if (!util.isBuffer(this))
return new Buffer(subject, encoding);
if (util.isNumber(subject)) {
this.length = +subject
Is there a simple reduced test case that we can use it to reproduce the
issue you're seeing? Please send us the same and we'll file a bug (or
you may do that as well).
Thanks,
-Sundar
On 29/11/16, 11:11 PM, Frantzius, Jörg wrote:
Hi,
with JDK 1.8.0_112 (on Mac OS X) I’m running into the fol