Changeset 59339 in webkit for trunk/JavaScriptCore/bytecode/CodeBlock.h
- Timestamp:
- May 12, 2010, 9:01:56 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/bytecode/CodeBlock.h
r59064 r59339 273 273 friend class JIT; 274 274 protected: 275 CodeBlock(ScriptExecutable* ownerExecutable, CodeType, PassRefPtr<SourceProvider>, unsigned sourceOffset, SymbolTable* symbolTable );275 CodeBlock(ScriptExecutable* ownerExecutable, CodeType, PassRefPtr<SourceProvider>, unsigned sourceOffset, SymbolTable* symbolTable, bool isConstructor); 276 276 public: 277 277 virtual ~CodeBlock(); … … 351 351 { 352 352 reparseForExceptionInfoIfNecessary(callFrame); 353 return binaryChop<CallReturnOffsetToBytecodeIndex, unsigned, getCallReturnOffset>(callReturnIndexVector().begin(), callReturnIndexVector().size(), ownerExecutable()->generatedJITCode().offsetOf(returnAddress.value()))->bytecodeIndex;353 return binaryChop<CallReturnOffsetToBytecodeIndex, unsigned, getCallReturnOffset>(callReturnIndexVector().begin(), callReturnIndexVector().size(), getJITCode().offsetOf(returnAddress.value()))->bytecodeIndex; 354 354 } 355 355 … … 369 369 370 370 #if ENABLE(JIT) 371 JITCode& getJITCode() { return ownerExecutable()->generatedJITCode(); }372 ExecutablePool* executablePool() { return ownerExecutable()->getExecutablePool(); }371 JITCode& getJITCode() { return m_isConstructor ? ownerExecutable()->generatedJITCodeForConstruct() : ownerExecutable()->generatedJITCodeForCall(); } 372 ExecutablePool* executablePool() { return getJITCode().getExecutablePool(); } 373 373 #endif 374 374 … … 490 490 int m_numVars; 491 491 int m_numParameters; 492 bool m_isConstructor; 492 493 493 494 private: … … 580 581 public: 581 582 GlobalCodeBlock(ScriptExecutable* ownerExecutable, CodeType codeType, PassRefPtr<SourceProvider> sourceProvider, unsigned sourceOffset, JSGlobalObject* globalObject) 582 : CodeBlock(ownerExecutable, codeType, sourceProvider, sourceOffset, &m_unsharedSymbolTable )583 : CodeBlock(ownerExecutable, codeType, sourceProvider, sourceOffset, &m_unsharedSymbolTable, false) 583 584 , m_globalObject(globalObject) 584 585 { … … 636 637 // symbol table, so we just pass as a raw pointer with a ref count of 1. We then manually deref 637 638 // in the destructor. 638 FunctionCodeBlock(FunctionExecutable* ownerExecutable, CodeType codeType, PassRefPtr<SourceProvider> sourceProvider, unsigned sourceOffset )639 : CodeBlock(ownerExecutable, codeType, sourceProvider, sourceOffset, new SharedSymbolTable )639 FunctionCodeBlock(FunctionExecutable* ownerExecutable, CodeType codeType, PassRefPtr<SourceProvider> sourceProvider, unsigned sourceOffset, bool isConstructor) 640 : CodeBlock(ownerExecutable, codeType, sourceProvider, sourceOffset, new SharedSymbolTable, isConstructor) 640 641 { 641 642 }
Note:
See TracChangeset
for help on using the changeset viewer.