Changeset 37324 in webkit for trunk/JavaScriptCore/kjs/JSActivation.cpp
- Timestamp:
- Oct 5, 2008, 11:00:58 PM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/kjs/JSActivation.cpp
r37285 r37324 156 156 JSActivation* thisObj = static_cast<JSActivation*>(slot.slotBase()); 157 157 158 JSValue* arguments;159 158 if (thisObj->d()->functionBody->usesArguments()) { 160 159 PropertySlot slot; 161 160 thisObj->symbolTableGet(exec->propertyNames().arguments, slot); 162 arguments = slot.getValue(exec, exec->propertyNames().arguments); 163 } else { 164 arguments = thisObj->d()->registers[RegisterFile::OptionalCalleeArguments].getJSValue(); 165 if (!arguments) { 166 arguments = new (exec) Arguments(exec, thisObj); 167 thisObj->d()->registers[RegisterFile::OptionalCalleeArguments] = arguments; 168 } 169 ASSERT(arguments->isObject(&Arguments::info)); 161 return slot.getValue(exec, exec->propertyNames().arguments); 170 162 } 163 164 Arguments* arguments = static_cast<Arguments*>(thisObj->d()->registers[RegisterFile::OptionalCalleeArguments].getJSValue()); 165 if (!arguments) { 166 arguments = new (exec) Arguments(exec, &thisObj->registerAt(0)); 167 arguments->copyRegisters(); 168 thisObj->d()->registers[RegisterFile::OptionalCalleeArguments] = arguments; 169 } 170 ASSERT(arguments->isObject(&Arguments::info)); 171 171 172 172 return arguments;
Note:
See TracChangeset
for help on using the changeset viewer.