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
```
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: 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
```