summaryrefslogtreecommitdiff
path: root/zjit/src/state.rs
diff options
context:
space:
mode:
Diffstat (limited to 'zjit/src/state.rs')
-rw-r--r--zjit/src/state.rs15
1 files changed, 15 insertions, 0 deletions
diff --git a/zjit/src/state.rs b/zjit/src/state.rs
index 92efc3a48e..c176d58b20 100644
--- a/zjit/src/state.rs
+++ b/zjit/src/state.rs
@@ -12,6 +12,9 @@ pub struct ZJITState {
/// Assumptions that require invalidation
invariants: Invariants,
+
+ /// Assert successful compilation if set to true
+ assert_compiles: bool,
}
/// Private singleton instance of the codegen globals
@@ -64,6 +67,7 @@ impl ZJITState {
code_block: cb,
options,
invariants: Invariants::default(),
+ assert_compiles: false,
};
unsafe { ZJIT_STATE = Some(zjit_state); }
}
@@ -92,4 +96,15 @@ impl ZJITState {
pub fn get_invariants() -> &'static mut Invariants {
&mut ZJITState::get_instance().invariants
}
+
+ /// Return true if successful compilation should be asserted
+ pub fn assert_compiles_enabled() -> bool {
+ ZJITState::get_instance().assert_compiles
+ }
+
+ /// Start asserting successful compilation
+ pub fn enable_assert_compiles() {
+ let instance = ZJITState::get_instance();
+ instance.assert_compiles = true;
+ }
}