Changeset 28110 in webkit for trunk/JavaScriptCore/kjs/function.cpp
- Timestamp:
- Nov 28, 2007, 5:12:03 AM (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/kjs/function.cpp
r28106 r28110 62 62 } 63 63 64 void FunctionImp::mark Children(MarkStack& stack)65 { 66 InternalFunctionImp::mark Children(stack);67 _scope.mark Children(stack);64 void FunctionImp::mark() 65 { 66 InternalFunctionImp::mark(); 67 _scope.mark(); 68 68 } 69 69 … … 332 332 // ECMA 10.1.8 333 333 Arguments::Arguments(ExecState* exec, FunctionImp* func, const List& args, ActivationImp* act) 334 : JSObject(exec->lexicalInterpreter()->builtinObjectPrototype())335 , _activationObject(act) 336 ,indexToNameMap(func, args)334 : JSObject(exec->lexicalInterpreter()->builtinObjectPrototype()), 335 _activationObject(act), 336 indexToNameMap(func, args) 337 337 { 338 338 putDirect(exec->propertyNames().callee, func, DontEnum); … … 348 348 } 349 349 350 void Arguments::markChildren(MarkStack& stack) 351 { 352 JSObject::markChildren(stack); 353 stack.push(_activationObject); 350 void Arguments::mark() 351 { 352 JSObject::mark(); 353 if (_activationObject && !_activationObject->marked()) 354 _activationObject->mark(); 354 355 } 355 356 … … 484 485 } 485 486 486 void ActivationImp::mark Children(MarkStack& stack)487 { 488 JSObject::mark Children(stack);487 void ActivationImp::mark() 488 { 489 JSObject::mark(); 489 490 490 491 size_t size = d->localStorage.size(); 491 for (size_t i = 0; i < size; ++i) 492 stack.push(d->localStorage[i].value); 492 for (size_t i = 0; i < size; ++i) { 493 JSValue* value = d->localStorage[i].value; 494 if (!value->marked()) 495 value->mark(); 496 } 493 497 494 stack.push(d->function); 495 if (d->argumentsObject) 496 stack.push(d->argumentsObject); 498 ASSERT(d->function); 499 if (!d->function->marked()) 500 d->function->mark(); 501 502 if (d->argumentsObject && !d->argumentsObject->marked()) 503 d->argumentsObject->mark(); 497 504 } 498 505
Note:
See TracChangeset
for help on using the changeset viewer.