{"push_id":779185258,"size":14,"distinct_size":14,"ref":"refs/heads/rewriterscan2","head":"6e9f84b131def451e8c90620fe60f04dcab5969f","before":"afd00cb2fac411a79b34113214f5b18e9d1aca47","commits":[{"sha":"9b1351f0bdfcd58c544336f4737ecedf84142914","author":{"email":"d248c79c97c66a7b571fdac1accce52c99cfde88@dropbox.com","name":"Kevin Modzelewski"},"message":"Support non-module-globals in the llvm tier\n\n(motivated by namedtuple)\n\nThis involves two main changes:\n- changing the calling convention to pass `globals` as an argument if needed\n  (this only applies going into compiled code, it's already passed into the interpreter)\n- changing the llvm irgenerator to use the new globals object","distinct":true,"url":"https://api.github.com/repos/rudi-c/pyston/commits/9b1351f0bdfcd58c544336f4737ecedf84142914"},{"sha":"4043e4e7c00a37f3ee61fdc8e69c7b6c03048f23","author":{"email":"d248c79c97c66a7b571fdac1accce52c99cfde88@dropbox.com","name":"Kevin Modzelewski"},"message":"Rename 'old_parser' configuration to 'force_llvm'\n\nIt does use the old parser, but it also forces the use\nof the llvm tier for everything which usually ends up being\nthe more important part of the configuration.","distinct":true,"url":"https://api.github.com/repos/rudi-c/pyston/commits/4043e4e7c00a37f3ee61fdc8e69c7b6c03048f23"},{"sha":"d3cdd0d2a631958b20f13417f1fbaf5e53d620d1","author":{"email":"d248c79c97c66a7b571fdac1accce52c99cfde88@dropbox.com","name":"Kevin Modzelewski"},"message":"Support getting custom globals via introspection","distinct":true,"url":"https://api.github.com/repos/rudi-c/pyston/commits/d3cdd0d2a631958b20f13417f1fbaf5e53d620d1"},{"sha":"25c334ae8b38a25ed5cec63d73b50d7d628a0324","author":{"email":"d248c79c97c66a7b571fdac1accce52c99cfde88@dropbox.com","name":"Kevin Modzelewski"},"message":"Copy in llvm's DenseMap.h and DenseSet.h\n\nWith no modificaions in this commit, so that we can track changes.\nUnmodified from llvm rev r230300.","distinct":true,"url":"https://api.github.com/repos/rudi-c/pyston/commits/25c334ae8b38a25ed5cec63d73b50d7d628a0324"},{"sha":"dbdfbddec1a08f5db6cc03dbb05a06657417e596","author":{"email":"d248c79c97c66a7b571fdac1accce52c99cfde88@dropbox.com","name":"Kevin Modzelewski"},"message":"Match DenseMap/Set to our codebase\n\n- add note + license\n- put in our namespace\n- change header guards\n- make it match our lint style\n- don't apply our formatting","distinct":true,"url":"https://api.github.com/repos/rudi-c/pyston/commits/dbdfbddec1a08f5db6cc03dbb05a06657417e596"},{"sha":"30c224d7405404fa069c1004a1da374c0c1eb2e8","author":{"email":"d248c79c97c66a7b571fdac1accce52c99cfde88@dropbox.com","name":"Kevin Modzelewski"},"message":"Two more ubenches","distinct":true,"url":"https://api.github.com/repos/rudi-c/pyston/commits/30c224d7405404fa069c1004a1da374c0c1eb2e8"},{"sha":"b417a5931f64e4fed3e274b0332456fcb3be2df9","author":{"email":"d248c79c97c66a7b571fdac1accce52c99cfde88@dropbox.com","name":"Kevin Modzelewski"},"message":"Parameterize DenseMap on the minimum size\n\nThe default is 64, which is quite a lot for our uses.","distinct":true,"url":"https://api.github.com/repos/rudi-c/pyston/commits/b417a5931f64e4fed3e274b0332456fcb3be2df9"},{"sha":"b819c1dd07823b1df7cbd2556b2043d1e4ee4a4f","author":{"email":"d248c79c97c66a7b571fdac1accce52c99cfde88@dropbox.com","name":"Kevin Modzelewski"},"message":"Lower initial dict/set size from 64->8\n\nBy switching to our DenseMap/Set fork with that allows parameterizing\non this.\n\nThis is the same number that CPython uses.  We were previously\nusing llvm's default of 64, which is pretty high -- probably fine\nfor their use cases, but in Python programs with lots of sets/dicts\nwe spend a lot of time doing malloc() for all those 1kB+ allocations.\nThis also increases the time it takes to iterate over the dict/set,\nsince there are more empty buckets that have to be read + skipped.","distinct":true,"url":"https://api.github.com/repos/rudi-c/pyston/commits/b819c1dd07823b1df7cbd2556b2043d1e4ee4a4f"},{"sha":"2cf438fc840e803b99a8e4ca51b5b70b1ce97534","author":{"email":"d248c79c97c66a7b571fdac1accce52c99cfde88@dropbox.com","name":"Kevin Modzelewski"},"message":"I have no idea how/where this could get out of sync","distinct":true,"url":"https://api.github.com/repos/rudi-c/pyston/commits/2cf438fc840e803b99a8e4ca51b5b70b1ce97534"},{"sha":"af996a804ae230d35845d726071abc871e74a078","author":{"email":"fd5fdcd2a5d35ccb481fc3d8dd4d559f2b8c0652@gmail.com","name":"Marius Wachtler"},"message":"add tp_nextiter implementation for our iterators","distinct":true,"url":"https://api.github.com/repos/rudi-c/pyston/commits/af996a804ae230d35845d726071abc871e74a078"},{"sha":"e212b811bc3e15d53cc2f31614ffaf145eb6f286","author":{"email":"fd5fdcd2a5d35ccb481fc3d8dd4d559f2b8c0652@gmail.com","name":"Marius Wachtler"},"message":"microoptimize getIsDefinedName + startswith","distinct":true,"url":"https://api.github.com/repos/rudi-c/pyston/commits/e212b811bc3e15d53cc2f31614ffaf145eb6f286"},{"sha":"4f4c856c98e6e3aadcd737fad7146d6dd047524f","author":{"email":"fd5fdcd2a5d35ccb481fc3d8dd4d559f2b8c0652@gmail.com","name":"Marius Wachtler"},"message":"Generate better module names to make the object cache more effective\none of the problems were that depending on if all files were all ready parsed we JITed more or less functions,\nthis changed the total number of jited functions which changed all the module names.\nThis lead to the result that in order to have all entries inside the cache we needed at least 3runs if the pyc files were old.\n\nThe whole name scheme should add some point get improved but for now it should be enough.","distinct":true,"url":"https://api.github.com/repos/rudi-c/pyston/commits/4f4c856c98e6e3aadcd737fad7146d6dd047524f"},{"sha":"d32f12bfad825613f985576dcc3f980351481ae8","author":{"email":"ebb20679fcf61956699de2df424b8a8766309cd6@gmail.com","name":"Rudi Chen"},"message":"Add infrastructure to call GC handler on stack-bound objects.","distinct":true,"url":"https://api.github.com/repos/rudi-c/pyston/commits/d32f12bfad825613f985576dcc3f980351481ae8"},{"sha":"6e9f84b131def451e8c90620fe60f04dcab5969f","author":{"email":"ebb20679fcf61956699de2df424b8a8766309cd6@gmail.com","name":"Rudi Chen"},"message":"Conservatively scan the ICInvalidators stored in the rewriter.\n\nWe need to do this because the ICInvalidator pointers are stored inside\nPyston heap objects.","distinct":true,"url":"https://api.github.com/repos/rudi-c/pyston/commits/6e9f84b131def451e8c90620fe60f04dcab5969f"}]}