Changeset 198798 in webkit for trunk/Source/JavaScriptCore/runtime/Executable.h
- Timestamp:
- Mar 29, 2016, 2:04:21 PM (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/runtime/Executable.h
r198364 r198798 76 76 static const int NUM_PARAMETERS_NOT_COMPILED = -1; 77 77 78 ExecutableBase(VM& vm, Structure* structure, int numParameters )78 ExecutableBase(VM& vm, Structure* structure, int numParameters, Intrinsic intrinsic) 79 79 : JSCell(vm, structure) 80 80 , m_numParametersForCall(numParameters) 81 81 , m_numParametersForConstruct(numParameters) 82 , m_intrinsic(intrinsic) 82 83 { 83 84 } … … 232 233 233 234 // Intrinsics are only for calls, currently. 234 Intrinsic intrinsic() const ;235 Intrinsic intrinsic() const { return m_intrinsic; } 235 236 236 237 Intrinsic intrinsicFor(CodeSpecializationKind kind) const … … 244 245 245 246 protected: 247 Intrinsic m_intrinsic; 246 248 RefPtr<JITCode> m_jitCodeForCall; 247 249 RefPtr<JITCode> m_jitCodeForConstruct; … … 260 262 { 261 263 NativeExecutable* executable; 262 executable = new (NotNull, allocateCell<NativeExecutable>(vm.heap)) NativeExecutable(vm, function, constructor );263 executable->finishCreation(vm, callThunk, constructThunk, intrinsic,name);264 executable = new (NotNull, allocateCell<NativeExecutable>(vm.heap)) NativeExecutable(vm, function, constructor, intrinsic); 265 executable->finishCreation(vm, callThunk, constructThunk, name); 264 266 return executable; 265 267 } … … 297 299 298 300 protected: 299 void finishCreation(VM& vm, PassRefPtr<JITCode> callThunk, PassRefPtr<JITCode> constructThunk, Intrinsic intrinsic,const String& name)301 void finishCreation(VM& vm, PassRefPtr<JITCode> callThunk, PassRefPtr<JITCode> constructThunk, const String& name) 300 302 { 301 303 Base::finishCreation(vm); 302 304 m_jitCodeForCall = callThunk; 303 305 m_jitCodeForConstruct = constructThunk; 304 m_intrinsic = intrinsic;305 306 m_name = name; 306 307 } … … 309 310 friend class ExecutableBase; 310 311 311 NativeExecutable(VM& vm, NativeFunction function, NativeFunction constructor )312 : ExecutableBase(vm, vm.nativeExecutableStructure.get(), NUM_PARAMETERS_IS_HOST )312 NativeExecutable(VM& vm, NativeFunction function, NativeFunction constructor, Intrinsic intrinsic) 313 : ExecutableBase(vm, vm.nativeExecutableStructure.get(), NUM_PARAMETERS_IS_HOST, intrinsic) 313 314 , m_function(function) 314 315 , m_constructor(constructor) … … 400 401 401 402 protected: 402 ScriptExecutable(Structure*, VM&, const SourceCode&, bool isInStrictContext, DerivedContextType, bool isInArrowFunctionContext );403 ScriptExecutable(Structure*, VM&, const SourceCode&, bool isInStrictContext, DerivedContextType, bool isInArrowFunctionContext, Intrinsic); 403 404 404 405 void finishCreation(VM& vm) … … 581 582 static FunctionExecutable* create( 582 583 VM& vm, const SourceCode& source, UnlinkedFunctionExecutable* unlinkedExecutable, 583 unsigned firstLine, unsigned lastLine, unsigned startColumn, unsigned endColumn )584 { 585 FunctionExecutable* executable = new (NotNull, allocateCell<FunctionExecutable>(vm.heap)) FunctionExecutable(vm, source, unlinkedExecutable, firstLine, lastLine, startColumn, endColumn );584 unsigned firstLine, unsigned lastLine, unsigned startColumn, unsigned endColumn, Intrinsic intrinsic) 585 { 586 FunctionExecutable* executable = new (NotNull, allocateCell<FunctionExecutable>(vm.heap)) FunctionExecutable(vm, source, unlinkedExecutable, firstLine, lastLine, startColumn, endColumn, intrinsic); 586 587 executable->finishCreation(vm); 587 588 return executable; … … 698 699 FunctionExecutable( 699 700 VM&, const SourceCode&, UnlinkedFunctionExecutable*, unsigned firstLine, 700 unsigned lastLine, unsigned startColumn, unsigned endColumn );701 unsigned lastLine, unsigned startColumn, unsigned endColumn, Intrinsic); 701 702 702 703 void finishCreation(VM&);
Note:
See TracChangeset
for help on using the changeset viewer.