Commit e7145eee authored by Ian Lynagh's avatar Ian Lynagh

SET_ARR_HDR's last argument is now a number of bytes, rather than words

This avoids unnecessary work and potential loss of information
parent ae75dfb8
......@@ -125,9 +125,9 @@
SET_PROF_HDR((StgClosure *)(c),ccs); \
#define SET_ARR_HDR(c,info,costCentreStack,n_words) \
#define SET_ARR_HDR(c,info,costCentreStack,n_bytes) \
SET_HDR(c,info,costCentreStack); \
(c)->bytes = n_words*sizeof(W_);
(c)->bytes = n_bytes;
// Use when changing a closure from one kind to another
#define OVERWRITE_INFO(c, new_info) \
......@@ -225,7 +225,7 @@ stgAllocStable(size_t size_in_bytes, StgStablePtr *stable)
/* allocate and fill it in */
arr = (StgArrWords *)allocate(total_size_in_words);
SET_ARR_HDR(arr, &stg_ARR_WORDS_info, CCCS, data_size_in_words);
SET_ARR_HDR(arr, &stg_ARR_WORDS_info, CCCS, size_in_bytes);
/* obtain a stable ptr */
*stable = getStablePtr((StgPtr)arr);
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment