Changeset e411579 in mainline


Ignore:
Timestamp:
2005-11-15T10:41:17Z (19 years ago)
Author:
Sergey Bondari <bondari@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
93354b0
Parents:
feb1a414
Message:

Frame isect/coalesce functions optimization

File:
1 edited

Legend:

Unmodified
Added
Removed
  • generic/src/mm/frame.c

    rfeb1a414 re411579  
    602602link_t * zone_buddy_bisect(link_t * block) {
    603603        frame_t * frame_l, * frame_r;
    604         zone_t * zone;
    605604       
    606605        frame_l = list_get_instance(block, frame_t, buddy_link);
    607606
    608         zone = get_zone_by_frame(frame_l);
    609        
    610         frame_r = &zone->frames[FRAME_INDEX(zone, frame_l) + 1>>(frame_l->buddy_order-1)];
    611 
     607        frame_r = (frame_t *) (&frame_l + (1>>frame_l->buddy_order-1));
    612608
    613609        return &frame_r->buddy_link;
     
    624620link_t * zone_buddy_coalesce(link_t * block_1, link_t * block_2) {
    625621        frame_t * frame1, * frame2;
    626         zone_t * zone;
    627622       
    628623        frame1 = list_get_instance(block_1, frame_t, buddy_link);
    629624        frame2 = list_get_instance(block_2, frame_t, buddy_link);
    630625       
    631         zone = get_zone_by_frame(frame1);
    632        
    633         return FRAME_INDEX(zone, frame1) < FRAME_INDEX(zone, frame2) ? block_1 : block_2;
    634 
     626        return frame1 < frame2 ? block_1 : block_2;
    635627}
    636628
Note: See TracChangeset for help on using the changeset viewer.