about summary refs log tree commit diff stats
path: root/src/dynarec/dynarec_private.h
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2025-04-09 15:19:45 +0200
committerptitSeb <sebastien.chev@gmail.com>2025-04-09 15:19:45 +0200
commit8c991cb6762d3a1384cec16d6e54402ce276ea9e (patch)
tree3d109e77532ce32822efec69950b7db787368fcc /src/dynarec/dynarec_private.h
parent70770db8bec892e66fa8b6834f1ea4a8f27325b6 (diff)
downloadbox64-8c991cb6762d3a1384cec16d6e54402ce276ea9e.tar.gz
box64-8c991cb6762d3a1384cec16d6e54402ce276ea9e.zip
[DYNAREC] Better handling of self-loop and added CALLRET=2 settings (ARM64 only, RV64 and LA64 todo)
Diffstat (limited to 'src/dynarec/dynarec_private.h')
-rw-r--r--src/dynarec/dynarec_private.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/dynarec/dynarec_private.h b/src/dynarec/dynarec_private.h
index 111e7c74..9e3c55be 100644
--- a/src/dynarec/dynarec_private.h
+++ b/src/dynarec/dynarec_private.h
@@ -41,6 +41,7 @@ typedef struct instruction_x64_s {
     uint8_t     has_next:1;   // does this opcode can continue to the next?
     uint8_t     has_callret:1;    // this instruction have an optimized call setup
     uint8_t     alive:1;    // this opcode gets executed (0 if dead code in that block)
+    uint8_t     self_loop:1;    // this is a landing address for a self-loop (loop on itslef with no exit)
     uint8_t     barrier;    // next instruction is a jump point, so no optim allowed
     uint8_t     state_flags;// One of SF_XXX state
     uint8_t     use_flags;  // 0 or combination of X_?F