59 assert(_max >= 0, "integer overflow"); |
59 assert(_max >= 0, "integer overflow"); |
60 size_t byte_size = elementSize * (size_t) _max; |
60 size_t byte_size = elementSize * (size_t) _max; |
61 if (on_stack()) { |
61 if (on_stack()) { |
62 return (void*)resource_allocate_bytes(byte_size); |
62 return (void*)resource_allocate_bytes(byte_size); |
63 } else if (on_C_heap()) { |
63 } else if (on_C_heap()) { |
64 return (void*)AllocateHeap(byte_size, "GrET in " __FILE__); |
64 return (void*)AllocateHeap(byte_size, _memflags); |
65 } else { |
65 } else { |
66 return _arena->Amalloc(byte_size); |
66 return _arena->Amalloc(byte_size); |
67 } |
67 } |
68 } |
68 } |