doc: explicitly store all identifiers/selector in an assembly source file in the const pool

This commit is contained in:
2024-12-09 20:38:36 +00:00
parent 26ed9fee04
commit 99cbcbaeb4

View File

@@ -1,34 +1,3 @@
@use std.io
@lambda [_.Person_exampleProperty_get]
ldr x0, [self, #2]
ret
@end
@lambda [_.Person_exampleProperty_set]
ldr x0, [bp, #-1]
str x0, [self, #2]
ret
@end
@lambda [_.Person_exampleProperty3_get]
ldr x0, [self, #3]
ret
@end
@lambda [_.Person_exampleProperty3_set]
ldr x0, [bp, #-1]
str x0, [self, #3]
ret
@end
@lambda [_.Person_exampleProperty4_get]
ldr x0, [self, #4]
ret
@end
@constpool @constpool
#0: "Received " #0: "Received "
#1: ", " #1: ", "
@@ -37,22 +6,65 @@
#4: @atom[years] #4: @atom[years]
#5: @atom[months] #5: @atom[months]
#6: @atom[days] #6: @atom[days]
#7: @ident[_.Person_exampleProperty_get]
#8: @ident[_.Person_exampleProperty_set]
#9: @ident[_.Person_exampleProperty3_get]
#10: @ident[_.Person_exampleProperty3_set]
#11: @ident[_.Person_exampleProperty4_get]
#12: #42
#13: @ident[#13]
#14: @selector[-init(name:age:)]
#15: @selector[-test(param:_:)]
#16: @selector[-name]
#17: @selector[-age]
#18: @selector[-ageInMonths]
#19: @selector[-setName:]
#20: @selector[-setAge:]
#21: @selector[-setAge:inUnits:]
#22: @selector[-getAgeInUnits:]
#23: @ident[std.io]
#24: @ident[exampleProperty]
#25: @ident[exampleProperty2]
#26: @ident[exampleProperty3]
#27: @ident[exampleProperty4]
@end @end
@class [net.doorstuck.test.Person] @import [package:#23]
$ exampleProperty {
get:_.Person_exampleProperty_get
set:_.Person_exampleProperty_set
}
$ exampleProperty2 {get:#42} @lambda [ident:#7]
ldr x0, [self, #2]
ret
@end
$ exampleProperty3 { @lambda [ident:#8]
get:_.Person_exampleProperty3_get ldr x0, [bp, #-1]
set:_.Person_exampleProperty3_set str x0, [self, #2]
}
$ exampleProperty4 {get:_.Person_exampleProperty4_get} ret
@end
@lambda [ident:#9]
ldr x0, [self, #3]
ret
@end
@lambda [ident:#10]
ldr x0, [bp, #-1]
str x0, [self, #3]
ret
@end
@lambda [ident:#11]
ldr x0, [self, #4]
ret
@end
@class [ident:#13]
@property[ident:#24 get:#7 set:#8]
@property[ident:#25 get:#12]
@property[ident:#26 set:#10]
@property[ident:#27 get:#11]
#0: name #0: name
#1: age #1: age
@@ -61,7 +73,7 @@
#4: __exampleProperty4 #4: __exampleProperty4
@end @end
@msgh (net.doorstuck.test.Person) [-init(name:age:)] @msgh [recipient:#13 selector:#14]
ldr x0, [bp, #-1] ldr x0, [bp, #-1]
str x0, [self, #0] str x0, [self, #0]
@@ -71,7 +83,7 @@
ret.n ret.n
@end @end
@msgh (net.doorstuck.test.Person) [-test(param:_:)] @msgh [recipient:#13 selector:#15]
ldr x0, [pool, #0] ldr x0, [pool, #0]
ldr x1, [bp, #-1] ldr x1, [bp, #-1]
@@ -93,17 +105,17 @@
ret.n ret.n
@end @end
@msgh (net.doorstuck.test.Person) [-name] @msgh [recipient:#13 selector:#16]
ldr x0, [self, #0] ldr x0, [self, #0]
ret ret
@end @end
@msgh (net.doorstuck.test.Person) [-age] @msgh [recipient:#13 selector:#17]
ldr x0, [self, #1] ldr x0, [self, #1]
ret ret
@end @end
@msgh (net.doorstuck.test.Person) [-ageInMonths] @msgh [recipient:#13 selector:#18]
ldr x0, [self, #1] ldr x0, [self, #1]
ldr x1, #12 ldr x1, #12
@@ -112,21 +124,21 @@
ret ret
@end @end
@msgh (net.doorstuck.test.Person) [-setName:] @msgh [recipient:#13 selector:#19]
ldr x0, [bp, #-1] ldr x0, [bp, #-1]
str x0, [self, #0] str x0, [self, #0]
ret.n ret.n
@end @end
@msgh (net.doorstuck.test.Person) [-setAge:] @msgh [recipient:#13 selector:#20]
ldr x0, [bp, #-1] ldr x0, [bp, #-1]
str x0, [self, #1] str x0, [self, #1]
ret.n ret.n
@end @end
@msgh (net.doorstuck.test.Person) [-setAge:inUnits:] @msgh [recipient:#13 selector:#21]
ldr x0, [bp, #-1] ldr x0, [bp, #-1]
ldr x1, [bp, #-2] ldr x1, [bp, #-2]
@@ -163,7 +175,7 @@ L0004:
ret.n ret.n
@end @end
@msgh (net.doorstuck.test.Person) [-getAgeInUnits:] @msgh [recipient:#13 selector:#22]
ldr x1, [bp, #-1] ; x1 = units ldr x1, [bp, #-1] ; x1 = units
ldr x2, [pool, #4] ; x2 = #years ldr x2, [pool, #4] ; x2 = #years