mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
include/ruby/internal/xmalloc.h: document rb_eNoMemError
It was my bad, the exception that actually raises is rb_eNoMemError. [ci skip]
This commit is contained in:
parent
11656d15e2
commit
fe60480947
1 changed files with 43 additions and 42 deletions
|
@ -61,8 +61,8 @@ RBIMPL_ATTR_ALLOC_SIZE((1))
|
||||||
* - It raises Ruby exceptions instead of returning NULL, and
|
* - It raises Ruby exceptions instead of returning NULL, and
|
||||||
* - In case of `ENOMEM` it tries to GC to make some room.
|
* - In case of `ENOMEM` it tries to GC to make some room.
|
||||||
*
|
*
|
||||||
* @param[in] size Requested amount of memory.
|
* @param[in] size Requested amount of memory.
|
||||||
* @exception rb_eMemError No space left for `size` bytes allocation.
|
* @exception rb_eNoMemError No space left for `size` bytes allocation.
|
||||||
* @return A valid pointer to an allocated storage instance; which has at
|
* @return A valid pointer to an allocated storage instance; which has at
|
||||||
* least `size` bytes width, with appropriate alignment detected by
|
* least `size` bytes width, with appropriate alignment detected by
|
||||||
* the underlying malloc() routine.
|
* the underlying malloc() routine.
|
||||||
|
@ -89,10 +89,10 @@ RBIMPL_ATTR_ALLOC_SIZE((1,2))
|
||||||
* exceptions instead. If there is no integer overflow the behaviour is
|
* exceptions instead. If there is no integer overflow the behaviour is
|
||||||
* exactly the same as `ruby_xmalloc(nelems*elemsiz)`.
|
* exactly the same as `ruby_xmalloc(nelems*elemsiz)`.
|
||||||
*
|
*
|
||||||
* @param[in] nelems Number of elements.
|
* @param[in] nelems Number of elements.
|
||||||
* @param[in] elemsiz Size of an element.
|
* @param[in] elemsiz Size of an element.
|
||||||
* @exception rb_eMemError No space left for allocation.
|
* @exception rb_eNoMemError No space left for allocation.
|
||||||
* @exception rb_eArgError `nelems` * `elemsiz` would overflow.
|
* @exception rb_eArgError `nelems` * `elemsiz` would overflow.
|
||||||
* @return A valid pointer to an allocated storage instance; which has at
|
* @return A valid pointer to an allocated storage instance; which has at
|
||||||
* least `nelems` * `elemsiz` bytes width, with appropriate
|
* least `nelems` * `elemsiz` bytes width, with appropriate
|
||||||
* alignment detected by the underlying malloc() routine.
|
* alignment detected by the underlying malloc() routine.
|
||||||
|
@ -118,10 +118,10 @@ RBIMPL_ATTR_ALLOC_SIZE((1,2))
|
||||||
* returns. This could also be seen as a routine identical to ruby_xmalloc(),
|
* returns. This could also be seen as a routine identical to ruby_xmalloc(),
|
||||||
* except it calls calloc() instead of malloc() internally.
|
* except it calls calloc() instead of malloc() internally.
|
||||||
*
|
*
|
||||||
* @param[in] nelems Number of elements.
|
* @param[in] nelems Number of elements.
|
||||||
* @param[in] elemsiz Size of an element.
|
* @param[in] elemsiz Size of an element.
|
||||||
* @exception rb_eMemError No space left for allocation.
|
* @exception rb_eNoMemError No space left for allocation.
|
||||||
* @exception rb_eArgError `nelems` * `elemsiz` would overflow.
|
* @exception rb_eArgError `nelems` * `elemsiz` would overflow.
|
||||||
* @return A valid pointer to an allocated storage instance; which has at
|
* @return A valid pointer to an allocated storage instance; which has at
|
||||||
* least `nelems` * `elemsiz` bytes width, with appropriate
|
* least `nelems` * `elemsiz` bytes width, with appropriate
|
||||||
* alignment detected by the underlying calloc() routine.
|
* alignment detected by the underlying calloc() routine.
|
||||||
|
@ -144,21 +144,21 @@ RBIMPL_ATTR_ALLOC_SIZE((2))
|
||||||
/**
|
/**
|
||||||
* Resize the storage instance.
|
* Resize the storage instance.
|
||||||
*
|
*
|
||||||
* @param[in] ptr A valid pointer to a storage instance that was
|
* @param[in] ptr A valid pointer to a storage instance that was
|
||||||
* previously returned from either ruby_xmalloc(),
|
* previously returned from either ruby_xmalloc(),
|
||||||
* ruby_xmalloc2(), ruby_xcalloc(), ruby_xrealloc(),
|
* ruby_xmalloc2(), ruby_xcalloc(),
|
||||||
* or ruby_xrealloc2().
|
* ruby_xrealloc(), or ruby_xrealloc2().
|
||||||
* @param[in] newsiz Requested new amount of memory.
|
* @param[in] newsiz Requested new amount of memory.
|
||||||
* @exception rb_eMemError No space left for `newsiz` bytes allocation.
|
* @exception rb_eNoMemError No space left for `newsiz` bytes allocation.
|
||||||
* @retval ptr In case the function returns the passed pointer
|
* @retval ptr In case the function returns the passed pointer
|
||||||
* as-is, the storage instance that the pointer holds
|
* as-is, the storage instance that the pointer
|
||||||
* is either grown or shrunken to have at least
|
* holds is either grown or shrunken to have at
|
||||||
* `newsiz` bytes.
|
* least `newsiz` bytes.
|
||||||
* @retval otherwise A valid pointer to a newly allocated storage
|
* @retval otherwise A valid pointer to a newly allocated storage
|
||||||
* instance which has at least `newsiz` bytes width,
|
* instance which has at least `newsiz` bytes
|
||||||
* and holds previous contents of `ptr`. In this
|
* width, and holds previous contents of `ptr`. In
|
||||||
* case `ptr` is invalidated as if it was passed to
|
* this case `ptr` is invalidated as if it was
|
||||||
* ruby_xfree().
|
* passed to ruby_xfree().
|
||||||
* @note It doesn't return NULL.
|
* @note It doesn't return NULL.
|
||||||
* @warning Unlike some realloc() implementations, passing zero to `elemsiz`
|
* @warning Unlike some realloc() implementations, passing zero to `elemsiz`
|
||||||
* is not the same as calling ruby_xfree(), because this function
|
* is not the same as calling ruby_xfree(), because this function
|
||||||
|
@ -192,23 +192,24 @@ RBIMPL_ATTR_ALLOC_SIZE((2,3))
|
||||||
* This is roughly the same as reallocarray() function that OpenBSD
|
* This is roughly the same as reallocarray() function that OpenBSD
|
||||||
* etc. provides, but also interacts with our GC.
|
* etc. provides, but also interacts with our GC.
|
||||||
*
|
*
|
||||||
* @param[in] ptr A valid pointer to a storage instance that was
|
* @param[in] ptr A valid pointer to a storage instance that was
|
||||||
* previously returned from either ruby_xmalloc(),
|
* previously returned from either ruby_xmalloc(),
|
||||||
* ruby_xmalloc2(), ruby_xcalloc(), ruby_xrealloc(),
|
* ruby_xmalloc2(), ruby_xcalloc(),
|
||||||
* or ruby_xrealloc2().
|
* ruby_xrealloc(), or ruby_xrealloc2().
|
||||||
* @param[in] newelems Requested new number of elements.
|
|
||||||
* @param[in] newsiz Requested new size of each element.
|
* @param[in] newelems Requested new number of elements.
|
||||||
* @exception rb_eMemError No space left for allocation.
|
* @param[in] newsiz Requested new size of each element.
|
||||||
* @exception rb_eArgError `newelems` * `newsiz` would overflow.
|
* @exception rb_eNoMemError No space left for allocation.
|
||||||
* @retval ptr In case the function returns the passed pointer
|
* @exception rb_eArgError `newelems` * `newsiz` would overflow.
|
||||||
* as-is, the storage instance that the pointer holds
|
* @retval ptr In case the function returns the passed pointer
|
||||||
* is either grown or shrunken to have at least
|
* as-is, the storage instance that the pointer
|
||||||
* `newelems` * `newsiz` bytes.
|
* holds is either grown or shrunken to have at
|
||||||
* @retval otherwise A valid pointer to a newly allocated storage
|
* least `newelems` * `newsiz` bytes.
|
||||||
* instance which has at least `newelems` * `newsiz`
|
* @retval otherwise A valid pointer to a newly allocated storage
|
||||||
* bytes width, and holds previous contents of `ptr`.
|
* instance which has at least `newelems` *
|
||||||
* In this case `ptr` is invalidated as if it was
|
* `newsiz` bytes width, and holds previous
|
||||||
* passed to ruby_xfree().
|
* contents of `ptr`. In this case `ptr` is
|
||||||
|
* invalidated as if it was passed to ruby_xfree().
|
||||||
* @note It doesn't return NULL.
|
* @note It doesn't return NULL.
|
||||||
* @warning Unlike some realloc() implementations, passing zero to either
|
* @warning Unlike some realloc() implementations, passing zero to either
|
||||||
* `newelems` or `elemsiz` are not the same as calling
|
* `newelems` or `elemsiz` are not the same as calling
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue