diff --git a/core/cpu/arm/intrinsics/intrinsics.factor b/core/cpu/arm/intrinsics/intrinsics.factor index 4b0a0bf591..9eedd8e494 100755 --- a/core/cpu/arm/intrinsics/intrinsics.factor +++ b/core/cpu/arm/intrinsics/intrinsics.factor @@ -55,10 +55,10 @@ IN: cpu.arm.intrinsics : %write-barrier ( -- ) "val" get operand-immediate? "obj" get fresh-object? or [ "cards_offset" f R12 %alien-global - "scratch" operand R12 "scratch" operand card-bits ADD - "val" operand "scratch" operand 0 LDRB + "scratch" operand R12 "obj" operand card-bits ADD + "val" operand "scratch" operand 0 <+> LDRB "val" operand dup card-mark ORR - "val" operand "scratch" operand 0 STRB + "val" operand "scratch" operand 0 <+> STRB ] unless ; \ set-slot { @@ -315,12 +315,12 @@ IN: cpu.arm.intrinsics ! Store class "class" operand 2 %set-slot ! Zero out the rest of the tuple - R12 f v>operand MOV - "n" get 1- [ 1+ R12 %fill-array ] each - "out" get object %store-tagged + "initial" operand f v>operand MOV + "n" get 1- [ 1+ "initial" operand %fill-array ] each + "out" get tuple %store-tagged ] H{ { +input+ { { f "class" } { [ inline-array? ] "n" } } } - { +scratch+ { { f "out" } } } + { +scratch+ { { f "out" } { f "initial" } } } { +output+ { "out" } } } define-intrinsic diff --git a/vm/os-windows-ce-arm.S b/vm/os-windows-ce-arm.S deleted file mode 100755 index bde0c3d8ed..0000000000 --- a/vm/os-windows-ce-arm.S +++ /dev/null @@ -1,19 +0,0 @@ - .text - - .globl c_to_factor_toplevel - - .word exception_handler - .word 0 - -c_to_factor_toplevel: - ldr pc, _Pc_to_factor - - -_Pc_to_factor: - .word c_to_factor - - .section .pdata - .word c_to_factor_toplevel - - .word 0xc0000002 | (0xFFFFF << 8) -