Changeset 187205 in webkit for trunk/Source/JavaScriptCore/bytecode/UnlinkedCodeBlock.h
- Timestamp:
- Jul 22, 2015, 7:36:20 PM (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/bytecode/UnlinkedCodeBlock.h
r187033 r187205 30 30 #include "CodeSpecializationKind.h" 31 31 #include "CodeType.h" 32 #include "ConstructAbility.h" 32 33 #include "ExpressionRangeInfo.h" 33 34 #include "HandlerInfo.h" … … 108 109 static const unsigned StructureFlags = Base::StructureFlags | StructureIsImmortal; 109 110 110 static UnlinkedFunctionExecutable* create(VM* vm, const SourceCode& source, FunctionBodyNode* node, UnlinkedFunctionKind unlinkedFunctionKind, VariableEnvironment& parentScopeTDZVariables, RefPtr<SourceProvider>&& sourceOverride = nullptr)111 static UnlinkedFunctionExecutable* create(VM* vm, const SourceCode& source, FunctionBodyNode* node, UnlinkedFunctionKind unlinkedFunctionKind, ConstructAbility constructAbility, VariableEnvironment& parentScopeTDZVariables, RefPtr<SourceProvider>&& sourceOverride = nullptr) 111 112 { 112 113 UnlinkedFunctionExecutable* instance = new (NotNull, allocateCell<UnlinkedFunctionExecutable>(vm->heap)) 113 UnlinkedFunctionExecutable(vm, vm->unlinkedFunctionExecutableStructure.get(), source, WTF::move(sourceOverride), node, unlinkedFunctionKind, parentScopeTDZVariables);114 UnlinkedFunctionExecutable(vm, vm->unlinkedFunctionExecutableStructure.get(), source, WTF::move(sourceOverride), node, unlinkedFunctionKind, constructAbility, parentScopeTDZVariables); 114 115 instance->finishCreation(*vm); 115 116 return instance; … … 163 164 164 165 bool isBuiltinFunction() const { return m_isBuiltinFunction; } 166 ConstructAbility constructAbility() const { return static_cast<ConstructAbility>(m_constructAbility); } 165 167 bool isClassConstructorFunction() const { return constructorKind() != ConstructorKind::None; } 166 168 const VariableEnvironment* parentScopeTDZVariables() const { return &m_parentScopeTDZVariables; } 167 169 168 170 private: 169 UnlinkedFunctionExecutable(VM*, Structure*, const SourceCode&, RefPtr<SourceProvider>&& sourceOverride, FunctionBodyNode*, UnlinkedFunctionKind, VariableEnvironment&);171 UnlinkedFunctionExecutable(VM*, Structure*, const SourceCode&, RefPtr<SourceProvider>&& sourceOverride, FunctionBodyNode*, UnlinkedFunctionKind, ConstructAbility, VariableEnvironment&); 170 172 WriteBarrier<UnlinkedFunctionCodeBlock> m_codeBlockForCall; 171 173 WriteBarrier<UnlinkedFunctionCodeBlock> m_codeBlockForConstruct; … … 194 196 unsigned m_hasCapturedVariables : 1; 195 197 unsigned m_isBuiltinFunction : 1; 198 unsigned m_constructAbility: 1; 196 199 unsigned m_constructorKind : 2; 197 200 unsigned m_functionMode : 1; // FunctionMode
Note:
See TracChangeset
for help on using the changeset viewer.