Bug 1534721 Comment 2 Edit History

Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.

Leaving a note, because I'm not quite ready to review this patch yet.

Three sanity tests to put in the test suite:

```
class Base {
}
class C extends Base {
  field;
}
new C();

$ $DJS --enable-experimental-fields ../../../../crasher.js
Assertion failure: (activation.regs()).stackDepth() == 0 || (*(activation.regs()).pc == JSOP_AWAIT && !(activation.regs()).fp()->isResumedGenerator()), at /Users/jorendorff/work/gecko/js/src/vm/Interpreter.cpp:2127
```

```
class Base {
}
var C = class extends Base {
  field;
};
new C();

$ $DJS --enable-experimental-fields ../../../../crasher.js
Assertion failure: (activation.regs()).stackDepth() == 0 || (*(activation.regs()).pc == JSOP_AWAIT && !(activation.regs()).fp()->isResumedGenerator()), at /Users/jorendorff/work/gecko/js/src/vm/Interpreter.cpp:2127
```

```
class Base {
}
class C extends Base {
  field;
  constructor() {
    super();
  }
};
new C();

$ $DJS --enable-experimental-fields ../../../../crasher.js
Assertion failure: next == JSOP_CHECKTHIS || next == JSOP_CHECKRETURN || next == JSOP_CHECKTHISREINIT, at /Users/jorendorff/work/gecko/js/src/vm/Interpreter.cpp:3520
```
Leaving a note, because I'm not quite ready to review this patch yet.

Three sanity tests to put in the test suite:

```
class Base {
}
class C extends Base {
  field;
}
new C();

$ $DJS --enable-experimental-fields ../../../../crasher.js
Assertion failure: (activation.regs()).stackDepth() == 0 || (*(activation.regs()).pc == JSOP_AWAIT && !(activation.regs()).fp()->isResumedGenerator()), at /Users/jorendorff/work/gecko/js/src/vm/Interpreter.cpp:2127
```

```
class Base {
}
var C = class extends Base {
  field;
};
new C();

$ $DJS --enable-experimental-fields ../../../../crasher.js
Assertion failure: env == cx->global() || env == &cx->global()->lexicalEnvironment() || env->is<RuntimeLexicalErrorObject>(), at /Users/jorendorff/work/gecko/js/src/vm/Interpreter-inl.h:315
```

```
class Base {
}
class C extends Base {
  field;
  constructor() {
    super();
  }
};
new C();

$ $DJS --enable-experimental-fields ../../../../crasher.js
Assertion failure: next == JSOP_CHECKTHIS || next == JSOP_CHECKRETURN || next == JSOP_CHECKTHISREINIT, at /Users/jorendorff/work/gecko/js/src/vm/Interpreter.cpp:3520
```

Back to Bug 1534721 Comment 2