{"head":"7bc78bfc36c7c59a2e4da6c6f959c7b442854b48","size":287,"push_id":45921432,"shas":[["6a7ce6812e5a3afcca9f4f71f18d329ae538aafa","ed746f5da6a824b6e9cd9a87b163994456645745@gmail.com","FFI: Much more complete support for memory read/write operations\n\nI've added support for reading/writing all the following types:\n\n* int8\n* int16\n* int32\n* int64\n* long\n* float32\n* float64\n* float\n* double\n* char\n* short\n* int\n* long_long\n* pointer\n\nvia the following methods (given a type `x`):\n\n* `read_x`\n* `write_x`\n* `get_x`\n* `put_x`\n* `read_array_of_x`\n* `write_array_of_x`\n* `get_array_of_x`\n* `put_array_of_x`","Mitchell Hashimoto"],["1d79a3690e6ed4305c387f3e100c1c14e93b202d","ed746f5da6a824b6e9cd9a87b163994456645745@gmail.com","FFI: put_* methods take an `obj` parameter","Mitchell Hashimoto"],["0cf4b7da2c66954defa05ba10bb17f0303b3bdd6","ed746f5da6a824b6e9cd9a87b163994456645745@gmail.com","FFI: Add primitive_write_* methods to FFI::Pointer","Mitchell Hashimoto"],["b79cb11949bd3731f24d23153b4cdcc3ad381720","d69eedf9386eafb922b5983901ebb19141493da3@gmail.com","Use LLVM's disassembler for non X86 platforms","Dirkjan Bussink"],["4e10d1464604ec719bb83c28c5bc073d3b25e283","1ea48a69f09ca4fa2c0ea576825eb76dcaab3f18@gmail.com","Unset RUBYOPT when running CI from rake.","Brian Ford"],["d057450cb7f7aed1917ea959e123e7cbc73eae8c","1ea48a69f09ca4fa2c0ea576825eb76dcaab3f18@gmail.com","Avoid using -bundle with -dynamiclib on darwin.","Brian Ford"],["daff704530abd1d88b32ae963cc2bae271653b6b","9ce5770b3bb4b2a1d59be2d97e34379cd192299f@steveklabnik.com","Adding support for require_relative.\n\nThis is based on my require_relative gem for MRI. Passes\nall of the RubySpec specs.","Steve Klabnik"],["785886c3a37326559280fa9ee61fbc77551b81e4","1ea48a69f09ca4fa2c0ea576825eb76dcaab3f18@gmail.com","Removed CI tags for require_relative.","Brian Ford"],["00208a55a42d42e5d3301f776211ec0813ebeee5","1ea48a69f09ca4fa2c0ea576825eb76dcaab3f18@gmail.com","Spec for Kernel.load on 1.9.","Brian Ford"],["8ba6415fe1cb55001ae589970f08612e4de7631c","1ea48a69f09ca4fa2c0ea576825eb76dcaab3f18@gmail.com","Add back load code lost in require_relative commit.","Brian Ford"],["6e9b6f52289ebcd3c4e39736ce197b94da9cc642","d69eedf9386eafb922b5983901ebb19141493da3@gmail.com","Handle case where there isn't a call stack yet\n\nIf you use call_til_compile=0 there is no call stack yet\nand it would crash.\n\nFixes #1188","Dirkjan Bussink"],["31d3553fb8d8298c6086c49b208807b0abafa034","d69eedf9386eafb922b5983901ebb19141493da3@gmail.com","Add spec for passing 0 as the klass for Data_Wrap_Struct","Dirkjan Bussink"],["38b606790f0e72b63ea16db79abf1cfcc5fc1137","d69eedf9386eafb922b5983901ebb19141493da3@gmail.com","Use Object if no class is given to rb_data_object_alloc\n\nMRI allows for creating a very strange object that has\nno klass pointer set. This means this object can't for example\nbe inspected, since it will given the following result:\n\nNotImplementedError: method `class' called on terminated object (0xXXXXXXXX)\n\nIn Rubinius we just use Object, so it at least works. It is\ndefinitely recommended to use a proper actual class to prevent\npotential issues on MRI.\n\nFixes #1187","Dirkjan Bussink"],["01cd5d1c58941d5021bb6e491b46f1efa7ea1768","150fcf7ec0668f54c54789f7cee8c429f1373f42@gmail.com","New blog post: steve klabnik thinks rubinius is awesome","Shane Becker"],["3e920367e10afc9a8c95585f888a643cc0603719","74cfedad66a774ec81649167fbcad7bb7429c39d@member.fsf.org","Large-string example for Zlib::GzipWriter#write.\n\nThe expected size was generated by the following Ruby program running\nunder Ruby 1.8.7-p352:\n\n    require 'stringio'\n    require 'zlib'\n\n    io = StringIO.new\n    input = '.' * (2 ** 23)\n\n    Zlib::GzipWriter.wrap(io) do |gzio|\n      gzio.write(input)\n    end\n\n    print io.string\n\nThis program was then run:\n\n    $ ruby gen.rb | wc -c\n    8176\n\nReferences #1185.","David Yip"],["fb98f6e312ff91237a271652e1b69969c1a8a656","74cfedad66a774ec81649167fbcad7bb7429c39d@member.fsf.org","Allocate strings for FFI on the heap.\n\nStrings passed to foreign functions can be quite large -- too large to\nfit on the stack, and it's not always possible to detect an alloca(3)\nfailure.\n\nFixes #1185.","David Yip"],["e3a8a1ca18bee2e349ae86cbe5e39f855fe22208","1ea48a69f09ca4fa2c0ea576825eb76dcaab3f18@gmail.com","Merge pull request #1189 from yipdw/issue-1185\n\n[PATCH] Zlib::GzipWriter#write segfaults when given large (2^23 byte) strings","Brian Ford"],["0591393085ebd9bf5352f96aaea8ab6f6885fdea","178b62e73cc3fab9e30bf27b2372c9ff92401915@fallingsnow.net","Teach daedalus to only use mtimes with DEV=1","Evan Phoenix"],["8bac792941d14f7f65e5f84198655ff6d18ec8ea","178b62e73cc3fab9e30bf27b2372c9ff92401915@fallingsnow.net","Fix GC bug caused by layered GCLockGuard\n\nChannel::send in IOBuffer::create caused a GC would would cause the new\nIO* object to not be seen and be cleaned up, leaving a bad GC ref on the\nstack.","Evan Phoenix"],["5f8ea0d65eabc888ab548d51f35ed19b0e2b60e1","178b62e73cc3fab9e30bf27b2372c9ff92401915@fallingsnow.net","Fix Heap::contains_p to only check the used range","Evan Phoenix"]],"ref":"refs/heads/master"}