diff options
author | Mike Pall <mike> | 2012-09-03 21:08:37 +0200 |
---|---|---|
committer | Mike Pall <mike> | 2012-09-03 21:08:37 +0200 |
commit | 90ec1f90d0c31ab9398e971665c1e33d3158f9c0 (patch) | |
tree | ad92f948b054f2b65273ff7cd94c7d8189ba43e3 | |
parent | a6d636c50809b405ca838dc683627433950c9e2e (diff) | |
download | luajit-90ec1f90d0c31ab9398e971665c1e33d3158f9c0.tar.gz luajit-90ec1f90d0c31ab9398e971665c1e33d3158f9c0.tar.bz2 luajit-90ec1f90d0c31ab9398e971665c1e33d3158f9c0.zip |
Fix recording of ctype() constructors for pointers.
-rw-r--r-- | src/lj_crecord.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/src/lj_crecord.c b/src/lj_crecord.c index 30d315d5..82cb8503 100644 --- a/src/lj_crecord.c +++ b/src/lj_crecord.c | |||
@@ -944,8 +944,7 @@ void LJ_FASTCALL recff_cdata_call(jit_State *J, RecordFFData *rd) | |||
944 | } | 944 | } |
945 | /* Record ctype __call/__new metamethod. */ | 945 | /* Record ctype __call/__new metamethod. */ |
946 | ct = ctype_raw(cts, id); | 946 | ct = ctype_raw(cts, id); |
947 | if (ctype_isptr(ct->info)) id = ctype_cid(ct->info); | 947 | tv = lj_ctype_meta(cts, ctype_isptr(ct->info) ? ctype_cid(ct->info) : id, mm); |
948 | tv = lj_ctype_meta(cts, id, mm); | ||
949 | if (tv) { | 948 | if (tv) { |
950 | if (tvisfunc(tv)) { | 949 | if (tvisfunc(tv)) { |
951 | J->base[-1] = lj_ir_kfunc(J, funcV(tv)) | TREF_FRAME; | 950 | J->base[-1] = lj_ir_kfunc(J, funcV(tv)) | TREF_FRAME; |