Changeset 12435 in webkit for trunk/JavaScriptCore/kjs/internal.cpp
- Timestamp:
- Jan 28, 2006, 8:12:59 PM (19 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/kjs/internal.cpp
r12352 r12435 44 44 #include <assert.h> 45 45 #include <kxmlcore/HashMap.h> 46 #include <kxmlcore/Vector.h> 46 47 #include <math.h> 47 48 #include <stdio.h> … … 353 354 int Parser::sid = 0; 354 355 355 const int initialCapacity = 64; 356 const int growthFactor = 2; 357 358 static int numNewNodes; 359 static int newNodesCapacity; 360 static Node **newNodes; 356 static Vector<RefPtr<Node> >* newNodes; 361 357 362 358 void Parser::saveNewNode(Node *node) 363 359 { 364 if (numNewNodes == newNodesCapacity) { 365 newNodesCapacity = (newNodesCapacity == 0) ? initialCapacity : newNodesCapacity * growthFactor; 366 newNodes = (Node **)fastRealloc(newNodes, sizeof(Node *) * newNodesCapacity); 367 } 368 369 newNodes[numNewNodes++] = node; 360 if (!newNodes) 361 newNodes = new Vector<RefPtr<Node> >; 362 363 newNodes->append(node); 370 364 } 371 365 372 366 static void clearNewNodes() 373 367 { 374 for (int i = 0; i < numNewNodes; i++) { 375 if (newNodes[i]->refcount() == 0) 376 delete newNodes[i]; 377 } 378 fastFree(newNodes); 379 newNodes = 0; 380 numNewNodes = 0; 381 newNodesCapacity = 0; 368 delete newNodes; 369 newNodes = 0; 382 370 } 383 371
Note:
See TracChangeset
for help on using the changeset viewer.