diff --git a/library/compiler/intrinsics.factor b/library/compiler/intrinsics.factor index 684a08da31..b0e6c7c3a1 100644 --- a/library/compiler/intrinsics.factor +++ b/library/compiler/intrinsics.factor @@ -137,6 +137,7 @@ words ; in-1 0 %arithmetic-type , 0 %tag-fixnum , + 1 %inc-d , out-1 ] "linearizer" set-word-prop diff --git a/library/compiler/vops.factor b/library/compiler/vops.factor index 47cf2c4c83..7378645858 100644 --- a/library/compiler/vops.factor +++ b/library/compiler/vops.factor @@ -135,12 +135,10 @@ VOP: %type : %type ( vreg ) dest-vop <%type> ; VOP: %arithmetic-type -: %arithmetic-type empty-vop <%arithmetic-type> ; +: %arithmetic-type dest-vop <%arithmetic-type> ; VOP: %tag-fixnum : %tag-fixnum dest-vop <%tag-fixnum> ; : check-dest ( vop reg -- ) - swap vop-dest v>operand = [ - "invalid VOP destination" throw - ] unless ; + swap vop-dest = [ "invalid VOP destination" throw ] unless ; diff --git a/library/compiler/x86/generator.factor b/library/compiler/x86/generator.factor index a4a3240013..c44baa0d5b 100644 --- a/library/compiler/x86/generator.factor +++ b/library/compiler/x86/generator.factor @@ -125,7 +125,7 @@ M: %type generate-node ( vop -- ) M: %arithmetic-type generate-node ( vop -- ) #! This one works directly with the stack. It outputs an #! UNBOXED value in vop-dest. - EAX check-dest + 0 check-dest