From d7b40d72a0b513f65ae235ac1b41c88009150652 Mon Sep 17 00:00:00 2001 From: Slava Pestov Date: Thu, 7 May 2009 12:33:31 -0500 Subject: [PATCH] Code cleanups --- basis/math/intervals/intervals.factor | 6 ++++-- vm/code_gc.cpp | 4 ++-- vm/cpu-x86.32.S | 8 ++------ vm/cpu-x86.64.S | 4 ++-- 4 files changed, 10 insertions(+), 12 deletions(-) diff --git a/basis/math/intervals/intervals.factor b/basis/math/intervals/intervals.factor index 0bc25605e7..767197a975 100755 --- a/basis/math/intervals/intervals.factor +++ b/basis/math/intervals/intervals.factor @@ -48,6 +48,8 @@ TUPLE: interval { from read-only } { to read-only } ; : (a,inf] ( a -- interval ) 1/0. (a,b] ; inline +: [0,inf] ( -- interval ) 0 [a,inf] ; foldable + : [-inf,inf] ( -- interval ) full-interval ; inline : compare-endpoints ( p1 p2 quot -- ? ) @@ -262,7 +264,7 @@ TUPLE: interval { from read-only } { to read-only } ; : interval-abs ( i1 -- i2 ) { { [ dup empty-interval eq? ] [ ] } - { [ dup full-interval eq? ] [ drop 0 [a,inf] ] } + { [ dup full-interval eq? ] [ drop [0,inf] ] } { [ 0 over interval-contains? ] [ (interval-abs) { 0 t } suffix points>interval ] } [ (interval-abs) points>interval ] } cond ; @@ -376,7 +378,7 @@ SYMBOL: incomparable : interval-log2 ( i1 -- i2 ) { { empty-interval [ empty-interval ] } - { full-interval [ 0 [a,inf] ] } + { full-interval [ [0,inf] ] } [ to>> first 1 max dup most-positive-fixnum > [ drop full-interval interval-log2 ] diff --git a/vm/code_gc.cpp b/vm/code_gc.cpp index 59110d13f8..48cf8f7661 100755 --- a/vm/code_gc.cpp +++ b/vm/code_gc.cpp @@ -303,7 +303,7 @@ cell heap_size(heap *heap) } /* Compute where each block is going to go, after compaction */ - cell compute_heap_forwarding(heap *heap, unordered_map &forwarding) +cell compute_heap_forwarding(heap *heap, unordered_map &forwarding) { heap_block *scan = first_block(heap); char *address = (char *)first_block(heap); @@ -324,7 +324,7 @@ cell heap_size(heap *heap) return (cell)address - heap->seg->start; } - void compact_heap(heap *heap, unordered_map &forwarding) +void compact_heap(heap *heap, unordered_map &forwarding) { heap_block *scan = first_block(heap); diff --git a/vm/cpu-x86.32.S b/vm/cpu-x86.32.S index a1ce83932e..ff45f48066 100755 --- a/vm/cpu-x86.32.S +++ b/vm/cpu-x86.32.S @@ -1,9 +1,5 @@ #include "asm.h" -/* Note that primitive word definitions are compiled with -__attribute__((regparm 2), so the pointer to the word object is passed in EAX, -and the callstack top is passed in EDX */ - #define ARG0 %eax #define ARG1 %edx #define STACK_REG %esp @@ -59,9 +55,9 @@ DEF(bool,check_sse2,(void)): mov %edx,%eax ret -DEF(F_FASTCALL void,primitive_inline_cache_miss,(void)): +DEF(void,primitive_inline_cache_miss,(void)): mov (%esp),%ebx -DEF(F_FASTCALL void,primitive_inline_cache_miss_tail,(void)): +DEF(void,primitive_inline_cache_miss_tail,(void)): sub $8,%esp push %ebx call MANGLE(inline_cache_miss) diff --git a/vm/cpu-x86.64.S b/vm/cpu-x86.64.S index 0ace354308..6b2faa1c0b 100644 --- a/vm/cpu-x86.64.S +++ b/vm/cpu-x86.64.S @@ -72,9 +72,9 @@ DEF(void,set_callstack,(F_STACK_FRAME *to, F_STACK_FRAME *from, CELL length, voi call *ARG3 /* call memcpy */ ret /* return _with new stack_ */ -DEF(F_FASTCALL void,primitive_inline_cache_miss,(void)): +DEF(void,primitive_inline_cache_miss,(void)): mov (%rsp),%rbx -DEF(F_FASTCALL void,primitive_inline_cache_miss_tail,(void)): +DEF(void,primitive_inline_cache_miss_tail,(void)): sub $STACK_PADDING,%rsp mov %rbx,ARG0 call MANGLE(inline_cache_miss)