Remove unnecessary condition from needsDerivedConstructorInArrowFunctionLexicalEnvironment in BytecodeGenerator.cpp
Created attachment 304823 [details] Patch Patch
Comment on attachment 304823 [details] Patch Attachment 304823 [details] did not pass mac-wk2-ews (mac-wk2): Output: http://webkit-queues.webkit.org/results/3352057 New failing tests: fast/mediastream/apply-constraints-audio.html
Created attachment 304828 [details] Archive of layout-test-results from ews107 for mac-elcapitan-wk2 The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews. Bot: ews107 Port: mac-elcapitan-wk2 Platform: Mac OS X 10.11.6
Created attachment 304865 [details] Patch Updated Patch
Comment on attachment 304865 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=304865&action=review > Source/JavaScriptCore/ChangeLog:10 > + isConstructor. I think you mean "isClassContext" here. > Source/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp:1031 > - if ((isConstructor() && constructorKind() == ConstructorKind::Extends) || m_codeBlock->isClassContext()) { > - if (isSuperUsedInInnerArrowFunction()) > - return true; > - } > - return false; > + return m_codeBlock->isClassContext() && isSuperUsedInInnerArrowFunction(); I understand that m_codeBlock->isClassContext() means that "executable->superBinding() == SuperBinding::Needed", and that in turn is true because we set "expectedSuperBinding = m_defaultConstructorKind == ConstructorKind::Extends ? SuperBinding::Needed : SuperBinding::NotNeeded". However, this relationship is a few steps removed. Can you add an assert before this so that the relationship doesn't change without us noticing? ASSERT(m_codeBlock->isClassContext() || !(isConstructor() && constructorKind() == ConstructorKind::Extends));
Committed r214138: <http://trac.webkit.org/changeset/214138> All reviewed patches have been landed. Closing bug.
Fixed and landed