tom-seddon/b2

> 1 MB stack size required on Windows?

Closed this issue · 1 comments

  # For reasons unclear, constructing BBCMicro::ms_update_mfns
  # (512 KB) requires 1 MB+8 bytes of stack space on startup, causing
  # a stack overflow exception if the default stack size of 1 MB is in
  # effect.
  target_link_options(b2 PRIVATE "/STACK:2097152")

But why?

16-byte member function pointers required to handle BBCMicro multiple inheritance seemed to be interfering with compile-time generation of table. And the code to fill the table in just seemed to be using a huge amount of stack (looks like it might have been generated as if it's a function with 65,536 16-byte local variables).

Fixed by 2a1d301