diff options
-rw-r--r-- | src/lj_opt_fold.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/lj_opt_fold.c b/src/lj_opt_fold.c index 02e07333..bdaa0e4f 100644 --- a/src/lj_opt_fold.c +++ b/src/lj_opt_fold.c | |||
@@ -2411,6 +2411,17 @@ LJFOLDF(xload_kptr) | |||
2411 | LJFOLD(XLOAD any any) | 2411 | LJFOLD(XLOAD any any) |
2412 | LJFOLDX(lj_opt_fwd_xload) | 2412 | LJFOLDX(lj_opt_fwd_xload) |
2413 | 2413 | ||
2414 | /* -- Frame handling ------------------------------------------------------ */ | ||
2415 | |||
2416 | /* Prevent CSE of a REF_BASE operand across IR_RETF. */ | ||
2417 | LJFOLD(SUB any BASE) | ||
2418 | LJFOLD(SUB BASE any) | ||
2419 | LJFOLD(EQ any BASE) | ||
2420 | LJFOLDF(fold_base) | ||
2421 | { | ||
2422 | return lj_opt_cselim(J, J->chain[IR_RETF]); | ||
2423 | } | ||
2424 | |||
2414 | /* -- Write barriers ------------------------------------------------------ */ | 2425 | /* -- Write barriers ------------------------------------------------------ */ |
2415 | 2426 | ||
2416 | /* Write barriers are amenable to CSE, but not across any incremental | 2427 | /* Write barriers are amenable to CSE, but not across any incremental |