Changeset 47022 in webkit for trunk/JavaScriptCore/runtime/JSActivation.cpp
- Timestamp:
- Aug 10, 2009, 9:35:02 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/runtime/JSActivation.cpp
r45609 r47022 1 1 /* 2 * Copyright (C) 2008 Apple Inc. All rights reserved.2 * Copyright (C) 2008, 2009 Apple Inc. All rights reserved. 3 3 * 4 4 * Redistribution and use in source and binary forms, with or without … … 50 50 } 51 51 52 void JSActivation::mark ()52 void JSActivation::markChildren(MarkStack& markStack) 53 53 { 54 Base::mark ();54 Base::markChildren(markStack); 55 55 56 56 Register* registerArray = d()->registerArray.get(); … … 60 60 size_t numParametersMinusThis = d()->functionBody->generatedBytecode().m_numParameters - 1; 61 61 62 size_t i = 0; 63 size_t count = numParametersMinusThis; 64 for ( ; i < count; ++i) { 65 Register& r = registerArray[i]; 66 if (!r.marked()) 67 r.mark(); 68 } 62 size_t count = numParametersMinusThis; 63 markStack.appendValues(registerArray, count); 69 64 70 65 size_t numVars = d()->functionBody->generatedBytecode().m_numVars; 71 66 72 67 // Skip the call frame, which sits between the parameters and vars. 73 i += RegisterFile::CallFrameHeaderSize; 74 count += RegisterFile::CallFrameHeaderSize + numVars; 75 76 for ( ; i < count; ++i) { 77 Register& r = registerArray[i]; 78 if (r.jsValue() && !r.marked()) 79 r.mark(); 80 } 68 markStack.appendValues(registerArray + count + RegisterFile::CallFrameHeaderSize, numVars, MayContainNullValues); 81 69 } 82 70
Note:
See TracChangeset
for help on using the changeset viewer.