|
From: | Ulrich Schmidt |
Subject: | Re: [Tinycc-devel] make tcc reentrant |
Date: | Tue, 3 Dec 2019 18:33:22 +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 17:16 schrieb Karl Yerkes: > 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. > While doing the changes we need a freeze (other changes should be delayed). The 1st step i already started: - removing the static tcc_state, hence all functions calling the error function needs to be able to know about the TCCState. All affected functions need a TCCState* as a first parameter. This first parameter allways is named "s1". I started this change for all X86 related files. - Mark all static vars that needs to be moved to TCCState in all source files with a comment. This could be done as a teamwork. - The move process should be done in 2 steps. First move local static vars into a new struct. Static vars referenced by multiple source files will be moved directly into TCCState. Step2: Move all local struct fields to TCCState. All this should be done in tiny steps while some people are testing on different platforms. Looks like a lot of work. :) Ulrich.
[Prev in Thread] | Current Thread | [Next in Thread] |