All pastes #638913 Raw Edit

Mine

public text v1 · immutable
#638913 ·published 2007-07-30 06:13 UTC
rendered paste body
--------------------------------------------------------------------------------
Profile data file 'callgrind.out.11127' (creator: callgrind-3.2.3-Debian)
--------------------------------------------------------------------------------
I1 cache: 
D1 cache: 
L2 cache: 
Timerange: Basic block 0 - 22765321
Trigger: Program termination
Profiled target:  ./sparse /tmp/w1.i (PID 11127, part 1)
Events recorded:  Ir
Events shown:     Ir
Event sort order: Ir
Thresholds:       99
Include dirs:     
User annotated:   allocate.c
Auto-annotation:  off

--------------------------------------------------------------------------------
         Ir 
--------------------------------------------------------------------------------
120,275,926  PROGRAM TOTALS

--------------------------------------------------------------------------------
        Ir  file:function
--------------------------------------------------------------------------------
32,897,754  tokenize.c:tokenize_stream [/home/josh/src/sparse/sparse/sparse]
14,494,220  allocate.c:allocate [/home/josh/src/sparse/sparse/sparse]
 6,604,913  pre-process.c:preprocess [/home/josh/src/sparse/sparse/sparse]
 4,799,264  strncmp.c:strncmp [/usr/lib/debug/libc-2.6.so]
 3,584,594  tokenize.c:escapechar [/home/josh/src/sparse/sparse/sparse]
 3,293,724  ???:0x0804C250 [/home/josh/src/sparse/sparse/sparse]
 2,738,032  allocate.c:__alloc_token [/home/josh/src/sparse/sparse/sparse]
 2,514,382  pre-process.c:expand_one_symbol [/home/josh/src/sparse/sparse/sparse]
 2,338,214  ptrlist.c:__add_ptr_list [/home/josh/src/sparse/sparse/sparse]
 2,290,220  symbol.c:lookup_symbol [/home/josh/src/sparse/sparse/sparse]
 2,265,976  parse.c:declaration_specifiers [/home/josh/src/sparse/sparse/sparse]
 2,071,512  tokenize.c:nextchar_slow [/home/josh/src/sparse/sparse/sparse]
 1,676,003  parse.c:apply_ctype [/home/josh/src/sparse/sparse/sparse]
 1,612,252  parse.c:declarator [/home/josh/src/sparse/sparse/sparse]
   975,498  parse.c:apply_modifiers [/home/josh/src/sparse/sparse/sparse]
   955,206  symbol.c:alloc_symbol [/home/josh/src/sparse/sparse/sparse]
   864,669  memcpy.c:memcpy [/usr/lib/debug/libc-2.6.so]
   856,759  expression.c:primary_expression [/home/josh/src/sparse/sparse/sparse]
   831,795  ptrlist.c:concat_ptr_list [/home/josh/src/sparse/sparse/sparse]
   824,990  parse.c:declarator'2 [/home/josh/src/sparse/sparse/sparse]
   807,769  expression.c:assignment_expression'2 [/home/josh/src/sparse/sparse/sparse]
   804,384  allocate.c:__alloc_symbol [/home/josh/src/sparse/sparse/sparse]
   744,223  parse.c:declaration_specifiers'2 [/home/josh/src/sparse/sparse/sparse]
   736,962  cse.c:cleanup_and_cse [/home/josh/src/sparse/sparse/sparse]
   727,956  lib.c:expect [/home/josh/src/sparse/sparse/sparse]
   658,971  expression.c:primary_expression'2 [/home/josh/src/sparse/sparse/sparse]
   637,132  strtol_l.c:____strtoull_l_internal [/usr/lib/debug/libc-2.6.so]
   625,388  symbol.c:bind_symbol [/home/josh/src/sparse/sparse/sparse]
   596,224  allocate.c:__alloc_expression [/home/josh/src/sparse/sparse/sparse]
   575,488  tokenize.c:get_one_number [/home/josh/src/sparse/sparse/sparse]
   527,189  parse.c:external_declaration [/home/josh/src/sparse/sparse/sparse]
   520,324  expression.c:assignment_expression [/home/josh/src/sparse/sparse/sparse]
   509,543  expression.c:postfix_expression'2 [/home/josh/src/sparse/sparse/sparse]
   446,803  expression.c:postfix_expression [/home/josh/src/sparse/sparse/sparse]
   426,875  expression.c:unary_expression'2 [/home/josh/src/sparse/sparse/sparse]
   386,210  expression.c:multiplicative_expression'2 [/home/josh/src/sparse/sparse/sparse]
   384,034  flow.c:dominates [/home/josh/src/sparse/sparse/sparse]
   381,734  evaluate.c:evaluate_expression'2 [/home/josh/src/sparse/sparse/sparse]
   375,944  expression.c:additive_expression'2 [/home/josh/src/sparse/sparse/sparse]
   372,880  expression.c:relational_expression'2 [/home/josh/src/sparse/sparse/sparse]
   370,695  expression.c:match_oplist [/home/josh/src/sparse/sparse/sparse]
   364,337  expression.c:shift_expression'2 [/home/josh/src/sparse/sparse/sparse]
   363,088  ptrlist.c:__alloc_ptrlist [/home/josh/src/sparse/sparse/sparse]
   351,572  expression.c:equality_expression'2 [/home/josh/src/sparse/sparse/sparse]
   348,298  simplify.c:simplify_instruction [/home/josh/src/sparse/sparse/sparse]
   326,394  symbol.c:examine_symbol_type [/home/josh/src/sparse/sparse/sparse]
   324,491  parse.c:ctype_integer [/home/josh/src/sparse/sparse/sparse]
   322,684  liveness.c:pseudo_in_list [/home/josh/src/sparse/sparse/sparse]
   312,491  expression.c:bitwise_and_expression'2 [/home/josh/src/sparse/sparse/sparse]
   309,864  expression.c:conditional_expression'2 [/home/josh/src/sparse/sparse/sparse]
   303,266  expression.c:bitwise_xor_expression'2 [/home/josh/src/sparse/sparse/sparse]
   302,874  expression.c:bitwise_or_expression'2 [/home/josh/src/sparse/sparse/sparse]
   299,853  expression.c:relational_expression [/home/josh/src/sparse/sparse/sparse]
   299,277  expression.c:logical_and_expression'2 [/home/josh/src/sparse/sparse/sparse]
   293,078  expand.c:expand_expression'2 [/home/josh/src/sparse/sparse/sparse]
   288,919  memops.c:simplify_memops [/home/josh/src/sparse/sparse/sparse]
   287,147  expression.c:shift_expression [/home/josh/src/sparse/sparse/sparse]
   285,586  expression.c:multiplicative_expression [/home/josh/src/sparse/sparse/sparse]
   284,346  expression.c:cast_expression'2 [/home/josh/src/sparse/sparse/sparse]
   283,577  expression.c:additive_expression [/home/josh/src/sparse/sparse/sparse]
   280,527  expression.c:equality_expression [/home/josh/src/sparse/sparse/sparse]
   267,418  parse.c:declaration_list [/home/josh/src/sparse/sparse/sparse]
   255,422  parse.c:struct_union_enum_specifier [/home/josh/src/sparse/sparse/sparse]
   253,318  liveness.c:track_pseudo_liveness [/home/josh/src/sparse/sparse/sparse]
   248,482  expression.c:bitwise_and_expression [/home/josh/src/sparse/sparse/sparse]
   248,212  expression.c:unary_expression [/home/josh/src/sparse/sparse/sparse]
   247,263  expression.c:bitwise_xor_expression [/home/josh/src/sparse/sparse/sparse]
   247,134  expression.c:bitwise_or_expression [/home/josh/src/sparse/sparse/sparse]
   245,796  expression.c:logical_and_expression [/home/josh/src/sparse/sparse/sparse]
   243,375  expression.c:conditional_expression [/home/josh/src/sparse/sparse/sparse]
   242,652  token.h:expect
   216,540  parse.c:parse_function_body [/home/josh/src/sparse/sparse/sparse]
   208,065  ptrlist.c:__free_ptr_list [/home/josh/src/sparse/sparse/sparse]
   195,457  parse.c:parse_enum_declaration [/home/josh/src/sparse/sparse/sparse]
   193,227  token.h:declarator
   192,451  flow.c:find_dominating_parents'2 [/home/josh/src/sparse/sparse/sparse]
   189,725  expression.c:parse_expression'2 [/home/josh/src/sparse/sparse/sparse]
   185,736  expression.c:parse_expression [/home/josh/src/sparse/sparse/sparse]
   165,001  linearize.c:linearize_expression'2 [/home/josh/src/sparse/sparse/sparse]
   161,552  allocate.c:__alloc_ident [/home/josh/src/sparse/sparse/sparse]
   154,700  scope.c:bind_scope [/home/josh/src/sparse/sparse/sparse]
   151,830  expression.c:cast_expression [/home/josh/src/sparse/sparse/sparse]
   150,057  symbol.c:examine_symbol_type'2 [/home/josh/src/sparse/sparse/sparse]
   139,896  parse.c:alloc_statement [/home/josh/src/sparse/sparse/sparse]
   134,831  flow.c:simplify_symbol_usage [/home/josh/src/sparse/sparse/sparse]
   127,783  linearize.c:linearize_statement'2 [/home/josh/src/sparse/sparse/sparse]
   124,352  allocate.c:__alloc_statement [/home/josh/src/sparse/sparse/sparse]
   116,368  allocate.c:__alloc_string [/home/josh/src/sparse/sparse/sparse]
   114,388  symbol.c:check_declaration [/home/josh/src/sparse/sparse/sparse]
   113,202  vfprintf.c:vfprintf [/usr/lib/debug/libc-2.6.so]
   113,029  evaluate.c:cast_to [/home/josh/src/sparse/sparse/sparse]
   112,742  scope.c:end_function_scope [/home/josh/src/sparse/sparse/sparse]
   110,586  expression.c:parens_expression'2 [/home/josh/src/sparse/sparse/sparse]
   109,523  scope.c:is_outer_scope [/home/josh/src/sparse/sparse/sparse]
   106,810  token.h:declarator'2
   106,044  inline.c:copy_expression'2 [/home/josh/src/sparse/sparse/sparse]
   103,590  evaluate.c:evaluate_statement'2 [/home/josh/src/sparse/sparse/sparse]
   100,509  memops.c:find_dominating_parents'2 [/home/josh/src/sparse/sparse/sparse]
   100,100  strtol.c:__strtouq_internal@GLIBC_2.0 [/usr/lib/debug/libc-2.6.so]
    99,345  allocate.c:__alloc_bytes [/home/josh/src/sparse/sparse/sparse]
    98,010  token.h:preprocess
    97,657  parse.c:attribute_specifier [/home/josh/src/sparse/sparse/sparse]
    97,442  evaluate.c:compatible_assignment_types [/home/josh/src/sparse/sparse/sparse]
    95,747  flow.c:convert_instruction_target [/home/josh/src/sparse/sparse/sparse]
    94,710  parse.c:parse_struct_declaration [/home/josh/src/sparse/sparse/sparse]
    94,683  parse.c:statement [/home/josh/src/sparse/sparse/sparse]
    91,368  evaluate.c:evaluate_expression [/home/josh/src/sparse/sparse/sparse]
    90,466  parse.c:statement'2 [/home/josh/src/sparse/sparse/sparse]
    86,969  parse.c:struct_union_enum_specifier'2 [/home/josh/src/sparse/sparse/sparse]
    86,158  evaluate.c:degenerate [/home/josh/src/sparse/sparse/sparse]
    80,661  parse.c:external_declaration'2 [/home/josh/src/sparse/sparse/sparse]
    80,521  expand.c:__get_expression_value [/home/josh/src/sparse/sparse/sparse]
    80,381  expand.c:expand_expression [/home/josh/src/sparse/sparse/sparse]
    79,568  linearize.c:__alloc_pseudo_user [/home/josh/src/sparse/sparse/sparse]
    77,721  flow.c:pack_basic_blocks [/home/josh/src/sparse/sparse/sparse]
    77,601  symbol.c:examine_pointer_target [/home/josh/src/sparse/sparse/sparse]
    76,619  genops.c:_IO_default_xsputn [/usr/lib/debug/libc-2.6.so]
    75,836  printf-parsemb.c:__find_specmb [/usr/lib/debug/libc-2.6.so]
    75,645  allocate.c:__free_token [/home/josh/src/sparse/sparse/sparse]
    74,556  expression.c:parens_expression [/home/josh/src/sparse/sparse/sparse]
    73,695  ???:t
1҉D—ƒÂ9Êuõ‹E‹u…À‰w„@ [/lib/ld-2.6.so]
    72,824  ???:$ƒ [/lib/ld-2.6.so]
    72,275  parse.c:typename [/home/josh/src/sparse/sparse/sparse]
    68,823  token.h:external_declaration
    68,004  allocate.c:free_one_entry [/home/josh/src/sparse/sparse/sparse]
    64,866  expression.h:primary_expression
    64,664  token.h:cast_expression'2
    64,554  symbol.h:declaration_specifiers
    64,416  allocate.c:__alloc_instruction [/home/josh/src/sparse/sparse/sparse]
    63,878  ptrlist.c:ptr_list_size [/home/josh/src/sparse/sparse/sparse]
    62,973  dl-addr.c:_dl_addr [/usr/lib/debug/libc-2.6.so]
    62,494  expand.c:expand_statement'2 [/home/josh/src/sparse/sparse/sparse]
    61,683  evaluate.c:warn_for_different_enum_types [/home/josh/src/sparse/sparse/sparse]
    61,658  simplify.c:simplify_binop [/home/josh/src/sparse/sparse/sparse]
    61,457  linearize.c:linearize_load_gen [/home/josh/src/sparse/sparse/sparse]
    60,032  token.h:conditional_expression'2
    59,856  allocate.c:__alloc_scope [/home/josh/src/sparse/sparse/sparse]
    59,527  parse.c:struct_specifier [/home/josh/src/sparse/sparse/sparse]
    59,518  liveness.c:track_instruction_usage [/home/josh/src/sparse/sparse/sparse]
    59,500  lib.h:bind_scope
    58,925  evaluate.c:evaluate_member_dereference [/home/josh/src/sparse/sparse/sparse]
    55,168  allocate.c:__alloc_pseudo [/home/josh/src/sparse/sparse/sparse]
    54,405  token.h:declaration_list
    53,774  inline.c:copy_expression [/home/josh/src/sparse/sparse/sparse]
    53,723  linearize.c:linearize_one_symbol [/home/josh/src/sparse/sparse/sparse]
    53,113  sparse.c:check_context [/home/josh/src/sparse/sparse/sparse]
    52,660  evaluate.c:type_difference [/home/josh/src/sparse/sparse/sparse]
    52,180  token.h:parse_struct_declaration
    51,962  parse.c:compound_statement [/home/josh/src/sparse/sparse/sparse]
    49,943  memops.c:find_dominating_parents [/home/josh/src/sparse/sparse/sparse]
    49,724  expression.h:primary_expression'2
    48,904  liveness.c:insn_uses [/home/josh/src/sparse/sparse/sparse]
    48,826  inline.c:copy_one_statement'2 [/home/josh/src/sparse/sparse/sparse]
    48,068  ???: [/lib/ld-2.6.so]
    47,637  linearize.c:linearize_store_gen [/home/josh/src/sparse/sparse/sparse]
    47,271  token.h:conditional_expression
    45,435  scope.h:bind_symbol
    45,320  simplify.c:kill_use [/home/josh/src/sparse/sparse/sparse]
    44,761  expression.h:cast_expression'2
    43,423  simplify.c:simplify_branch [/home/josh/src/sparse/sparse/sparse]
    42,926  flow.c:find_dominating_parents [/home/josh/src/sparse/sparse/sparse]
    42,580  evaluate.c:evaluate_binop [/home/josh/src/sparse/sparse/sparse]
    42,485  lib.h:declarator
    41,524  scope.c:start_function_scope [/home/josh/src/sparse/sparse/sparse]
    41,230  linearize.c:alloc_pseudo [/home/josh/src/sparse/sparse/sparse]
    39,662  flow.c:kill_bb [/home/josh/src/sparse/sparse/sparse]
    39,191  flow.c:kill_unreachable_bbs [/home/josh/src/sparse/sparse/sparse]
    39,137  linearize.c:linearize_simple_address [/home/josh/src/sparse/sparse/sparse]
    38,526  linearize.c:linearize_expression [/home/josh/src/sparse/sparse/sparse]
    37,936  evaluate.c:evaluate_cast [/home/josh/src/sparse/sparse/sparse]
    37,876  parse.c:parse_return_statement [/home/josh/src/sparse/sparse/sparse]
    37,695  ptrlist.c:__free_ptrlist [/home/josh/src/sparse/sparse/sparse]
    37,237  ptrlist.c:pack_ptr_list [/home/josh/src/sparse/sparse/sparse]
    37,110  parse.c:parse_asm_operands [/home/josh/src/sparse/sparse/sparse]
    36,854  token.h:struct_union_enum_specifier
    36,400  errno-loc.c:__errno_location [/usr/lib/debug/libc-2.6.so]
    34,914  evaluate.c:evaluate_symbol'2 [/home/josh/src/sparse/sparse/sparse]
    34,568  flow.c:vrfy_flow [/home/josh/src/sparse/sparse/sparse]
    34,400  sort.c:sort_list [/home/josh/src/sparse/sparse/sparse]
    33,992  token.h:cast_expression
    33,343  sparse.c:check_bb_context'2 [/home/josh/src/sparse/sparse/sparse]
    32,484  inline.c:inline_function [/home/josh/src/sparse/sparse/sparse]
    32,451  ptrlist.c:delete_ptr_list_entry [/home/josh/src/sparse/sparse/sparse]
    31,981  scope.c:end_symbol_scope [/home/josh/src/sparse/sparse/sparse]
    31,488  linearize.c:cast_pseudo [/home/josh/src/sparse/sparse/sparse]
    31,316  simplify.c:kill_instruction [/home/josh/src/sparse/sparse/sparse]
    31,252  lib.c:sparse_tokenstream [/home/josh/src/sparse/sparse/sparse]
    30,184  ???:|$‰$èúŸ [/lib/ld-2.6.so]
    29,179  evaluate.c:usual_conversions [/home/josh/src/sparse/sparse/sparse]
    29,124  parse.c:declaration_list'2 [/home/josh/src/sparse/sparse/sparse]
    28,901  flow.c:check_access [/home/josh/src/sparse/sparse/sparse]
    28,889  parse.c:parse_asm_statement [/home/josh/src/sparse/sparse/sparse]
    28,348  inline.c:copy_one_statement [/home/josh/src/sparse/sparse/sparse]
    28,334  ???:0x00015E80 [/usr/lib/debug/libc-2.6.so]
    28,124  expression.h:postfix_expression
    27,100  symbol.h:declarator
    26,724  token.h:parse_asm_operands
    26,499  linearize.c:value_pseudo [/home/josh/src/sparse/sparse/sparse]
    25,074  token.h:postfix_expression
    25,038  ???: [/lib/ld-2.6.so]
    24,972  linearize.h:linearize_store_gen
    24,936  linearize.h:linearize_load_gen
    24,480  expression.h:compound_statement
    23,931  parse.c:ignore_attribute [/home/josh/src/sparse/sparse/sparse]
    23,809  parse.c:compound_statement'2 [/home/josh/src/sparse/sparse/sparse]
    23,715  stdlib.h:primary_expression
    23,258  linearize.h:linearize_statement'2
    23,064  evaluate.c:create_pointer [/home/josh/src/sparse/sparse/sparse]
    22,559  cse.c:bb_dominates [/home/josh/src/sparse/sparse/sparse]
    22,206  token.h:unary_expression'2
    21,931  parse.c:struct_specifier'2 [/home/josh/src/sparse/sparse/sparse]
    21,886  symbol.h:declaration_specifiers'2
    21,242  tokenize.c:built_in_ident [/home/josh/src/sparse/sparse/sparse]
    20,925  lib.h:declaration_list
    20,803  expand.c:cast_value [/home/josh/src/sparse/sparse/sparse]
    20,580  lib.h:parse_asm_operands
    20,244  linearize.c:alloc_phi [/home/josh/src/sparse/sparse/sparse]
    19,814  linearize.h:cleanup_and_cse
    19,788  token.h:compound_statement
    19,600  cse.c:bb_dominates'2 [/home/josh/src/sparse/sparse/sparse]
    19,496  expression.h:postfix_expression'2
    19,404  token.h:parse_enum_declaration
    18,928  cse.c:insn_compare [/home/josh/src/sparse/sparse/sparse]
    18,825  expression.h:external_declaration
    18,606  lib.h:compound_statement
    18,496  symbol.c:merge_type [/home/josh/src/sparse/sparse/sparse]
    18,490  token.h:attribute_specifier
    17,993  symbol.h:parse_enum_declaration
    17,958  strops.c:_IO_str_init_static_internal [/usr/lib/debug/libc-2.6.so]
    17,666  token.h:parens_expression'2
    17,583  linearize.c:linearize_symbol [/home/josh/src/sparse/sparse/sparse]
    17,420  evaluate.c:evaluate_member_dereference'2 [/home/josh/src/sparse/sparse/sparse]
    17,292  iovsprintf.c:vsprintf [/usr/lib/debug/libc-2.6.so]
    17,264  ptrlist.c:linearize_ptr_list [/home/josh/src/sparse/sparse/sparse]
    17,235  stdlib.h:primary_expression'2
    17,061  linearize.c:add_binary_op [/home/josh/src/sparse/sparse/sparse]
    16,632  _itoa.c:_itoa_word [/usr/lib/debug/libc-2.6.so]
    16,508  evaluate.c:handle_simple_initializer [/home/josh/src/sparse/sparse/sparse]
    16,380  symbol.c:lay_out_struct [/home/josh/src/sparse/sparse/sparse]

--------------------------------------------------------------------------------
-- User-annotated source: allocate.c
--------------------------------------------------------------------------------
       Ir 

-- line 23 ----------------------------------------
        .  #include "compat.h"
        .  #include "token.h"
        .  #include "symbol.h"
        .  #include "scope.h"
        .  #include "expression.h"
        .  #include "linearize.h"
        .  
        .  void protect_allocations(struct allocator_struct *desc)
        2  {
        2  	desc->blobs = NULL;
        2  }
        .  
        .  void drop_all_allocations(struct allocator_struct *desc)
        9  {
        2  => ???:0x0804C250 (1x)
        1  	struct allocation_blob *blob = desc->blobs;
        .  
        1  	desc->blobs = NULL;
        1  	desc->allocations = 0;
        1  	desc->total_bytes = 0;
        1  	desc->useful_bytes = 0;
        1  	desc->freelist = NULL;
      170  	while (blob) {
       84  		struct allocation_blob *next = blob->next;
      420  		blob_free(blob, desc->chunking);
    3,922  => mmap-blob.c:blob_free (84x)
        .  		blob = next;
        .  	}
        6  }
        .  
        .  void free_one_entry(struct allocator_struct *desc, void *entry)
   30,224  {
        .  	void **p = entry;
   15,112  	*p = desc->freelist;
    7,556  	desc->freelist = p;
   15,112  }
        .  
        .  void *allocate(struct allocator_struct *desc, unsigned int size)
3,303,640  {
  660,728  => ???:0x0804C250 (330364x)
  660,728  	unsigned long alignment = desc->alignment;
  330,364  	struct allocation_blob *blob = desc->blobs;
        .  	void *retval;
        .  
        .  	/*
        .  	 * NOTE! The freelist only works with things that are
        .  	 *  (a) sufficiently aligned
        .  	 *  (b) use a constant size
        .  	 * Don't try to free allocators that don't follow
        .  	 * these rules.
        .  	 */
  991,092  	if (desc->freelist) {
        .  		void **p = desc->freelist;
    2,534  		retval = p;
    7,602  		desc->freelist = *p;
        .  		do {
   80,192  			*p = NULL;
   80,192  			p++;
  160,384  		} while ((size -= sizeof(void *)) > 0);
        .  		return retval;
        .  	}
        .  
  327,830  	desc->allocations++;
  327,830  	desc->useful_bytes += size;
2,294,810  	size = (size + alignment - 1) & ~(alignment-1);
1,639,096  	if (!blob || blob->left < size) {
      884  		unsigned int offset, chunking = desc->chunking;
    1,326  		struct allocation_blob *newblob = blob_alloc(chunking);
   23,754  => mmap-blob.c:blob_alloc (442x)
      884  		if (!newblob)
        .  			die("out of memory");
      884  		desc->total_bytes += chunking;
      442  		newblob->next = blob;
        .  		blob = newblob;
      442  		desc->blobs = newblob;
        .  		offset = offsetof(struct allocation_blob, data);
    1,326  		offset = (offset + alignment - 1) & ~(alignment-1);
      884  		blob->left = chunking - offset;
    1,326  		blob->offset = offset - offsetof(struct allocation_blob, data);
        .  	}
  655,660  	retval = blob->data + blob->offset;
  655,660  	blob->offset += size;
  655,660  	blob->left -= size;
        .  	return retval;
2,312,548  }
        .  
        .  void show_allocations(struct allocator_struct *x)
        .  {
        .  	fprintf(stderr, "%s: %d allocations, %d bytes (%d total bytes, "
        .  			"%6.2f%% usage, %6.2f average size)\n",
        .  		x->name, x->allocations, x->useful_bytes, x->total_bytes,
        .  		100 * (double) x->useful_bytes / x->total_bytes,
        .  		(double) x->useful_bytes / x->allocations);
        .  }
        .  
  161,552  ALLOCATOR(ident, "identifiers");
  454,992  => allocate.c:allocate (10097x)
   20,194  => ???:0x0804C250 (10097x)
2,813,703  ALLOCATOR(token, "tokens");
   10,086  => ???:0x0804C250 (5043x)
   45,387  => allocate.c:free_one_entry (5043x)
        .  ALLOCATOR(context, "contexts");
  804,384  ALLOCATOR(symbol, "symbols");
2,276,187  => allocate.c:allocate (50274x)
  100,548  => ???:0x0804C250 (50274x)
  596,224  ALLOCATOR(expression, "expressions");
1,679,467  => allocate.c:allocate (37264x)
   74,528  => ???:0x0804C250 (37264x)
  124,352  ALLOCATOR(statement, "statements");
  350,507  => allocate.c:allocate (7772x)
   15,544  => ???:0x0804C250 (7772x)
  116,368  ALLOCATOR(string, "strings");
  327,632  => allocate.c:allocate (7273x)
   14,546  => ???:0x0804C250 (7273x)
   59,856  ALLOCATOR(scope, "scopes");
  168,482  => allocate.c:allocate (3741x)
    7,482  => ???:0x0804C250 (3741x)
   99,345  __DO_ALLOCATOR(void, 0, 1, "bytes", bytes);
  298,102  => allocate.c:allocate (6623x)
   13,246  => ???:0x0804C250 (6623x)
    9,328  ALLOCATOR(basic_block, "basic_block");
   26,302  => allocate.c:allocate (583x)
    1,166  => ???:0x0804C250 (583x)
      576  ALLOCATOR(entrypoint, "entrypoint");
    1,687  => allocate.c:allocate (36x)
       72  => ???:0x0804C250 (36x)
   64,416  ALLOCATOR(instruction, "instruction");
  181,447  => allocate.c:allocate (4026x)
    8,052  => ???:0x0804C250 (4026x)
    1,504  ALLOCATOR(multijmp, "multijmp");
    4,297  => allocate.c:allocate (94x)
      188  => ???:0x0804C250 (94x)
   55,168  ALLOCATOR(pseudo, "pseudo");
  155,367  => allocate.c:allocate (3448x)
    6,896  => ???:0x0804C250 (3448x)
        .  
        .  

--------------------------------------------------------------------------------
Ir 
--------------------------------------------------------------------------------
16  percentage of events annotated