diff options
author | Simon Hausmann <simon.hausmann@nokia.com> | 2012-02-24 16:36:50 +0100 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@nokia.com> | 2012-02-24 16:36:50 +0100 |
commit | ad0d549d4cc13433f77c1ac8f0ab379c83d93f28 (patch) | |
tree | b34b0daceb7c8e7fdde4b4ec43650ab7caadb0a9 /Source/JavaScriptCore/runtime/JSGlobalData.h | |
parent | 03e12282df9aa1e1fb05a8b90f1cfc2e08764cec (diff) | |
download | qtwebkit-ad0d549d4cc13433f77c1ac8f0ab379c83d93f28.tar.gz |
Imported WebKit commit bb52bf3c0119e8a128cd93afe5572413a8617de9 (http://svn.webkit.org/repository/webkit/trunk@108790)
Diffstat (limited to 'Source/JavaScriptCore/runtime/JSGlobalData.h')
-rw-r--r-- | Source/JavaScriptCore/runtime/JSGlobalData.h | 34 |
1 files changed, 27 insertions, 7 deletions
diff --git a/Source/JavaScriptCore/runtime/JSGlobalData.h b/Source/JavaScriptCore/runtime/JSGlobalData.h index 92817f2a2..7e54c00db 100644 --- a/Source/JavaScriptCore/runtime/JSGlobalData.h +++ b/Source/JavaScriptCore/runtime/JSGlobalData.h @@ -30,15 +30,16 @@ #define JSGlobalData_h #include "CachedTranscendentalFunction.h" -#include "Intrinsic.h" #include "DateInstanceCache.h" #include "ExecutableAllocator.h" #include "Heap.h" -#include "Strong.h" +#include "Intrinsic.h" #include "JITStubs.h" #include "JSValue.h" +#include "LLIntData.h" #include "NumericStrings.h" #include "SmallStrings.h" +#include "Strong.h" #include "Terminator.h" #include "TimeoutChecker.h" #include "WeakRandom.h" @@ -65,6 +66,7 @@ namespace JSC { class JSGlobalObject; class JSObject; class Keywords; + class LLIntOffsetsExtractor; class NativeExecutable; class ParserArena; class RegExpCache; @@ -211,13 +213,23 @@ namespace JSC { codeBlocksBeingCompiled.removeLast(); } + void setInDefineOwnProperty(bool inDefineOwnProperty) + { + m_inDefineOwnProperty = inDefineOwnProperty; + } + + bool isInDefineOwnProperty() + { + return m_inDefineOwnProperty; + } + #if ENABLE(ASSEMBLER) ExecutableAllocator executableAllocator; #endif #if !ENABLE(JIT) bool canUseJIT() { return false; } // interpreter only -#elif !ENABLE(INTERPRETER) +#elif !ENABLE(CLASSIC_INTERPRETER) bool canUseJIT() { return true; } // jit only #else bool canUseJIT() { return m_canUseJIT; } @@ -241,7 +253,12 @@ namespace JSC { Heap heap; JSValue exception; -#if ENABLE(JIT) + + const ClassInfo* const jsArrayClassInfo; + const ClassInfo* const jsFinalObjectClassInfo; + + LLInt::Data llintData; + ReturnAddressPtr exceptionLocation; JSValue hostCallReturnValue; CallFrame* callFrameForThrow; @@ -271,7 +288,6 @@ namespace JSC { return scratchBuffers.last(); } #endif -#endif HashMap<OpaqueJSClass*, OwnPtr<OpaqueJSClassContextData> > opaqueJSClassData; @@ -332,7 +348,7 @@ namespace JSC { ASSERT(!m_##type##ArrayDescriptor.m_classInfo || m_##type##ArrayDescriptor.m_classInfo == descriptor.m_classInfo); \ m_##type##ArrayDescriptor = descriptor; \ } \ - const TypedArrayDescriptor& type##ArrayDescriptor() const { return m_##type##ArrayDescriptor; } + const TypedArrayDescriptor& type##ArrayDescriptor() const { ASSERT(m_##type##ArrayDescriptor.m_classInfo); return m_##type##ArrayDescriptor; } registerTypedArrayFunction(int8, Int8); registerTypedArrayFunction(int16, Int16); @@ -346,15 +362,19 @@ namespace JSC { #undef registerTypedArrayFunction private: + friend class LLIntOffsetsExtractor; + JSGlobalData(GlobalDataType, ThreadStackType, HeapSize); static JSGlobalData*& sharedInstanceInternal(); void createNativeThunk(); -#if ENABLE(JIT) && ENABLE(INTERPRETER) +#if ENABLE(JIT) && ENABLE(CLASSIC_INTERPRETER) bool m_canUseJIT; #endif #if ENABLE(GC_VALIDATION) bool m_isInitializingObject; #endif + bool m_inDefineOwnProperty; + TypedArrayDescriptor m_int8ArrayDescriptor; TypedArrayDescriptor m_int16ArrayDescriptor; TypedArrayDescriptor m_int32ArrayDescriptor; |