We (V8) are considering changing so of our codegen (in particular, instance type allocation) from being generated by Torque based on torque object definitions, into being generated by a libclang-based helper program that parses C++ object definitions -- the goal is to eventually remove the Torque object definitions entirely and have a single source of truth in C++. We likely don't need a bleeding-edge libclang since we're not going crazy with syntax here and libclang is relatively stable.
We're looking to make this part of the build rather than checking it in (like static roots) because the ifdef explosion is likely to be more severe. We want to make sure that downstream embedders are not entirely broken by this approach, and have some solution that's compatible with our plans. Please let me know if there are any insurmountable obstacles for you with an approach like this.
We (V8) are considering changing so of our codegen (in particular, instance type allocation) from being generated by Torque based on torque object definitions, into being generated by a libclang-based helper program that parses C++ object definitions -- the goal is to eventually remove the Torque object definitions entirely and have a single source of truth in C++. We likely don't need a bleeding-edge libclang since we're not going crazy with syntax here and libclang is relatively stable.
We're looking to make this part of the build rather than checking it in (like static roots) because the
ifdefexplosion is likely to be more severe. We want to make sure that downstream embedders are not entirely broken by this approach, and have some solution that's compatible with our plans. Please let me know if there are any insurmountable obstacles for you with an approach like this.