<html>
<head>
<base href="https://bugs.webkit.org/" />
</head>
<body><table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Bug ID</th>
<td><a class="bz_bug_link
bz_status_NEW "
title="NEW - jsc-layout-tests.yaml/js/script-tests/class-syntax-default-constructor.js.* fails when run with JSC_validateBytecode=true."
href="https://bugs.webkit.org/show_bug.cgi?id=165829">165829</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>jsc-layout-tests.yaml/js/script-tests/class-syntax-default-constructor.js.* fails when run with JSC_validateBytecode=true.
</td>
</tr>
<tr>
<th>Classification</th>
<td>Unclassified
</td>
</tr>
<tr>
<th>Product</th>
<td>WebKit
</td>
</tr>
<tr>
<th>Version</th>
<td>WebKit Local Build
</td>
</tr>
<tr>
<th>Hardware</th>
<td>Unspecified
</td>
</tr>
<tr>
<th>OS</th>
<td>Unspecified
</td>
</tr>
<tr>
<th>Status</th>
<td>NEW
</td>
</tr>
<tr>
<th>Severity</th>
<td>Normal
</td>
</tr>
<tr>
<th>Priority</th>
<td>P2
</td>
</tr>
<tr>
<th>Component</th>
<td>JavaScriptCore
</td>
</tr>
<tr>
<th>Assignee</th>
<td>webkit-unassigned@lists.webkit.org
</td>
</tr>
<tr>
<th>Reporter</th>
<td>mark.lam@apple.com
</td>
</tr></table>
<p>
<div>
<pre>Running ...
$ JSC_validateBytecode=1 ./Tools/Scripts/run-javascriptcore-tests --debug --no-build
... on a debug build of 209727 produces:
jsc-layout-tests.yaml/js/script-tests/class-syntax-default-constructor.js.layout: Tests for ES6 class syntax default constructor
jsc-layout-tests.yaml/js/script-tests/class-syntax-default-constructor.js.layout:
jsc-layout-tests.yaml/js/script-tests/class-syntax-default-constructor.js.layout: On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
jsc-layout-tests.yaml/js/script-tests/class-syntax-default-constructor.js.layout:
jsc-layout-tests.yaml/js/script-tests/class-syntax-default-constructor.js.layout:
jsc-layout-tests.yaml/js/script-tests/class-syntax-default-constructor.js.layout: PASS new A instanceof A
jsc-layout-tests.yaml/js/script-tests/class-syntax-default-constructor.js.layout: PASS A():::TypeError: Cannot call a class constructor without |new|
jsc-layout-tests.yaml/js/script-tests/class-syntax-default-constructor.js.layout: PASS A.prototype.constructor instanceof Function
jsc-layout-tests.yaml/js/script-tests/class-syntax-default-constructor.js.layout: PASS A.prototype.constructor.name:::"A"
jsc-layout-tests.yaml/js/script-tests/class-syntax-default-constructor.js.layout: PASS new B instanceof A; new B instanceof A
jsc-layout-tests.yaml/js/script-tests/class-syntax-default-constructor.js.layout: ASSERTION FAILED: i + 1 < basicBlocks.size()
jsc-layout-tests.yaml/js/script-tests/class-syntax-default-constructor.js.layout: /Volumes/Data/ws2/OpenSource/Source/JavaScriptCore/bytecode/BytecodeBasicBlock.cpp(179) : static void JSC::BytecodeBasicBlock::computeImpl(Block *, Instruction *, unsigned int, Vector<std::unique_ptr<BytecodeBasicBlock> > &) [Block = JSC::CodeBlock, Instruction = JSC::Instruction]
jsc-layout-tests.yaml/js/script-tests/class-syntax-default-constructor.js.layout: 1 0x10e695ded WTFCrash
jsc-layout-tests.yaml/js/script-tests/class-syntax-default-constructor.js.layout: 2 0x10d67eae9 void JSC::BytecodeBasicBlock::computeImpl<JSC::CodeBlock, JSC::Instruction>(JSC::CodeBlock*, JSC::Instruction*, unsigned int, WTF::Vector<std::__1::unique_ptr<JSC::BytecodeBasicBlock, std::__1::default_delete<JSC::BytecodeBasicBlock> >, 0ul, WTF::CrashOnOverflow, 16ul>&)
jsc-layout-tests.yaml/js/script-tests/class-syntax-default-constructor.js.layout: 3 0x10d67db0b JSC::BytecodeBasicBlock::compute(JSC::CodeBlock*, JSC::Instruction*, unsigned int, WTF::Vector<std::__1::unique_ptr<JSC::BytecodeBasicBlock, std::__1::default_delete<JSC::BytecodeBasicBlock> >, 0ul, WTF::CrashOnOverflow, 16ul>&)
jsc-layout-tests.yaml/js/script-tests/class-syntax-default-constructor.js.layout: 4 0x10d6e4a13 JSC::BytecodeGraph<JSC::CodeBlock>::BytecodeGraph(JSC::CodeBlock*, WTF::RefCountedArray<JSC::Instruction>&)
jsc-layout-tests.yaml/js/script-tests/class-syntax-default-constructor.js.layout: 5 0x10d6e1e45 JSC::BytecodeGraph<JSC::CodeBlock>::BytecodeGraph(JSC::CodeBlock*, WTF::RefCountedArray<JSC::Instruction>&)
jsc-layout-tests.yaml/js/script-tests/class-syntax-default-constructor.js.layout: 6 0x10d6e1dec JSC::BytecodeLivenessAnalysis::BytecodeLivenessAnalysis(JSC::CodeBlock*)
jsc-layout-tests.yaml/js/script-tests/class-syntax-default-constructor.js.layout: 7 0x10d6e1ead JSC::BytecodeLivenessAnalysis::BytecodeLivenessAnalysis(JSC::CodeBlock*)
jsc-layout-tests.yaml/js/script-tests/class-syntax-default-constructor.js.layout: 8 0x10d733d64 JSC::CodeBlock::validate()
jsc-layout-tests.yaml/js/script-tests/class-syntax-default-constructor.js.layout: 9 0x10e4c67c9 JSC::ScriptExecutable::prepareForExecutionImpl(JSC::VM&, JSC::JSFunction*, JSC::JSScope*, JSC::CodeSpecializationKind, JSC::CodeBlock*&)
jsc-layout-tests.yaml/js/script-tests/class-syntax-default-constructor.js.layout: 10 0x10df340e0 JSC::JSObject* JSC::ScriptExecutable::prepareForExecution<JSC::FunctionExecutable>(JSC::VM&, JSC::JSFunction*, JSC::JSScope*, JSC::CodeSpecializationKind, JSC::CodeBlock*&)
jsc-layout-tests.yaml/js/script-tests/class-syntax-default-constructor.js.layout: 11 0x10e1d3a64 JSC::LLInt::setUpCall(JSC::ExecState*, JSC::Instruction*, JSC::CodeSpecializationKind, JSC::JSValue, JSC::LLIntCallLinkInfo*)
jsc-layout-tests.yaml/js/script-tests/class-syntax-default-constructor.js.layout: 12 0x10e1d2b83 JSC::LLInt::genericCall(JSC::ExecState*, JSC::Instruction*, JSC::CodeSpecializationKind)
jsc-layout-tests.yaml/js/script-tests/class-syntax-default-constructor.js.layout: 13 0x10e1d2a73 llint_slow_path_call
jsc-layout-tests.yaml/js/script-tests/class-syntax-default-constructor.js.layout: 14 0x10e1e1083 llint_entry
jsc-layout-tests.yaml/js/script-tests/class-syntax-default-constructor.js.layout: 15 0x10e1d995e vmEntryToJavaScript
jsc-layout-tests.yaml/js/script-tests/class-syntax-default-constructor.js.layout: 16 0x10dfb8a92 JSC::JITCode::execute(JSC::VM*, JSC::ProtoCallFrame*)
jsc-layout-tests.yaml/js/script-tests/class-syntax-default-constructor.js.layout: 17 0x10df3006f JSC::Interpreter::execute(JSC::EvalExecutable*, JSC::ExecState*, JSC::JSValue, JSC::JSScope*)
jsc-layout-tests.yaml/js/script-tests/class-syntax-default-constructor.js.layout: 18 0x10df2f007 JSC::eval(JSC::ExecState*)
jsc-layout-tests.yaml/js/script-tests/class-syntax-default-constructor.js.layout: 19 0x10e1d3673 llint_slow_path_call_eval
jsc-layout-tests.yaml/js/script-tests/class-syntax-default-constructor.js.layout: 20 0x10e1e1926 llint_entry
jsc-layout-tests.yaml/js/script-tests/class-syntax-default-constructor.js.layout: 21 0x10e1e1095 llint_entry
jsc-layout-tests.yaml/js/script-tests/class-syntax-default-constructor.js.layout: 22 0x10e1d995e vmEntryToJavaScript
jsc-layout-tests.yaml/js/script-tests/class-syntax-default-constructor.js.layout: 23 0x10dfb8a92 JSC::JITCode::execute(JSC::VM*, JSC::ProtoCallFrame*)
jsc-layout-tests.yaml/js/script-tests/class-syntax-default-constructor.js.layout: 24 0x10df33464 JSC::Interpreter::execute(JSC::ProgramExecutable*, JSC::ExecState*, JSC::JSObject*)
jsc-layout-tests.yaml/js/script-tests/class-syntax-default-constructor.js.layout: 25 0x10d7c095d JSC::evaluate(JSC::ExecState*, JSC::SourceCode const&, JSC::JSValue, WTF::NakedPtr<JSC::Exception>&)
jsc-layout-tests.yaml/js/script-tests/class-syntax-default-constructor.js.layout: 26 0x10d226061 runWithScripts(GlobalObject*, WTF::Vector<Script, 0ul, WTF::CrashOnOverflow, 16ul> const&, WTF::String const&, bool, bool, bool)
jsc-layout-tests.yaml/js/script-tests/class-syntax-default-constructor.js.layout: 27 0x10d21dc3a runJSC(JSC::VM*, CommandLine)
jsc-layout-tests.yaml/js/script-tests/class-syntax-default-constructor.js.layout: 28 0x10d21c79d jscmain(int, char**)
jsc-layout-tests.yaml/js/script-tests/class-syntax-default-constructor.js.layout: 29 0x10d21c6ee main
jsc-layout-tests.yaml/js/script-tests/class-syntax-default-constructor.js.layout: 30 0x7fffb4298255 start
jsc-layout-tests.yaml/js/script-tests/class-syntax-default-constructor.js.layout: test_script_25656: line 2: 62134 Segmentation fault: 11 ( "$@" ../../../../.vm/JavaScriptCore.framework/Resources/jsc --useFTLJIT\=false --useFunctionDotArguments\=true --maxPerThreadStackUsage\=1572864 --testTheFTL\=true --useFTLJIT\=true resources/standalone-pre.js class-syntax-default-constructor.js resources/standalone-post.js )
jsc-layout-tests.yaml/js/script-tests/class-syntax-default-constructor.js.layout: ERROR: Unexpected exit code: 139
Basically, we're seeing an assertion failure:
ASSERTION FAILED: i + 1 < basicBlocks.size()</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are the assignee for the bug.</li>
</ul>
</body>
</html>