Am 03.12.2019 um 11:49 schrieb uso ewin:
On Tue, Dec 3, 2019 at 11:02 AM Ulrich Schmidt <u.sch...@gmx.de> wrote:
Thank you, Sean. I'l take a look.
Your Idea of making tcc_relocate_ex() global is probably worth thinking
about.
I wrote my own binding and ran into trouble like you did and i
understood not enouth about tcc internals. (TCC doc is not the best
source of information.) Hence i looked into the sources and figured out:
If more than one app uses libtcc, the compilation processes interfere
with each other causing compilation faults. If you use libtcc only once
at a time, all is fine.
From my point of view a lua module needs to usable multiple times parallel.
Ulrich.
For parallel it could be possible to optionally change global as
_Thread_local variable,
this will make tcc unable to compile itself if the option is enable,
as it didn't support _Thread_local,
but could be easier than making tcc reentrant, I don't know which
approach is better
but maybe it's worth thinking about this option too.
about reentrantcy, I'm not a maintainer either, I'm not against this
change, as it's a big change
maybe it's possible to make this in an incremental way by first making
small patchs that will
move the global to TCCState.
Also I like the idea of a freeze in order to release a 0.28 soon
Matthias,
I agree with you. I changed all the function parameters in the i386 and
X64 related sources. I could push my branch so anyone can see how it's
look like. In 2 source files i already placed comments which static vars
need to be moved into TCCState.
Ulrich.
_______________________________________________
Tinycc-devel mailing list
Tinycc-devel@nongnu.org
https://lists.nongnu.org/mailman/listinfo/tinycc-devel