Changeset 79904 in webkit for trunk/Source/JavaScriptCore/jit/JITStubs.cpp
- Timestamp:
- Feb 28, 2011, 1:05:22 PM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/jit/JITStubs.cpp
r79551 r79904 1175 1175 structure = asObject(proto)->inheritorID(); 1176 1176 else 1177 structure = constructor->scope() .node()->globalObject->emptyObjectStructure();1177 structure = constructor->scope()->globalObject->emptyObjectStructure(); 1178 1178 JSValue result = constructEmptyObject(callFrame, structure); 1179 1179 … … 1203 1203 CHECK_FOR_EXCEPTION_AT_END(); 1204 1204 return JSValue::encode(result); 1205 }1206 1207 DEFINE_STUB_FUNCTION(void, op_end)1208 {1209 STUB_INIT_STACK_FRAME(stackFrame);1210 1211 ScopeChainNode* scopeChain = stackFrame.callFrame->scopeChain();1212 ASSERT(scopeChain->refCount > 1);1213 scopeChain->deref();1214 1205 } 1215 1206 … … 1848 1839 ASSERT(!function->isHostFunction()); 1849 1840 FunctionExecutable* executable = function->jsExecutable(); 1850 ScopeChainNode* callDataScopeChain = function->scope() .node();1841 ScopeChainNode* callDataScopeChain = function->scope(); 1851 1842 JSObject* error = executable->compileForCall(stackFrame.callFrame, callDataScopeChain); 1852 1843 if (error) { … … 1869 1860 ASSERT(!function->isHostFunction()); 1870 1861 FunctionExecutable* executable = function->jsExecutable(); 1871 ScopeChainNode* callDataScopeChain = function->scope() .node();1862 ScopeChainNode* callDataScopeChain = function->scope(); 1872 1863 JSObject* error = executable->compileForConstruct(stackFrame.callFrame, callDataScopeChain); 1873 1864 if (error) { … … 1930 1921 callFrame->setArgumentCountIncludingThis(argCount); 1931 1922 callFrame->setCallee(callee); 1932 callFrame->setScopeChain(callee->scope() .node());1923 callFrame->setScopeChain(callee->scope()); 1933 1924 callFrame->setReturnPC(pc.value()); 1934 1925 … … 1989 1980 callFrame->setArgumentCountIncludingThis(argCount); 1990 1981 callFrame->setCallee(callee); 1991 callFrame->setScopeChain(callee->scope() .node());1982 callFrame->setScopeChain(callee->scope()); 1992 1983 callFrame->setReturnPC(pc.value()); 1993 1984 … … 2010 2001 else { 2011 2002 FunctionExecutable* functionExecutable = static_cast<FunctionExecutable*>(executable); 2012 JSObject* error = functionExecutable->compileForCall(callFrame, callee->scope() .node());2003 JSObject* error = functionExecutable->compileForCall(callFrame, callee->scope()); 2013 2004 if (error) { 2014 2005 callFrame->globalData().exception = createStackOverflowError(callFrame); … … 2044 2035 else { 2045 2036 FunctionExecutable* functionExecutable = static_cast<FunctionExecutable*>(executable); 2046 JSObject* error = functionExecutable->compileForConstruct(callFrame, callee->scope() .node());2037 JSObject* error = functionExecutable->compileForConstruct(callFrame, callee->scope()); 2047 2038 if (error) { 2048 2039 throwStackOverflowError(callFrame, stackFrame.globalData, ReturnAddressPtr(callFrame->returnPC()), STUB_RETURN_ADDRESS); … … 2071 2062 2072 2063 JSActivation* activation = new (stackFrame.globalData) JSActivation(stackFrame.callFrame, static_cast<FunctionExecutable*>(stackFrame.callFrame->codeBlock()->ownerExecutable())); 2073 stackFrame.callFrame->setScopeChain(stackFrame.callFrame->scopeChain()-> copy()->push(activation));2064 stackFrame.callFrame->setScopeChain(stackFrame.callFrame->scopeChain()->push(activation)); 2074 2065 return activation; 2075 2066 } … … 2173 2164 ASSERT(*stackFrame.enabledProfilerReference); 2174 2165 (*stackFrame.enabledProfilerReference)->didExecute(stackFrame.callFrame, stackFrame.args[0].jsValue()); 2175 }2176 2177 DEFINE_STUB_FUNCTION(void, op_ret_scopeChain)2178 {2179 STUB_INIT_STACK_FRAME(stackFrame);2180 2181 ASSERT(stackFrame.callFrame->codeBlock()->needsFullScopeChain());2182 stackFrame.callFrame->scopeChain()->deref();2183 2166 } 2184 2167 … … 3009 2992 if (!function->name().isNull()) { 3010 2993 JSStaticScopeObject* functionScopeObject = new (callFrame) JSStaticScopeObject(callFrame, function->name(), func, ReadOnly | DontDelete); 3011 func->s cope().push(functionScopeObject);2994 func->setScope(callFrame->globalData(), func->scope()->push(functionScopeObject)); 3012 2995 } 3013 2996 … … 3119 3102 Register* argv = newCallFrame - RegisterFile::CallFrameHeaderSize - argCount; 3120 3103 JSValue baseValue = argv[0].jsValue(); 3121 JSGlobalObject* globalObject = callFrame->scopeChain()->globalObject ;3104 JSGlobalObject* globalObject = callFrame->scopeChain()->globalObject.get(); 3122 3105 3123 3106 if (baseValue == globalObject && funcVal == globalObject->evalFunction()) {
Note:
See TracChangeset
for help on using the changeset viewer.