Data collected via bug 86281 show that a lot of vector capacity is wasted via the Vector allocated here: 6369 vectors, 60.39KB used of 546.38KB, 485.98KB wasted at: 1 0x10696fa45 WTF::Vector<JSC::Identifier, 0ul>::Vector() 2 0x106bb9ee0 JSC::FunctionParameters::FunctionParameters(JSC::ParameterNode*) 3 0x106bb9ead JSC::FunctionParameters::FunctionParameters(JSC::ParameterNode*) 4 0x106bbac59 JSC::FunctionParameters::create(JSC::ParameterNode*) 5 0x106bb9f84 JSC::FunctionBodyNode::finishParsing(JSC::SourceCode const&, JSC::ParameterNode*, JSC::Identifier const&)
This is the top most wasteful Vector client after the other JSC stuff was fixed: 2680 vectors, 28.22KB used of 249.88KB, 221.66KB wasted at: 1 0x108917855 JSC::FunctionParameters::FunctionParameters(JSC::ParameterNode*) 2 0x10891793f JSC::FunctionBodyNode::finishParsing(JSC::SourceCode const&, JSC::ParameterNode*, JSC::Identifier const&) 3 0x108945704 JSC::ASTBuilder::createFunctionExpr(int, JSC::Identifier const*, JSC::FunctionBodyNode*, JSC::ParameterNode*, int, int, int, int) 4 0x10894459f JSC::ASTBuilder::Expression JSC::Parser<JSC::Lexer<unsigned short> >::parseMemberExpression<JSC::ASTBuilder>(JSC::ASTBuilder&) 5 0x10893c8a9 JSC::ASTBuilder::Expression JSC::Parser<JSC::Lexer<unsigned short> >::parseAssignmentExpression<JSC::ASTBuilder>(JSC::ASTBuilder&)
Are these short term vectors, or are they things that are lying around?
I'm dumping from a run loop observer, so they persist over at least one runloop.