+/*========================= End of Function ========================*/
+
+/*------------------------------------------------------------------*/
+/* */
+/* Name - restoreLMF */
+/* */
+/* Function - Restore the LMF state prior to exiting a method. */
+/* */
+/*------------------------------------------------------------------*/
+
+#define restoreLMF(code, frame_reg, stack_usage) do \
+{ \
+ int lmfOffset = 0; \
+ \
+ s390_lgr (code, s390_r13, frame_reg); \
+ \
+ lmfOffset = stack_usage - sizeof(MonoLMF); \
+ \
+ /*-------------------------------------------------*/ \
+ /* r13 = my lmf */ \
+ /*-------------------------------------------------*/ \
+ s390_aghi (code, s390_r13, lmfOffset); \
+ \
+ /*-------------------------------------------------*/ \
+ /* r6 = &jit_tls->lmf */ \
+ /*-------------------------------------------------*/ \
+ s390_lg (code, s390_r6, 0, s390_r13, \
+ G_STRUCT_OFFSET(MonoLMF, lmf_addr)); \
+ \
+ /*-------------------------------------------------*/ \
+ /* r0 = lmf.previous_lmf */ \
+ /*-------------------------------------------------*/ \
+ s390_lg (code, s390_r0, 0, s390_r13, \
+ G_STRUCT_OFFSET(MonoLMF, previous_lmf)); \
+ \
+ /*-------------------------------------------------*/ \
+ /* jit_tls->lmf = previous_lmf */ \
+ /*-------------------------------------------------*/ \
+ s390_lg (code, s390_r13, 0, s390_r6, 0); \
+ s390_stg (code, s390_r0, 0, s390_r6, 0); \
+} while (0)
+
+/*========================= End of Function ========================*/
+
+#endif /* __MONO_MINI_S390X_H__ */