[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Tinycc-devel] make tcc reentrant

From: Ulrich Schmidt
Subject: Re: [Tinycc-devel] make tcc reentrant
Date: Tue, 3 Dec 2019 11:54:59 +0100
User-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:68.0) Gecko/20100101 Thunderbird/68.2.2

Am 03.12.2019 um 11:49 schrieb uso ewin:
On Tue, Dec 3, 2019 at 11:02 AM Ulrich Schmidt <address@hidden> wrote:
Thank you, Sean. I'l take a look.

Your Idea of making tcc_relocate_ex() global is probably worth thinking

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.


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


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.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]