EMSCRIPTEN_KEEPALIVE void* _realloc(void* ptr, size_t size){ unsigned int* val = ptr;
printf("before %i %i %i %i %i %i \n", val[0], val[1], val[2], val[2], val[4], val[5]); void* newPtr = realloc(ptr,size); printf("after %i %i %i %i %i %i \n", val[0], val[1], val[2], val[2], val[4], val[5]); return newPtr;}
BUILD = emccLINK = emcc
SRC_DIR = srcBUILD_DIR = distOBJ_DIR = obj
LINK_FLAGS = -O3 -s STANDALONE_WASM -s NO_EXIT_RUNTIME=1 -s EXTRA_EXPORTED_RUNTIME_METHODS='["ccall","cwrap"]' -s EXPORTED_FUNCTIONS='["_malloc","_free"]'
BUILD_FLAGS = -c -O3
PROJECT_NAME = em_app
SOURCES = $(wildcard $(addprefix $(SRC_DIR)/,*.c)) $(wildcard $(addprefix $(SRC_DIR)/glmatrix/,*.c))OBJECTS = $(SOURCES:$(SRC_DIR)/%.c=$(OBJ_DIR)/%.o)
all: $(PROJECT_NAME)
$(PROJECT_NAME): $(OBJECTS) $(LINK) $(OBJECTS) -o $(addprefix $(BUILD_DIR)/,$@.js) $(LINK_FLAGS)
$(OBJ_DIR)/%.o: $(SRC_DIR)/%.c $(BUILD) $< -o $@ $(BUILD_FLAGS)
clean: rm -f $(addprefix $(BUILD_DIR)/,$(PROJECT_NAME).js) $(addprefix $(BUILD_DIR)/,$(PROJECT_NAME).wasm) $(OBJECTS)
EMSCRIPTEN_KEEPALIVE void* _realloc(void* ptr, size_t size){ unsigned int* val = ptr;
printf("before %i %i %i %i %i %i \n", val[0], val[1], val[2], val[2], val[4], val[5]); void* newPtr = realloc(ptr,size);
val = newPtr;
printf("after %i %i %i %i %i %i \n", val[0], val[1], val[2], val[2], val[4], val[5]); return newPtr;}
const newPtr = (<EmscriptenModuleExtended>this._module)._realloc( ptr, newLength * Uint32Array.BYTES_PER_ELEMENT ); const newPtrBuffer = new Uint32Array( this._module.HEAP8.buffer, newPtr, newLength );
if (newPtr !== ptr) { const length = this.metas[1]; if (copyBufferIfPtrChanged) { //console.log('ptr changed',this._ptrBuffer); newPtrBuffer.set( newLength < length ? this._buffer.slice(0, length) : this._buffer ); }
console.log('newPtrBuffer : ', newPtrBuffer); this.metas[2] = newPtr; }
this.metas[1] = newLength; this._buffer = newPtrBuffer;
new_size
bytes, copying memory area with size equal the lesser of the new and the old sizes, and freeing the old block.