You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fixJuliaLang#11187 (pass struct and tuple objects by stack pointer)
fixJuliaLang#11450 (ccall emission was frobbing the stack)
likely may fixJuliaLang#11026 and may fixJuliaLang#11003 (ref JuliaLang#10525) invalid stack-read on 32-bit
this additionally changes the julia specSig calling convention to pass
non-primitive types by pointer instead of by-value
this additionally fixes a bug in gen_cfunction that could be exposed by
turning off specSig
this additionally moves the alloca calls in ccall (and other places) to
the entry BasicBlock in the function, ensuring that llvm detects them as
static allocations and moves them into the function prologue
this additionally fixes some undefined behavior from changing
a variable's size through a alloca-cast instead of zext/sext/trunc
this additionally prepares for turning back on allocating tuples as vectors,
since the gc now guarantees 16-byte alignment
future work this makes possible:
- create a function to replace the jlallocobj_func+init_bits_value call pair (to reduce codegen pressure)
- allow moving pointers sometimes rather than always copying immutable data
- teach the GC how it can re-use an existing pointer as a box
0 commit comments