mirror of
https://github.com/postgres/postgres.git
synced 2025-07-02 09:02:37 +03:00
Quick adaption of JIT tuple deforming to the fast default patch.
Instead using memset to set tts_isnull, call the new slot_getmissingattrs(). Also fix a bug (= instead of >=) in the code generation. Normally = is correct, but when repeatedly deforming fields not in a tuple (e.g. deform up to natts + 1 and then natts + 2) >= is needed. Discussion: https://postgr.es/m/20180328010053.i2qvsuuusst4lgmc@alap3.anarazel.de
This commit is contained in:
@ -76,6 +76,7 @@ LLVMValueRef AttributeTemplate;
|
||||
LLVMValueRef FuncStrlen;
|
||||
LLVMValueRef FuncVarsizeAny;
|
||||
LLVMValueRef FuncSlotGetsomeattrs;
|
||||
LLVMValueRef FuncSlotGetmissingattrs;
|
||||
LLVMValueRef FuncHeapGetsysattr;
|
||||
LLVMValueRef FuncMakeExpandedObjectReadOnlyInternal;
|
||||
LLVMValueRef FuncExecEvalArrayRefSubscript;
|
||||
@ -798,6 +799,7 @@ llvm_create_types(void)
|
||||
FuncStrlen = LLVMGetNamedFunction(mod, "strlen");
|
||||
FuncVarsizeAny = LLVMGetNamedFunction(mod, "varsize_any");
|
||||
FuncSlotGetsomeattrs = LLVMGetNamedFunction(mod, "slot_getsomeattrs");
|
||||
FuncSlotGetmissingattrs = LLVMGetNamedFunction(mod, "slot_getmissingattrs");
|
||||
FuncHeapGetsysattr = LLVMGetNamedFunction(mod, "heap_getsysattr");
|
||||
FuncMakeExpandedObjectReadOnlyInternal = LLVMGetNamedFunction(mod, "MakeExpandedObjectReadOnlyInternal");
|
||||
FuncExecEvalArrayRefSubscript = LLVMGetNamedFunction(mod, "ExecEvalArrayRefSubscript");
|
||||
|
Reference in New Issue
Block a user