diff options
author | Lorry Tar Creator <lorry-tar-importer@lorry> | 2016-04-10 09:28:39 +0000 |
---|---|---|
committer | Lorry Tar Creator <lorry-tar-importer@lorry> | 2016-04-10 09:28:39 +0000 |
commit | 32761a6cee1d0dee366b885b7b9c777e67885688 (patch) | |
tree | d6bec92bebfb216f4126356e55518842c2f476a1 /Source/JavaScriptCore/llint/LLIntData.h | |
parent | a4e969f4965059196ca948db781e52f7cfebf19e (diff) | |
download | WebKitGtk-tarball-32761a6cee1d0dee366b885b7b9c777e67885688.tar.gz |
webkitgtk-2.4.11webkitgtk-2.4.11
Diffstat (limited to 'Source/JavaScriptCore/llint/LLIntData.h')
-rw-r--r-- | Source/JavaScriptCore/llint/LLIntData.h | 36 |
1 files changed, 30 insertions, 6 deletions
diff --git a/Source/JavaScriptCore/llint/LLIntData.h b/Source/JavaScriptCore/llint/LLIntData.h index 7e7794b14..8ed2bceda 100644 --- a/Source/JavaScriptCore/llint/LLIntData.h +++ b/Source/JavaScriptCore/llint/LLIntData.h @@ -28,13 +28,14 @@ #include "JSCJSValue.h" #include "Opcode.h" +#include <wtf/Platform.h> namespace JSC { class VM; struct Instruction; -#if !ENABLE(JIT) +#if ENABLE(LLINT_C_LOOP) typedef OpcodeID LLIntCode; #else typedef void (*LLIntCode)(); @@ -42,13 +43,15 @@ typedef void (*LLIntCode)(); namespace LLInt { +#if ENABLE(LLINT) + class Data { public: static void performAssertions(VM&); private: static Instruction* s_exceptionInstructions; - static Opcode s_opcodeMap[numOpcodeIDs]; + static Opcode* s_opcodeMap; friend void initialize(); @@ -84,12 +87,33 @@ ALWAYS_INLINE void* getCodePtr(OpcodeID id) return reinterpret_cast<void*>(getOpcode(id)); } -#if ENABLE(JIT) -ALWAYS_INLINE LLIntCode getCodeFunctionPtr(OpcodeID codeId) +#else // !ENABLE(LLINT) + +#if COMPILER(CLANG) +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wmissing-noreturn" +#endif + +class Data { +public: + static void performAssertions(VM&) { } +}; + +#if COMPILER(CLANG) +#pragma clang diagnostic pop +#endif + +#endif // !ENABLE(LLINT) + +ALWAYS_INLINE void* getOpcode(void llintOpcode()) +{ + return bitwise_cast<void*>(llintOpcode); +} + +ALWAYS_INLINE void* getCodePtr(void glueHelper()) { - return reinterpret_cast<LLIntCode>(getCodePtr(codeId)); + return bitwise_cast<void*>(glueHelper); } -#endif ALWAYS_INLINE void* getCodePtr(JSC::EncodedJSValue glueHelper()) { |