{"push_id":604109354,"size":8,"distinct_size":4,"ref":"refs/heads/pointer-masking","head":"a1a42d5c400f3431e2fd832f479b2529a212a15d","before":"0e36981bb7146d09facd98dc9291346f6361eb5c","commits":[{"sha":"44fb04635892e62bbc17a7b2d9c0f13217a64b41","author":{"email":"7fd53e5c0196364ab7e4d04442f5aad9994a5eff@cantab.net","name":"Aidan Hobson Sayers"},"message":"Error on fastcomp=0 in key places where EMCC_FAST_COMPILER is checked","distinct":false,"url":"https://api.github.com/repos/dtc/emscripten/commits/44fb04635892e62bbc17a7b2d9c0f13217a64b41"},{"sha":"bcb08ba9b4ef2c202489993fd2fc48782bfd2ac0","author":{"email":"e039247740c9816afdb6dbff3efc336a7fe345a9@gmail.com","name":"Alon Zakai"},"message":"Merge pull request #3248 from aidanhs/aphs-prevent-non-fastcomp\n\nExit with error when trying to use non-fastcomp mode","distinct":false,"url":"https://api.github.com/repos/dtc/emscripten/commits/bcb08ba9b4ef2c202489993fd2fc48782bfd2ac0"},{"sha":"62f240732ac8dfa2ec769126f34de52c3ec9c004","author":{"email":"e039247740c9816afdb6dbff3efc336a7fe345a9@gmail.com","name":"Alon Zakai"},"message":"partially revert the changes to emcc in 44fb04635892e62bbc17a7b2d9c0f13217a64b41 , so that emcc with no arguments still runs sanity checks","distinct":false,"url":"https://api.github.com/repos/dtc/emscripten/commits/62f240732ac8dfa2ec769126f34de52c3ec9c004"},{"sha":"4d05e76d1cde60c39b4f9afaeb59c12ab52cab2c","author":{"email":"e039247740c9816afdb6dbff3efc336a7fe345a9@gmail.com","name":"Alon Zakai"},"message":"alloc memory growth above 1GB, and close to 2GB; #3253","distinct":false,"url":"https://api.github.com/repos/dtc/emscripten/commits/4d05e76d1cde60c39b4f9afaeb59c12ab52cab2c"},{"sha":"6ccb23d42b7601b03d7956848cddac8d3b004cca","author":{"email":"2558287f5f02cb53673b2f725ba6caa100d79302@scieneer.com","name":"Douglas Crosher"},"message":"Update the POINTER_MASKING feature. The POINTER_MASKING argument is\nnow a boolean rather than the mask. The TOTAL_MEMORY is now expected\nto be a power of two, and this is checked. The actual allocated buffer\nlength extended by 16M to support index offsets. A heap length\ndeclaration function is now emitted for the benefit of Odin. The masks\nare emitted using a 'const' rather than a 'var' for the benefit of\nOdin. The array access optimization now folds constant indexes, and\naccepts offsets up to 16M to match the guard zone added to the heap length.","distinct":true,"url":"https://api.github.com/repos/dtc/emscripten/commits/6ccb23d42b7601b03d7956848cddac8d3b004cca"},{"sha":"93ca86f9533961dad347450adc158898e4425360","author":{"email":"2558287f5f02cb53673b2f725ba6caa100d79302@scieneer.com","name":"Douglas Crosher"},"message":"Add a POINTER_MASKING_OVERFLOW setting and POINTER_MASKING_DYNAMIC feature.\n\nThe POINTER_MASKING_OVERFLOW setting allows the extra allocation above\nthe power of two TOTAL_MEMORY allocation to be specified.\n\nThe POINTER_MASKING_DYNAMIC feature dynamically passes the masks to\nthe module which allows the buffer size to be chosen at runtime rather\nthan being compiled in.\n\nWhen POINTER_MASKING_DYNAMIC is zero, and when emitting asm.js code,\nthe TOTAL_MEMORY and POINTER_MASKING_OVERFLOW are verified to be\nconsistent with the asm.js heap length requirements when emscripten\ncompiles to JS.\n\nWhen POINTER_MASKING_DYNAMIC is enabled, and when emitting asm.js\ncode, the TOTAL_MEMORY and POINTER_MASKING_OVERFLOW are rounded up at\nruntime to be consistent with the asm.js heap length requirements.","distinct":true,"url":"https://api.github.com/repos/dtc/emscripten/commits/93ca86f9533961dad347450adc158898e4425360"},{"sha":"db4b379a94320b1fb72baf719e14394fb0b3a8c5","author":{"email":"2558287f5f02cb53673b2f725ba6caa100d79302@scieneer.com","name":"Douglas Crosher"},"message":"Default the POINTER_MASKING_OVERFLOW to 64K and silently adjust the\noverflow to keep the total length a valid asm.js heap buffer length.","distinct":true,"url":"https://api.github.com/repos/dtc/emscripten/commits/db4b379a94320b1fb72baf719e14394fb0b3a8c5"},{"sha":"a1a42d5c400f3431e2fd832f479b2529a212a15d","author":{"email":"2558287f5f02cb53673b2f725ba6caa100d79302@scieneer.com","name":"Douglas Crosher"},"message":"As requested in feedback, when POINTER_MASKING is set without\nPOINTER_MASKING_DYNAMIC the generated code no longer use variables for\nPOINTER_MASKING and POINTER_MASKING_OVERFLOW rather it is all compiled\nin with the compile time settings. This seems appropriate as the masks\nand heap length declaration are baked in without the\nPOINTER_MASKING_DYNAMIC feature.\n\nWhen POINTER_MASKING_DYNAMIC is enabled, POINTER_MASKING and\nPOINTER_MASKING_OVERFLOW are variables that can be set at JS\nruntime. For example, it is possible to enable POINTER_MASKING_DYNAMIC\nand disable POINTER_MASKING when emscripten is compiling, and the code\nwill run with pointer masking disabled by default but with support for\npointer masking.\n\nSome code style issues have been addressed, based on feedback.","distinct":true,"url":"https://api.github.com/repos/dtc/emscripten/commits/a1a42d5c400f3431e2fd832f479b2529a212a15d"}]}