|
@@ -2411,6 +2411,17 @@ LJFOLDF(xload_kptr)
|
|
|
LJFOLD(XLOAD any any)
|
|
|
LJFOLDX(lj_opt_fwd_xload)
|
|
|
|
|
|
+/* -- Frame handling ------------------------------------------------------ */
|
|
|
+
|
|
|
+/* Prevent CSE of a REF_BASE operand across IR_RETF. */
|
|
|
+LJFOLD(SUB any BASE)
|
|
|
+LJFOLD(SUB BASE any)
|
|
|
+LJFOLD(EQ any BASE)
|
|
|
+LJFOLDF(fold_base)
|
|
|
+{
|
|
|
+ return lj_opt_cselim(J, J->chain[IR_RETF]);
|
|
|
+}
|
|
|
+
|
|
|
/* -- Write barriers ------------------------------------------------------ */
|
|
|
|
|
|
/* Write barriers are amenable to CSE, but not across any incremental
|