Sync requestAnimationFrame callback to CVDisplayLink on Mac
https://bugs.webkit.org/show_bug.cgi?id=68911

Patch by Chris Marrin <cmarrin@apple.com> on 2011-10-13
Reviewed by Simon Fraser.

Add REQUEST_ANIMATION_FRAME_DISPLAY_MONITOR for implementations
that use the DisplayRefreshMonitor logic.

* wtf/Platform.h:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@97408 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/Source/JavaScriptCore/dfg/DFGNode.h b/Source/JavaScriptCore/dfg/DFGNode.h
index 50b6645..fdf21f4 100644
--- a/Source/JavaScriptCore/dfg/DFGNode.h
+++ b/Source/JavaScriptCore/dfg/DFGNode.h
@@ -26,43 +26,44 @@
 #ifndef DFGNode_h
 #define DFGNode_h
 
-#include <wtf/BoundsCheckedPointer.h>
-#include <wtf/Platform.h>
+#if ENABLE(DFG_JIT)
+
+/* DFG_ENABLE() - turn on a specific features in the DFG JIT */
+#define DFG_ENABLE(FEATURE) (defined DFG_ENABLE_##DFG_FEATURE && DFG_ENABLE_##DFG_FEATURE)
 
 // Emit various logging information for debugging, including dumping the dataflow graphs.
-#define ENABLE_DFG_DEBUG_VERBOSE 0
+#define DFG_ENABLE_DEBUG_VERBOSE 0
 // Emit dumps during propagation, in addition to just after.
-#define ENABLE_DFG_DEBUG_PROPAGATION_VERBOSE 0
+#define DFG_ENABLE_DEBUG_PROPAGATION_VERBOSE 0
 // Emit logging for OSR exit value recoveries at every node, not just nodes that
 // actually has speculation checks.
-#define ENABLE_DFG_VERBOSE_VALUE_RECOVERIES 0
+#define DFG_ENABLE_VERBOSE_VALUE_RECOVERIES 0
 // Enable generation of dynamic checks into the instruction stream.
 #if !ASSERT_DISABLED
-#define ENABLE_DFG_JIT_ASSERT 1
+#define DFG_ENABLE_JIT_ASSERT 1
 #else
-#define ENABLE_DFG_JIT_ASSERT 0
+#define DFG_ENABLE_JIT_ASSERT 0
 #endif
 // Consistency check contents compiler data structures.
-#define ENABLE_DFG_CONSISTENCY_CHECK 0
+#define DFG_ENABLE_CONSISTENCY_CHECK 0
 // Emit a breakpoint into the head of every generated function, to aid debugging in GDB.
-#define ENABLE_DFG_JIT_BREAK_ON_EVERY_FUNCTION 0
+#define DFG_ENABLE_JIT_BREAK_ON_EVERY_FUNCTION 0
 // Emit a breakpoint into the head of every generated node, to aid debugging in GDB.
-#define ENABLE_DFG_JIT_BREAK_ON_EVERY_BLOCK 0
+#define DFG_ENABLE_JIT_BREAK_ON_EVERY_BLOCK 0
 // Emit a breakpoint into the head of every generated node, to aid debugging in GDB.
-#define ENABLE_DFG_JIT_BREAK_ON_EVERY_NODE 0
+#define DFG_ENABLE_JIT_BREAK_ON_EVERY_NODE 0
 // Emit a breakpoint into the speculation failure code.
-#define ENABLE_DFG_JIT_BREAK_ON_SPECULATION_FAILURE 0
+#define DFG_ENABLE_JIT_BREAK_ON_SPECULATION_FAILURE 0
 // Log every speculation failure.
-#define ENABLE_DFG_VERBOSE_SPECULATION_FAILURE 0
+#define DFG_ENABLE_VERBOSE_SPECULATION_FAILURE 0
 // Disable the DFG JIT without having to touch Platform.h!
 #define DFG_DEBUG_LOCAL_DISBALE 0
 // Enable OSR entry from baseline JIT.
-#define ENABLE_DFG_OSR_ENTRY ENABLE_DFG_JIT
+#define DFG_ENABLE_OSR_ENTRY ENABLE(DFG_JIT)
 // Generate stats on how successful we were in making use of the DFG jit, and remaining on the hot path.
-#define ENABLE_DFG_SUCCESS_STATS 0
-
-
-#if ENABLE(DFG_JIT)
+#define DFG_ENABLE_SUCCESS_STATS 0
+// Used to enable conditionally supported opcodes that currently result in performance regressions.
+#define DFG_ENABLE_RESTRICTIONS 1
 
 #include "CodeBlock.h"
 #include "DFGOperands.h"
@@ -70,6 +71,7 @@
 #include "JSValue.h"
 #include "PredictedType.h"
 #include "ValueProfile.h"
+#include <wtf/BoundsCheckedPointer.h>
 #include <wtf/Vector.h>
 
 namespace JSC { namespace DFG {