Age | Commit message (Collapse) | Author | |
---|---|---|---|
2012-02-13 | compiler: Teach the inliner to preserve on_load functions | Björn Gustavsson | |
The inliner was ignorant of on_load functions and would discard them (unless they were exported or referenced). Noticed-by: Yiannis Tsiouris <[email protected]> | |||
2010-07-29 | beam_asm: Simplify string table generation for beams | Paul Guyot | |
The code for generating the string table (which is now only used for bit syntax matching) in a BEAM file is quite complicated and potentially expensive when compiling modules with many thousands of clauses doing bit syntax matching. Simplify and optimize the code using bit syntax and binary:match/2 instead of the list operations in the original code. | |||
2009-12-13 | Change the expected return value for on_load functions | Björn Gustavsson | |
An on_load function is supposed to return 'true' to indicate that the module should be loaded, and 'false' if it should be unloaded. But returning any other term, as well as causing an exception, will also unload the module. Since we don't like boolean values mixed with other values, change the expected return value as follows: * If 'ok' is returned, the module will remain loaded and become callable. * If any other value is returned (or an exception is generated), the module will be unloaded. Also, if the returned value is not an atom, send a warning message to the error_logger (using error_logger:warning_msg/2). The new interpretation of the return value means that an on_load function can now directly return the return value from erlang:load_nif/2. | |||
2009-11-20 | The R13B03 release.OTP_R13B03 | Erlang/OTP | |