tinycc-devel
[Top][All Lists]
Advanced

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

Re: [Tinycc-devel] make tcc reentrant


From: Karl Yerkes
Subject: Re: [Tinycc-devel] make tcc reentrant
Date: Tue, 3 Dec 2019 08:16:17 -0800

i have a project that needs this and i've been studying the source of tcc to figure out how to do it. i would like to see how you plan to do this.

i would test on macOS. 

-- karl

On Tue, Dec 3, 2019 at 2:59 AM Ulrich Schmidt <address@hidden> wrote:

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
>> 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
address@hidden
https://lists.nongnu.org/mailman/listinfo/tinycc-devel

reply via email to

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