Stack allocate arrays

This commit is contained in:
nub31
2025-01-30 18:57:10 +01:00
parent a81d7939ba
commit ee640ae7a8
2 changed files with 5 additions and 13 deletions

View File

@@ -371,17 +371,9 @@ public class Generator
private void GenerateArrayInitializer(ArrayInitializerNode arrayInitializer, LocalFunc func)
{
_builder.AppendLine($"""
mov rax, 9
mov rdi, 0
mov rsi, {8 + arrayInitializer.Length * 8}
mov rdx, 3
mov r10, 34
mov r8, -1
mov r9, 0
syscall
mov QWORD [rax], {arrayInitializer.Length}
""");
_builder.AppendLine($" sub rsp, {8 + arrayInitializer.Length * 8}");
_builder.AppendLine(" mov rax, rsp");
_builder.AppendLine($" mov QWORD [rsp], {arrayInitializer.Length}");
}
private void GenerateBinaryExpression(BinaryExpressionNode binaryExpression, LocalFunc func)

View File

@@ -5,8 +5,8 @@ func main() {
println(some_string);
let some_array = new Array<int64>(2);
some_array[1] = 1;
some_array[2] = 2;
some_array[1] = 123;
some_array[2] = 124;
let i = 1;