Changeset 290
- Timestamp:
- Dec 20, 2002, 10:17:35 PM (18 years ago)
- Location:
- to-imperative/branches/may_move_heap/runtime
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
to-imperative/branches/may_move_heap/runtime/pxx_common.hh
r160 r290 21 21 #endif 22 22 23 #define MAY_MOVE_HEAP 124 #define HEAP_IS_ALIGNED 023 #define MAY_MOVE_HEAP 0 24 #define HEAP_IS_ALIGNED 1 25 25 26 26 #define null (0) -
to-imperative/branches/may_move_heap/runtime/pxx_heap_allocator.hh
r159 r290 253 253 { 254 254 MemoryBlock *q = ptr_add( this, offset ); 255 size_t s ize= q->size;256 if( s ize & (size- 1) )255 size_t sz = q->size; 256 if( sz & (sz - 1) ) 257 257 { 258 s ize= rounds[((T*)q)->get_order()];259 printf( "a(%p):%u ", q, s ize);258 sz = rounds[((T*)q)->get_order()]; 259 printf( "a(%p):%u ", q, sz ); 260 260 } 261 261 else 262 262 { 263 printf( "f(%p):%u ", q, s ize);263 printf( "f(%p):%u ", q, sz ); 264 264 } 265 if( !s ize)265 if( !sz ) 266 266 { 267 267 printf( "...block orders are corrupted..." ); 268 268 break; 269 269 } 270 offset += s ize;270 offset += sz; 271 271 } 272 272 printf( "\n\n" ); -
to-imperative/branches/may_move_heap/runtime/rf_expr.hh
r160 r290 697 697 698 698 friend 699 inline bool fast_eq ( 700 Term_Ptr _f1, Term_Ptr _l1, Term_Ptr _f2, Term_Ptr _l2 699 inline bool eq_expr ( 700 const Expr &_e1, uintptr_t _pos1, uintptr_t _len1, 701 const Expr &_e2, uintptr_t _pos2, uintptr_t _len2 701 702 ) 702 703 { 703 for (; _f1 < _l1; _f1++, _f2++) { 704 if (_f1->get_type() != _f2->get_type() || _f1->data2 != _f2->data2) 704 if (_len1 == _len2) { 705 Term_Ptr p1 = _e1.get_first() + _pos1; 706 Term_Ptr p2 = _e2.get_first() + _pos2; 707 Term_Ptr l1 = p1 + _len1; 708 for (; p1 < l1; p1++, p2++) { 709 if (*p1 != *p2) return false; 710 } 711 return true; 712 } 713 return false; 714 } 715 716 friend 717 inline bool flat_eq ( 718 const Expr &_e1, uintptr_t _pos1, 719 const Expr &_e2, uintptr_t _pos2, uintptr_t _len 720 ) 721 { 722 Term_Ptr p1 = _e1.get_first() + _pos1; 723 Term_Ptr p2 = _e2.get_first() + _pos2; 724 Term_Ptr l1 = p1 + _len; 725 for (; p1 < l1; p1++, p2++) { 726 if (p1->get_type() != p2->get_type() || p1->data2 != p2->data2) 705 727 return false; 706 728 } -
to-imperative/branches/may_move_heap/runtime/rf_macros.hh
r147 r290 74 74 return __saved_top 75 75 76 #define RF_DECL(f) \ 77 extern "C" RetVal rf_##f (void) 78 76 79 #define func_decl(f) \ 77 80 extern "C" RetVal rf_##f () -
to-imperative/branches/may_move_heap/runtime/rf_term.hh
r158 r290 68 68 friend inline Expr operator + (Term const&, Term const&) ; 69 69 friend inline bool operator == (Term const&, Term const&) ; 70 friend inline bool fast_eq ( 71 Term_Ptr _f1, Term_Ptr _l1, Term_Ptr _f2, Term_Ptr _l2) ; 70 friend inline bool flat_eq ( 71 const Expr &_e1, uintptr_t _pos1, 72 const Expr &_e2, uintptr_t _pos2, uintptr_t _len ); 72 73 73 74 private:
Note: See TracChangeset
for help on using the changeset viewer.