*TL;DR*: For debug builds the generated code will contain {FLAG_debug_code} by default, use --no-debug-code to turn it off.
The various code generators in V8 have the ability to insert debug code (similar to assertions) into generated code. This behavior is predicated by the --debug-code flag (which translates into {FLAG_debug_code} in the code-base). The flag in question was off by default and got passed explicitly by our test harness for debug builds. The problem is that code contained within the snapshot was generated without this flag, hence many stubs unexpectedly did not contain the desired assertions. This surprising effect has led to uncaught regressions several times already, only no-snapshot builds would cover them (e.g. there is no x64 no-snapshot builder on our waterfall). After a recent change <https://codereview.chromium.org/2528913002/>[1] the default value of the flag in question changed. It is now on by default for debug builds and remains off by default for release builds. This ensures the snapshot contains the proper assertions. In case you are looking at the disassembly of generated code in debug builds and are surprised/confused by the additional code, you can pass --no-debug-code to explicitly elide the assertions even in debug builds. For release builds nothing has changed. [1] https://codereview.chromium.org/2528913002/ Best regards, Michael <https://codereview.chromium.org/2528913002/> -- -- v8-dev mailing list v8-dev@googlegroups.com http://groups.google.com/group/v8-dev --- You received this message because you are subscribed to the Google Groups "v8-dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to v8-dev+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.