Bug 157085
Summary: | Assertion failure for super() in default parameter with direct eval | ||
---|---|---|---|
Product: | WebKit | Reporter: | André Bargull <andre.bargull> |
Component: | JavaScriptCore | Assignee: | Nobody <webkit-unassigned> |
Status: | RESOLVED DUPLICATE | ||
Severity: | Normal | CC: | ggaren, saam, ysuzuki |
Priority: | P2 | ||
Version: | WebKit Local Build | ||
Hardware: | Unspecified | ||
OS: | Unspecified |
André Bargull
SVN: rev200124
Build with: perl Tools/Scripts/build-jsc --gtk --debug
The following test case triggers this assertion error:
---
ASSERTION FAILED: isDerivedConstructorContext() || m_arrowFunctionContextLexicalEnvironmentRegister != nullptr
---
Test case:
---
new class extends null { constructor(a=super()) { eval("") } }
---
Stack trace:
---
#0 0x00007ffff6e289ac in WTFCrash () at ../../Source/WTF/wtf/Assertions.cpp:322
#1 0x00007ffff64410fe in JSC::BytecodeGenerator::emitPutThisToArrowFunctionContextScope (this=0x7ffff0d98a00) at ../../Source/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp:4269
#2 0x00007ffff647911b in JSC::FunctionCallValueNode::emitBytecode (this=0x7fffafdf40a0, generator=..., dst=0x7ffff0dd896c) at ../../Source/JavaScriptCore/bytecompiler/NodesCodegen.cpp:781
#3 0x00007ffff6449637 in JSC::BytecodeGenerator::emitNodeInTailPosition (this=0x7ffff0d98a00, dst=0x7ffff0dd896c, n=0x7fffafdf40a0) at ../../Source/JavaScriptCore/bytecompiler/BytecodeGenerator.h:415
#4 0x00007ffff6449521 in JSC::BytecodeGenerator::emitNode (this=0x7ffff0d98a00, dst=0x7ffff0dd896c, n=0x7fffafdf40a0) at ../../Source/JavaScriptCore/bytecompiler/BytecodeGenerator.h:406
#5 0x00007ffff642cde1 in JSC::BytecodeGenerator::initializeDefaultParameterValuesAndSetupFunctionScopeStack(JSC::FunctionParameters &, bool, JSC::FunctionNode *, JSC::SymbolTable *, int, const std::function<bool(WTF::UniquedStringImpl*)> &) (this=0x7ffff0d98a00, parameters=..., isSimpleParameterList=false, functionNode=0x7ffff0d91000, functionSymbolTable=0x7fffaede3e40,
symbolTableConstantIndex=1073741824, captures=...) at ../../Source/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp:829
#6 0x00007ffff642a364 in JSC::BytecodeGenerator::BytecodeGenerator (this=0x7ffff0d98a00, vm=..., functionNode=0x7ffff0d91000, codeBlock=0x7fffaedb7e00, debuggerMode=JSC::DebuggerOff,
profilerMode=JSC::ProfilerOff, parentScopeTDZVariables=0x7fffaedcc790) at ../../Source/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp:563
#7 0x00007ffff6422a2a in std::make_unique<JSC::BytecodeGenerator, JSC::VM&, JSC::FunctionNode*, JSC::UnlinkedFunctionCodeBlock*&, JSC::DebuggerMode&, JSC::ProfilerMode&, JSC::VariableEnvironment const*>
() at ../../Source/WTF/wtf/StdLibExtras.h:316
#8 0x00007ffff6420b49 in JSC::BytecodeGenerator::generate<JSC::FunctionNode*, JSC::UnlinkedFunctionCodeBlock*&, JSC::DebuggerMode&, JSC::ProfilerMode&, JSC::VariableEnvironment const*> (vm=...)
at ../../Source/JavaScriptCore/bytecompiler/BytecodeGenerator.h:296
#9 0x00007ffff641e444 in JSC::generateUnlinkedFunctionCodeBlock (vm=..., executable=0x7fffaedcc700, source=..., kind=JSC::CodeForConstruct, debuggerMode=JSC::DebuggerOff, profilerMode=JSC::ProfilerOff,
functionKind=JSC::UnlinkedNormalFunction, error=..., parseMode=JSC::SourceParseMode::MethodMode) at ../../Source/JavaScriptCore/bytecode/UnlinkedFunctionExecutable.cpp:73
#10 0x00007ffff641f372 in JSC::UnlinkedFunctionExecutable::unlinkedCodeBlockFor (this=0x7fffaedcc700, vm=..., source=..., specializationKind=JSC::CodeForConstruct, debuggerMode=JSC::DebuggerOff,
profilerMode=JSC::ProfilerOff, error=..., parseMode=JSC::SourceParseMode::MethodMode) at ../../Source/JavaScriptCore/bytecode/UnlinkedFunctionExecutable.cpp:210
...
---
Attachments | ||
---|---|---|
Add attachment proposed patch, testcase, etc. |
Yusuke Suzuki
Fixed by r200293.
*** This bug has been marked as a duplicate of bug 157149 ***