Changeset 140947 in webkit for trunk/Source/JavaScriptCore/parser/Nodes.cpp
- Timestamp:
- Jan 27, 2013, 10:46:36 PM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/parser/Nodes.cpp
r136860 r140947 152 152 // ------------------------------ FunctionBodyNode ----------------------------- 153 153 154 FunctionParameters::FunctionParameters(ParameterNode* firstParameter)154 PassRefPtr<FunctionParameters> FunctionParameters::create(ParameterNode* firstParameter) 155 155 { 156 156 unsigned parameterCount = 0; … … 158 158 ++parameterCount; 159 159 160 reserveInitialCapacity(parameterCount); 161 160 size_t objectSize = sizeof(FunctionParameters) - sizeof(void*) + sizeof(StringImpl*) * parameterCount; 161 void* slot = fastMalloc(objectSize); 162 return adoptRef(new (slot) FunctionParameters(firstParameter, parameterCount)); 163 } 164 165 FunctionParameters::FunctionParameters(ParameterNode* firstParameter, unsigned size) 166 : m_size(size) 167 { 168 unsigned i = 0; 162 169 for (ParameterNode* parameter = firstParameter; parameter; parameter = parameter->nextParam()) 163 uncheckedAppend(parameter->ident()); 170 new (&identifiers()[i++]) Identifier(parameter->ident()); 171 } 172 173 FunctionParameters::~FunctionParameters() 174 { 175 for (unsigned i = 0; i < m_size; ++i) 176 identifiers()[i].~Identifier(); 164 177 } 165 178
Note:
See TracChangeset
for help on using the changeset viewer.