Unix/Linux Go Back    

Linux 2.6 - man page for erl_malloc (linux section 3erl)

Linux & Unix Commands - Search Man Pages
Man Page or Keyword Search:   man
Select Man Page Set:       apropos Keyword Search (sections above)

erl_malloc(3erl)		       C Library Functions			 erl_malloc(3erl)

       erl_malloc - Memory Allocation Functions

       This module provides functions for allocating and deallocating memory.

       ETERM * erl_alloc_eterm(etype)

	      Types  unsigned char etype;

	      This function allocates an (ETERM) structure. Specify etype as one of the following


		* ERL_U_INTEGER /* unsigned integer */


		* ERL_PID /* Erlang process identifier */


		* ERL_REF /* Erlang reference */







		* ERL_SMALL_BIG /* bignum */

		* ERL_U_SMALL_BIG /* bignum */

	      ERL_SMALL_BIG and ERL_U_SMALL_BIG are for creating Erlang bignums , which can  con-
	      tain integers of arbitrary size. The size of an integer in Erlang is machine depen-
	      dent, but in general any integer larger than 2^28 requires a bignum.

       void erl_eterm_release(void)

	      Clears  the  freelist,  where  blocks  are  placed  when	they  are   released   by
	      erl_free_term() and erl_free_compound() .

       void erl_eterm_statistics(allocated, freed)

	      Types  long *allocated;
		     long *freed;

	      allocated  and freed are initialized to contain information about the fix-allocator
	      used to allocate ETERM components. allocated is  the  number  of	blocks	currently
	      allocated  to  ETERM objects. freed is the length of the freelist, where blocks are
	      placed when they are released by erl_free_term() and erl_free_compound() .

       void erl_free_array(array, size)

	      Types  ETERM **array;
		     int size;

	      This function frees an array of Erlang terms.

	      array is an array of ETERM* objects.

	      size is the number of terms in the array.

       void erl_free_term(t)

	      Types  ETERM *t;

	      Use this function to free an Erlang term.

       void erl_free_compound(t)

	      Types  ETERM *t;

	      Normally it is the programmer's responsibility to free each Erlang  term	that  has
	      been  returned  from  any of the erl_interface functions. However since many of the
	      functions that build new Erlang terms in fact share  objects  with  other  existing
	      terms,  it  may  be  difficult  for the programmer to maintain pointers to all such
	      terms in order to free them individually.

	      erl_free_compound() will recursively free all of the sub-terms  associated  with	a
	      given  Erlang term, regardless of whether we are still holding pointers to the sub-

	      There is an example in the User Manual under "Building Terms and Patterns"

       void erl_malloc(size)

	      Types  long size;

	      This function calls the standard malloc() function.

       void erl_free(ptr)

	      Types  void *ptr;

	      This function calls the standard free() function.

Ericsson AB			       erl_interface 3.7.3			 erl_malloc(3erl)
Unix & Linux Commands & Man Pages : ©2000 - 2018 Unix and Linux Forums

All times are GMT -4. The time now is 12:14 PM.