aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Pall <mike>2012-09-03 21:08:37 +0200
committerMike Pall <mike>2012-09-03 21:08:37 +0200
commit90ec1f90d0c31ab9398e971665c1e33d3158f9c0 (patch)
treead92f948b054f2b65273ff7cd94c7d8189ba43e3
parenta6d636c50809b405ca838dc683627433950c9e2e (diff)
downloadluajit-90ec1f90d0c31ab9398e971665c1e33d3158f9c0.tar.gz
luajit-90ec1f90d0c31ab9398e971665c1e33d3158f9c0.tar.bz2
luajit-90ec1f90d0c31ab9398e971665c1e33d3158f9c0.zip
Fix recording of ctype() constructors for pointers.
-rw-r--r--src/lj_crecord.c3
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;