On 2017-04-11 02:20, Walter Bright wrote:
On 4/10/2017 4:43 PM, David Nadlinger wrote:
[1] In fact, it looks like – for example with DMD moving to
libunwind-based EH
as well – the issue is slowly resolving itself anyway and at some
point we'll
merely have to sit down for a week and iron out the last few kinks.

dmd is not moving to a libunwind-based EH, it already has moved to it!

But as an example of ABI change, the latest EH @nogc proposal changes
the layout of the Throwable object, and adds some code to the
_d_throwdwarf() function.

https://github.com/dlang/druntime/pull/1804

It is possible to solve. For example, in Objective-C they have a non-fragile ABI where you can freely add instance variables to base classes and the offset will be adjusted automatically at load time for the subclasses [1]. The methods are already handled with dynamic message dispatch.

[1] http://www.sealiesoftware.com/blog/archive/2009/01/27/objc_explain_Non-fragile_ivars.html

--
/Jacob Carlborg

Reply via email to