summaryrefslogtreecommitdiff
path: root/Source/JavaScriptCore/llint/LLIntData.h
diff options
context:
space:
mode:
authorLorry Tar Creator <lorry-tar-importer@lorry>2016-04-10 09:28:39 +0000
committerLorry Tar Creator <lorry-tar-importer@lorry>2016-04-10 09:28:39 +0000
commit32761a6cee1d0dee366b885b7b9c777e67885688 (patch)
treed6bec92bebfb216f4126356e55518842c2f476a1 /Source/JavaScriptCore/llint/LLIntData.h
parenta4e969f4965059196ca948db781e52f7cfebf19e (diff)
downloadWebKitGtk-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.h36
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())
{