diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/lj_record.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/lj_record.c b/src/lj_record.c index 20a7ea36..d336f642 100644 --- a/src/lj_record.c +++ b/src/lj_record.c | |||
| @@ -854,7 +854,10 @@ int lj_record_mm_lookup(jit_State *J, RecordIndex *ix, MMS mm) | |||
| 854 | return 0; /* No metamethod. */ | 854 | return 0; /* No metamethod. */ |
| 855 | } | 855 | } |
| 856 | /* The cdata metatable is treated as immutable. */ | 856 | /* The cdata metatable is treated as immutable. */ |
| 857 | if (LJ_HASFFI && tref_iscdata(ix->tab)) goto immutable_mt; | 857 | if (LJ_HASFFI && tref_iscdata(ix->tab)) { |
| 858 | mix.tab = TREF_NIL; | ||
| 859 | goto immutable_mt; | ||
| 860 | } | ||
| 858 | ix->mt = mix.tab = lj_ir_ktab(J, mt); | 861 | ix->mt = mix.tab = lj_ir_ktab(J, mt); |
| 859 | goto nocheck; | 862 | goto nocheck; |
| 860 | } | 863 | } |
