Index: runtime/vm/native_arguments.h |
=================================================================== |
--- runtime/vm/native_arguments.h (revision 25822) |
+++ runtime/vm/native_arguments.h (working copy) |
@@ -12,6 +12,10 @@ |
namespace dart { |
+DECLARE_FLAG(bool, deoptimize_alot); |
+DECLARE_FLAG(bool, trace_natives); |
+DECLARE_FLAG(bool, verify_on_transition); |
+ |
// Forward declarations. |
class BootstrapNatives; |
class Isolate; |
@@ -19,7 +23,6 @@ |
class RawObject; |
class Simulator; |
- |
#if defined(TESTING) || defined(DEBUG) |
#if defined(USING_SIMULATOR) |
@@ -41,9 +44,26 @@ |
} |
#endif |
+#define VERIFY_ON_TRANSITION \ |
+ if (FLAG_verify_on_transition) { \ |
+ VerifyPointersVisitor::VerifyPointers(); \ |
+ Isolate::Current()->heap()->Verify(); \ |
+ } |
+#define TRACE_NATIVES(name) \ |
+ if (FLAG_trace_natives) { \ |
+ OS::Print("Calling native: %s\n", name); \ |
+ } |
+#define DEOPTIMIZE_ALOT \ |
+ if (FLAG_deoptimize_alot) { \ |
+ DeoptimizeAll(); \ |
+ } |
+ |
#else |
#define CHECK_STACK_ALIGNMENT { } |
+#define VERIFY_ON_TRANSITION { } |
+#define TRACE_NATIVES(name) { } |
+#define DEOPTIMIZE_ALOT { } |
#endif |