Hi, So I'm working on TinyCC to make it somewhat usable in the modern era, here's the list of thing I did, all of them are huge changes.
1. Formatted the code to use 4-space-indent, K&R bracket style -> This is very big, as it breaks all WIP PRs 2. No more global code, finishing what Bellard wished to do for a long time -> All states are stuffed in TCCState with their corresponding name -> Yes, it should be fully reentrant now -> Yet also comes with a caveat to using more memory (~80k in sizeof now according to MSVC) 3. More C90 code -> Anonymous struct/"struct { ... } foo;" as I separated the global states to namespaces -> !! TinyCC might not be self-bootstrappable after this 4. Codegen virtualization (not started yet) -> This is a great idea in mind, as we could finally cross-compile in one centralized binary, but the codegen currently copulates with a lot of cancerous implementation defined macros, so I need to fully separate the damning macros first. Anaƫl Seghezzi also had worked on similar things I did ( https://github.com/anael-seghezzi/tcc-0.9.26), but he did it for his CToy environment anyway and the base version he dealt with is outdated, and I guess he never asked for the same PR I guess? My work is fully independent until I googled it in what I already did most so far. Nevertheless, I always wanted reentrant code on mainstream TinyCC, perhaps the next version 0.9.27 could have it :) Another reason I did this is for experiments with the MJIT library from Vladimir Makarov for Ruby ( https://github.com/vnmakarov/ruby/tree/rtl_mjit_branch#mjit-organization), it uses C code as an intermediate representation, very interesting idea and I believe MJIT and TinyCC can make a match in the heaven. Also, I want to advocate on moving TinyCC to GitHub, the owner should be the one still active here or I can take the place :P because http://repo.or.cz/tinycc.git is not well indexed in Google and so people spammed different versions of TCC on top of that, it is not cool to see http://repo.or.cz/tinycc.git in the middle of google search result while an old branch from LuaJIT is on the top. But y'know, I could always fork TinyCC and separate the code from the mainstream. However, I hate to merge git commits (as I'm, unfortunately, a git-retard), so now I need all past contributors to vote for these changes: if you had time, just put a yay or nay on this thread, thanks. Steve the student.
_______________________________________________ Tinycc-devel mailing list Tinycc-devel@nongnu.org https://lists.nongnu.org/mailman/listinfo/tinycc-devel