Switch to unrelated ObjHeader and ArrayHeader. (#160)
This commit is contained in:
+1
-1
@@ -857,7 +857,7 @@ internal class CodeGeneratorVisitor(val context: Context) : IrElementVisitorVoid
|
||||
if (it is IrSpreadElement) {
|
||||
val exp = evaluateExpression(it.expression)!!
|
||||
val array = codegen.bitcast(codegen.kArrayHeaderPtr, exp)
|
||||
val sizePtr = LLVMBuildStructGEP(codegen.builder, array, 1, "")
|
||||
val sizePtr = LLVMBuildStructGEP(codegen.builder, array, 2, "")
|
||||
return@map Element(exp, codegen.load(sizePtr!!), true)
|
||||
}
|
||||
val exp = evaluateExpression(it)!!
|
||||
|
||||
+1
-2
@@ -18,8 +18,7 @@ private fun StaticData.objHeader(containerOffsetNegative: Int, typeInfo: ConstPo
|
||||
|
||||
private fun StaticData.arrayHeader(containerOffsetNegative: Int, typeInfo: ConstPointer, length: Int): Struct {
|
||||
assert (length >= 0)
|
||||
val objHeader = objHeader(containerOffsetNegative, typeInfo)
|
||||
return Struct(runtime.arrayHeaderType, objHeader, Int32(length))
|
||||
return Struct(runtime.arrayHeaderType, typeInfo, Int32(containerOffsetNegative), Int32(length))
|
||||
}
|
||||
|
||||
private fun requiredPadding(size: Int, align: Int): Int {
|
||||
|
||||
Reference in New Issue
Block a user