diff --git a/include/EXTZONES.h b/include/EXTZONES.h index 32655ca8d..030c90aef 100644 --- a/include/EXTZONES.h +++ b/include/EXTZONES.h @@ -31,13 +31,11 @@ struct llvm_zone_stack llvm_zone_stack* tail; }; - - extern THREAD_LOCAL llvm_zone_stack* tls_llvm_zone_stack; extern THREAD_LOCAL uint64_t tls_llvm_zone_stacksize; namespace extemp { -namespace EXTLLVM { +namespace EXTZONES { const unsigned LLVM_ZONE_ALIGN = 32; // MUST BE POWER OF 2! const unsigned LLVM_ZONE_ALIGNPAD = LLVM_ZONE_ALIGN - 1; diff --git a/src/AudioDevice.cpp b/src/AudioDevice.cpp index 1249e0ab3..b1955420b 100644 --- a/src/AudioDevice.cpp +++ b/src/AudioDevice.cpp @@ -206,7 +206,7 @@ void* audioCallbackMT(void* Args) //printf("Starting RT Audio Process\n"); unsigned idx = uintptr_t(Args); auto cache_wrapper(AudioDevice::I()->getDSPWrapper()); - auto zone(extemp::EXTLLVM::llvm_peek_zone_stack()); + auto zone(extemp::EXTZONES::llvm_peek_zone_stack()); SAMPLE* outbuf = AudioDevice::I()->getDSPMTOutBuffer(); SAMPLE* outbufs[2]; outbufs[0] = outbuf + UNIV::CHANNELS * UNIV::NUM_FRAMES * idx * 2; @@ -243,17 +243,17 @@ void* audioCallbackMT(void* Args) if (UNIV::IN_CHANNELS==UNIV::CHANNELS) { for(uint64_t k=0; kgetDSPWrapperArray(); dsp_f_ptr_array cache_wrapper = dsp_wrapper_array; - llvm_zone_t* zone = extemp::EXTLLVM::llvm_peek_zone_stack(); + llvm_zone_t* zone = extemp::EXTZONES::llvm_peek_zone_stack(); float* outbuf = AudioDevice::I()->getDSPMTOutBufferArray(); outbuf = outbuf+(UNIV::CHANNELS*UNIV::NUM_FRAMES*idx); float* inbuf = AudioDevice::I()->getDSPMTInBufferArray(); @@ -299,7 +299,7 @@ void* audioCallbackMTBuf(void* dat) { } // spin lcount++; cache_wrapper(zone, reinterpret_cast(closure), inbuf, outbuf, UNIV::DEVICE_TIME, NULL); - extemp::EXTLLVM::llvm_zone_reset(zone); + extemp::EXTZONES::llvm_zone_reset(zone); ++sThreadDoneCount; } return 0; @@ -339,7 +339,7 @@ int audioCallback(const void* InputBuffer, void* OutputBuffer, unsigned long Fra auto dsp_wrapper(AudioDevice::I()->getDSPWrapper()); auto cache_wrapper(dsp_wrapper); auto closure = *((SAMPLE(**)(SAMPLE, uint64_t, uint64_t,SAMPLE*)) cache_closure); - llvm_zone_t* zone = extemp::EXTLLVM::llvm_peek_zone_stack(); + llvm_zone_t* zone = extemp::EXTZONES::llvm_peek_zone_stack(); auto dat(reinterpret_cast(OutputBuffer)); auto in(reinterpret_cast(InputBuffer)); auto time(UNIV::DEVICE_TIME); @@ -349,7 +349,7 @@ int audioCallback(const void* InputBuffer, void* OutputBuffer, unsigned long Fra for (uint64_t k = 0; k < UNIV::CHANNELS; ++k) { *(dat++) = audio_sanity_f(float(cache_wrapper(zone, reinterpret_cast(closure), 0.0, time, k, &dummy))); - extemp::EXTLLVM::llvm_zone_reset(zone); + extemp::EXTZONES::llvm_zone_reset(zone); } } } else if (UNIV::IN_CHANNELS == UNIV::CHANNELS) { @@ -358,7 +358,7 @@ int audioCallback(const void* InputBuffer, void* OutputBuffer, unsigned long Fra for (uint64_t k = 0; k < UNIV::CHANNELS; ++k) { *(dat++) = audio_sanity_f(float(cache_wrapper(zone, reinterpret_cast(closure), *(in++), time, k, indata))); - extemp::EXTLLVM::llvm_zone_reset(zone); + extemp::EXTZONES::llvm_zone_reset(zone); } } } else if (UNIV::IN_CHANNELS == 1) { @@ -366,7 +366,7 @@ int audioCallback(const void* InputBuffer, void* OutputBuffer, unsigned long Fra for (uint64_t k = 0; k < UNIV::CHANNELS; k++) { *(dat++) = audio_sanity_f(float(cache_wrapper(zone, reinterpret_cast(closure), *in, time, k, in))); - extemp::EXTLLVM::llvm_zone_reset(zone); + extemp::EXTZONES::llvm_zone_reset(zone); } ++in; } @@ -378,7 +378,7 @@ int audioCallback(const void* InputBuffer, void* OutputBuffer, unsigned long Fra for (uint64_t k = 0; k < UNIV::CHANNELS; ++k) { *(dat++) = audio_sanity_f(float(cache_wrapper(zone, reinterpret_cast(closure), 0.0, time, k, &indata[i*UNIV::IN_CHANNELS]))); - extemp::EXTLLVM::llvm_zone_reset(zone); + extemp::EXTZONES::llvm_zone_reset(zone); } } } @@ -387,11 +387,11 @@ int audioCallback(const void* InputBuffer, void* OutputBuffer, unsigned long Fra if (AudioDevice::I()->getDSPWrapperArray() && !AudioDevice::I()->getDSPSUMWrapperArray()) { // if true then we must be buffer by buffer dsp_f_ptr_array cache_wrapper = AudioDevice::I()->getDSPWrapperArray(); auto closure = *((void(**)(float*,float*,uint64_t,void*)) cache_closure); - llvm_zone_t* zone = extemp::EXTLLVM::llvm_peek_zone_stack(); + llvm_zone_t* zone = extemp::EXTZONES::llvm_peek_zone_stack(); float* indat = (float*) InputBuffer; float* outdat = (float*) OutputBuffer; cache_wrapper(zone, (void*)closure, indat, outdat, UNIV::DEVICE_TIME, UserData); - extemp::EXTLLVM::llvm_zone_reset(zone); + extemp::EXTZONES::llvm_zone_reset(zone); } else if (AudioDevice::I()->getDSPSUMWrapper()) { // if true then multi threaded sample-by-sample int numthreads = AudioDevice::I()->getNumThreads(); bool zerolatency = AudioDevice::I()->getZeroLatency(); @@ -419,7 +419,7 @@ int audioCallback(const void* InputBuffer, void* OutputBuffer, unsigned long Fra dsp_f_ptr_sum dsp_wrapper = AudioDevice::I()->getDSPSUMWrapper(); dsp_f_ptr_sum cache_wrapper = dsp_wrapper; auto closure = * ((SAMPLE(**)(SAMPLE*,uint64_t,uint64_t,SAMPLE*)) cache_closure); - llvm_zone_t* zone = extemp::EXTLLVM::llvm_peek_zone_stack(); + llvm_zone_t* zone = extemp::EXTZONES::llvm_peek_zone_stack(); bool toggle = AudioDevice::I()->getToggle(); SAMPLE* indats[AudioDevice::MAX_RT_AUDIO_THREADS]; // can't be variable on wi indats[0] = AudioDevice::I()->getDSPMTOutBuffer(); @@ -441,7 +441,7 @@ int audioCallback(const void* InputBuffer, void* OutputBuffer, unsigned long Fra in[jj] = indats[jj][iout+k]; } dat[iout+k] = audio_sanity_f((float)cache_wrapper(zone, (void*)closure, in, (i+UNIV::DEVICE_TIME),k,nullptr)); - extemp::EXTLLVM::llvm_zone_reset(zone); + extemp::EXTZONES::llvm_zone_reset(zone); } } if (!zerolatency) { @@ -484,7 +484,7 @@ int audioCallback(const void* InputBuffer, void* OutputBuffer, unsigned long Fra dsp_f_ptr_sum_array dsp_wrapper = AudioDevice::I()->getDSPSUMWrapperArray(); dsp_f_ptr_sum_array cache_wrapper = dsp_wrapper; auto closure = *((void(**)(float**,float*,uint64_t,void*)) cache_closure); - llvm_zone_t* zone = extemp::EXTLLVM::llvm_peek_zone_stack(); + llvm_zone_t* zone = extemp::EXTZONES::llvm_peek_zone_stack(); //float** indat = (float**) float* indats[AudioDevice::MAX_RT_AUDIO_THREADS]; float* outdat = (float*) OutputBuffer; @@ -493,7 +493,7 @@ int audioCallback(const void* InputBuffer, void* OutputBuffer, unsigned long Fra indats[jj] = indats[0]+(UNIV::NUM_FRAMES*UNIV::CHANNELS*jj); } cache_wrapper(zone, (void*)closure, indats, outdat, UNIV::DEVICE_TIME, UserData); - extemp::EXTLLVM::llvm_zone_reset(zone); + extemp::EXTZONES::llvm_zone_reset(zone); //printf("main out\n"); } else { //zero out audiobuffer diff --git a/src/EXTLLVM.cpp b/src/EXTLLVM.cpp index c67639d84..519be28fc 100644 --- a/src/EXTLLVM.cpp +++ b/src/EXTLLVM.cpp @@ -412,7 +412,7 @@ EXPORT closure_address_table* add_address_table(llvm_zone_t* zone, char* name, u if (alloctype == 1) { t = reinterpret_cast(malloc(sizeof(struct closure_address_table))); } else { - t = (struct closure_address_table*) extemp::EXTLLVM::llvm_zone_malloc(zone,sizeof(struct closure_address_table)); + t = (struct closure_address_table*) extemp::EXTZONES::llvm_zone_malloc(zone,sizeof(struct closure_address_table)); } t->id = string_hash(name); t->name = name; @@ -592,7 +592,7 @@ EXPORT const char* llvm_disassemble(const unsigned char* Code, int syntax) static extemp::CMG DestroyMallocZoneWithDelayCM( [](extemp::TaskI* Task)->void { - llvm_zone_destroy(static_cast*>(Task)->getArg()); + extemp::EXTZONES::llvm_zone_destroy(static_cast*>(Task)->getArg()); }); EXPORT void llvm_destroy_zone_after_delay(llvm_zone_t* Zone, uint64_t Delay) @@ -738,7 +738,7 @@ void initLLVM() // tell LLVM about some built-in functions extemp::EXTLLVM2::addGlobalMapping("llvm_zone_destroy", - uintptr_t(&llvm_zone_destroy)); + uintptr_t(&extemp::EXTZONES::llvm_zone_destroy)); extemp::EXTLLVM2::addGlobalMapping("get_address_offset", (uint64_t)&get_address_offset); extemp::EXTLLVM2::addGlobalMapping("string_hash", (uint64_t)&string_hash); diff --git a/src/EXTZONES.cpp b/src/EXTZONES.cpp index 0dee1cb5b..9ed88e623 100644 --- a/src/EXTZONES.cpp +++ b/src/EXTZONES.cpp @@ -7,7 +7,7 @@ THREAD_LOCAL llvm_zone_stack* tls_llvm_zone_stack = 0; THREAD_LOCAL uint64_t tls_llvm_zone_stacksize = 0; namespace extemp { -namespace EXTLLVM { +namespace EXTZONES { llvm_zone_t* llvm_zone_create(uint64_t size) { diff --git a/src/SchemeProcess.cpp b/src/SchemeProcess.cpp index 9a0824cce..9a404a7b6 100644 --- a/src/SchemeProcess.cpp +++ b/src/SchemeProcess.cpp @@ -87,10 +87,8 @@ static const char TERMINATION_CHAR = 23; #endif namespace extemp { -namespace EXTLLVM { - +namespace EXTZONES { llvm_zone_t* llvm_zone_create(uint64_t); - } } @@ -125,7 +123,7 @@ SchemeProcess::SchemeProcess(const std::string& LoadPath, const std::string& Nam } m_scheme = scheme_init_new(); m_scheme->m_process = this; - m_defaultZone = extemp::EXTLLVM::llvm_zone_create(50 * 1024 * 1024); // allocate default zone of 50M + m_defaultZone = extemp::EXTZONES::llvm_zone_create(50 * 1024 * 1024); // allocate default zone of 50M strcpy(m_scheme->name, m_name.c_str()); m_maxDuration = m_scheme->call_default_time; memset(m_schemeOutportString, 0, SCHEME_OUTPORT_STRING_LENGTH); diff --git a/src/ffi/sys_zone.inc b/src/ffi/sys_zone.inc index a7fe7bc55..3015ac7f9 100644 --- a/src/ffi/sys_zone.inc +++ b/src/ffi/sys_zone.inc @@ -1,9 +1,9 @@ static pointer createMallocZone(scheme* Scheme, pointer Args) { if (Args == Scheme->NIL) { - return mk_cptr(Scheme, extemp::EXTLLVM::llvm_zone_create(1024 * 100)); + return mk_cptr(Scheme, extemp::EXTZONES::llvm_zone_create(1024 * 100)); } - return mk_cptr(Scheme, extemp::EXTLLVM::llvm_zone_create(ivalue(pair_car(Args)))); + return mk_cptr(Scheme, extemp::EXTZONES::llvm_zone_create(ivalue(pair_car(Args)))); } static pointer defaultMallocZone(scheme* Scheme, pointer Args) @@ -17,7 +17,7 @@ static pointer destroyMallocZone(scheme* Scheme, pointer Args) if (pair_cdr(Args) != Scheme->NIL) { llvm_destroy_zone_after_delay(ptr, ivalue(pair_cadr(Args))); } else { - extemp::EXTLLVM::llvm_zone_destroy(ptr); + extemp::EXTZONES::llvm_zone_destroy(ptr); } return Scheme->T; } @@ -30,23 +30,23 @@ static pointer copyToDefaultZone(scheme* Scheme, pointer Args) static pointer resetMallocZone(scheme* Scheme, pointer Args) { llvm_zone_t* zone = reinterpret_cast(cptr_value(pair_car(Args))); - extemp::EXTLLVM::llvm_zone_reset(zone); + extemp::EXTZONES::llvm_zone_reset(zone); return Scheme->T; } static pointer peekMemoryZone(scheme* Scheme, pointer Args) { - return mk_cptr(Scheme, extemp::EXTLLVM::llvm_peek_zone_stack()); + return mk_cptr(Scheme, extemp::EXTZONES::llvm_peek_zone_stack()); } static pointer popMemoryZone(scheme* Scheme, pointer Args) { - return mk_cptr(Scheme, extemp::EXTLLVM::llvm_pop_zone_stack()); + return mk_cptr(Scheme, extemp::EXTZONES::llvm_pop_zone_stack()); } static pointer pushMemoryZone(scheme* Scheme, pointer Args) { - extemp::EXTLLVM::llvm_push_zone_stack(reinterpret_cast(cptr_value(pair_car(Args)))); + extemp::EXTZONES::llvm_push_zone_stack(reinterpret_cast(cptr_value(pair_car(Args)))); return Scheme->T; }