Changeset 80285 in webkit for trunk/Source/JavaScriptCore/runtime/JSActivation.cpp
- Timestamp:
- Mar 3, 2011, 2:30:59 PM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/runtime/JSActivation.cpp
r80277 r80285 61 61 62 62 // No need to mark our registers if they're still in the RegisterFile. 63 Register* registerArray = m_registerArray.get();63 WriteBarrier<Unknown>* registerArray = m_registerArray.get(); 64 64 if (!registerArray) 65 65 return; … … 68 68 69 69 size_t count = numParametersMinusThis; 70 markStack. deprecatedAppendValues(registerArray, count);70 markStack.appendValues(registerArray, count); 71 71 72 72 size_t numVars = m_functionExecutable->capturedVariableCount(); 73 73 74 74 // Skip the call frame, which sits between the parameters and vars. 75 markStack. deprecatedAppendValues(registerArray + count + RegisterFile::CallFrameHeaderSize, numVars, MayContainNullValues);75 markStack.appendValues(registerArray + count + RegisterFile::CallFrameHeaderSize, numVars, MayContainNullValues); 76 76 } 77 77 … … 81 81 if (!entry.isNull()) { 82 82 ASSERT(entry.getIndex() < static_cast<int>(m_functionExecutable->capturedVariableCount())); 83 slot.setValue(registerAt(entry.getIndex()). jsValue());83 slot.setValue(registerAt(entry.getIndex()).get()); 84 84 return true; 85 85 } … … 87 87 } 88 88 89 inline bool JSActivation::symbolTablePut( const Identifier& propertyName, JSValue value)89 inline bool JSActivation::symbolTablePut(JSGlobalData& globalData, const Identifier& propertyName, JSValue value) 90 90 { 91 91 ASSERT(!Heap::heap(value) || Heap::heap(value) == Heap::heap(this)); … … 97 97 return true; 98 98 ASSERT(entry.getIndex() < static_cast<int>(m_functionExecutable->capturedVariableCount())); 99 registerAt(entry.getIndex()) = value;99 registerAt(entry.getIndex()).set(globalData, this, value); 100 100 return true; 101 101 } … … 113 113 } 114 114 115 inline bool JSActivation::symbolTablePutWithAttributes( const Identifier& propertyName, JSValue value, unsigned attributes)115 inline bool JSActivation::symbolTablePutWithAttributes(JSGlobalData& globalData, const Identifier& propertyName, JSValue value, unsigned attributes) 116 116 { 117 117 ASSERT(!Heap::heap(value) || Heap::heap(value) == Heap::heap(this)); … … 125 125 return false; 126 126 entry.setAttributes(attributes); 127 registerAt(entry.getIndex()) = value;127 registerAt(entry.getIndex()).set(globalData, this, value); 128 128 return true; 129 129 } … … 155 155 ASSERT(!Heap::heap(value) || Heap::heap(value) == Heap::heap(this)); 156 156 157 if (symbolTablePut( propertyName, value))157 if (symbolTablePut(exec->globalData(), propertyName, value)) 158 158 return; 159 159 … … 170 170 ASSERT(!Heap::heap(value) || Heap::heap(value) == Heap::heap(this)); 171 171 172 if (symbolTablePutWithAttributes( propertyName, value, attributes))172 if (symbolTablePutWithAttributes(exec->globalData(), propertyName, value, attributes)) 173 173 return; 174 174 … … 208 208 { 209 209 JSActivation* activation = asActivation(slotBase); 210 CallFrame* callFrame = CallFrame::create( activation->m_registers);210 CallFrame* callFrame = CallFrame::create(reinterpret_cast<Register*>(activation->m_registers)); 211 211 int argumentsRegister = activation->m_functionExecutable->generatedBytecode().argumentsRegister(); 212 212 if (JSValue arguments = callFrame->uncheckedR(argumentsRegister).jsValue())
Note:
See TracChangeset
for help on using the changeset viewer.