1 ! Copyright (C) 2020 Doug Coleman.
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: bootstrap.image.private cpu.arm.assembler kernel
4 kernel.private layouts locals.backend math.private namespaces
5 slots.private strings.private ;
11 ] CALLBACK-STUB jit-define
14 ] JIT-PUSH-LITERAL jit-define
17 ] JIT-WORD-CALL jit-define
23 1 bootstrap-cells rs-reg rs-reg ADDi64
24 -1 bootstrap-cells ds-reg rs-reg LDR-post ;
27 1 bootstrap-cells ds-reg ds-reg ADDi64
28 -1 bootstrap-cells rs-reg ds-reg LDR-post ;
31 1 bootstrap-cells rs-reg rs-reg ADDi64
32 -1 bootstrap-cells ds-reg rs-reg LDR-post
33 1 bootstrap-cells rs-reg rs-reg ADDi64
34 -1 bootstrap-cells ds-reg rs-reg LDR-post ;
37 1 bootstrap-cells ds-reg ds-reg ADDi64
38 -1 bootstrap-cells rs-reg ds-reg LDR-post
39 1 bootstrap-cells ds-reg ds-reg ADDi64
40 -1 bootstrap-cells rs-reg ds-reg LDR-post ;
43 1 bootstrap-cells rs-reg rs-reg ADDi64
44 -1 bootstrap-cells ds-reg rs-reg LDR-post
45 1 bootstrap-cells rs-reg rs-reg ADDi64
46 -1 bootstrap-cells ds-reg rs-reg LDR-post
47 1 bootstrap-cells rs-reg rs-reg ADDi64
48 -1 bootstrap-cells ds-reg rs-reg LDR-post ;
51 1 bootstrap-cells ds-reg ds-reg ADDi64
52 -1 bootstrap-cells rs-reg ds-reg LDR-post
53 1 bootstrap-cells ds-reg ds-reg ADDi64
54 -1 bootstrap-cells rs-reg ds-reg LDR-post
55 1 bootstrap-cells ds-reg ds-reg ADDi64
56 -1 bootstrap-cells rs-reg ds-reg LDR-post ;
60 ! 0 CALL f rc-relative rel-word
71 ] JIT-EXECUTE jit-define
74 ] JIT-PROLOG jit-define
77 ] JIT-EPILOG jit-define
80 ] JIT-RETURN jit-define
83 ! ! ! Polymorphic inline caches
84 ! The PIC stubs are not permitted to touch pic-tail-reg.
86 ! Load a value from a stack position
95 ] PIC-TUPLE jit-define
98 ] PIC-CHECK-TAG jit-define
104 ] MEGA-LOOKUP jit-define
123 { fixnum-shift-fast [
175 { drop [ ] } ! ds-reg SUBi64 ] } ! ds-reg bootstrap-cell SUB ] }
176 { 2drop [ ] } ! ds-reg 2 bootstrap-cells SUB ] }
177 { 3drop [ ] } ! ds-reg 3 bootstrap-cells SUB ] }
178 { 4drop [ ] } ! ds-reg 4 bootstrap-cells SUB ] }
215 { leaf-signal-handler [
221 } define-sub-primitives
224 ! [ "bootstrap.arm" forget-vocab ] with-compilation-unit