{"push_id":1091436956,"size":16,"distinct_size":4,"ref":"refs/heads/reframe-jit","head":"47327fa9fd9bb254d04fe90a54179a53c83de74e","before":"7c0421e5009bf137cc7ff9a64653f8fa91115b18","commits":[{"sha":"8b642e4f191cf31edb3d70a03d338bcd622d1fc3","author":{"email":"92c1736204b6c26b1dd39a70935c2aa8584ad478@jnthn.net","name":"jnthn"},"message":"Mark tc->thread_obj of unstarted threads.\n\nOtherwise, if a GC happens between thread creation and thread start,\nwe'll end up with a TC that has an outdated ->thread_obj pointer.","distinct":false,"url":"https://api.github.com/repos/MoarVM/MoarVM/commits/8b642e4f191cf31edb3d70a03d338bcd622d1fc3"},{"sha":"2a022fb580fdd3bd42c6ba1e12855c1a25da37f0","author":{"email":"92c1736204b6c26b1dd39a70935c2aa8584ad478@jnthn.net","name":"jnthn"},"message":"Use MVM_load with an AO_t, to be on the safe side.","distinct":false,"url":"https://api.github.com/repos/MoarVM/MoarVM/commits/2a022fb580fdd3bd42c6ba1e12855c1a25da37f0"},{"sha":"0861a7633eda38509b1d429b21fe09a5e8af9ff1","author":{"email":"92c1736204b6c26b1dd39a70935c2aa8584ad478@jnthn.net","name":"jnthn"},"message":"Missing rooting of frames in backtrace formation.","distinct":false,"url":"https://api.github.com/repos/MoarVM/MoarVM/commits/0861a7633eda38509b1d429b21fe09a5e8af9ff1"},{"sha":"7d51049110e1f71491b88728d222efee7d7e39bf","author":{"email":"92c1736204b6c26b1dd39a70935c2aa8584ad478@jnthn.net","name":"jnthn"},"message":"The instrumentation level barrier may allocate.\n\nTherefore, root collectables around it.","distinct":false,"url":"https://api.github.com/repos/MoarVM/MoarVM/commits/7d51049110e1f71491b88728d222efee7d7e39bf"},{"sha":"2698ba7c2d5c3ccb3713aab2b117d93c92eb17fe","author":{"email":"92c1736204b6c26b1dd39a70935c2aa8584ad478@jnthn.net","name":"jnthn"},"message":"Correct cleanup of temp roots at thread exit.\n\nFixes a crash that could occur when doing GC of an exited thread.","distinct":false,"url":"https://api.github.com/repos/MoarVM/MoarVM/commits/2698ba7c2d5c3ccb3713aab2b117d93c92eb17fe"},{"sha":"c0ffff27d1ef0a4713223d945d6648af888b3a5f","author":{"email":"92c1736204b6c26b1dd39a70935c2aa8584ad478@jnthn.net","name":"jnthn"},"message":"Mark frame in unwind data, now it's GC-able.","distinct":false,"url":"https://api.github.com/repos/MoarVM/MoarVM/commits/c0ffff27d1ef0a4713223d945d6648af888b3a5f"},{"sha":"3fce8d7380bb8110ac99a9de7231b88658911159","author":{"email":"92c1736204b6c26b1dd39a70935c2aa8584ad478@jnthn.net","name":"jnthn"},"message":"This debugging macro is better with panic.\n\nSince otherwise, the exception can be caught. Been using it the panic\nway all day, and it's been rather easier.","distinct":false,"url":"https://api.github.com/repos/MoarVM/MoarVM/commits/3fce8d7380bb8110ac99a9de7231b88658911159"},{"sha":"32643d1c077ea04742c5000c2b6184d9b0ed6566","author":{"email":"92c1736204b6c26b1dd39a70935c2aa8584ad478@jnthn.net","name":"jnthn"},"message":"Missing root of exception message in `die`.","distinct":false,"url":"https://api.github.com/repos/MoarVM/MoarVM/commits/32643d1c077ea04742c5000c2b6184d9b0ed6566"},{"sha":"6733e927ceb1aeff0daf23a58c43730cb2c38d77","author":{"email":"92c1736204b6c26b1dd39a70935c2aa8584ad478@jnthn.net","name":"jnthn"},"message":"Fix CUnion layout computation GC issues.\n\nAn unfortunately-timed GC in the middle of that could end up leaving\ndangling pointers. Just allocate this layout-related bits in gen2,\nas they'll probably live for a while anyway.","distinct":false,"url":"https://api.github.com/repos/MoarVM/MoarVM/commits/6733e927ceb1aeff0daf23a58c43730cb2c38d77"},{"sha":"e52d1bbf8b6d58458e4a42d6631cfc2cd24006c5","author":{"email":"92c1736204b6c26b1dd39a70935c2aa8584ad478@jnthn.net","name":"jnthn"},"message":"Mark tc->thread_entry_frame.\n\nNow that frames are collectable, and so can move, this pointer must be\nmarked so it is kept up to date. Otherwise, it points to junk that may\none day align with the address of an actually executing frame, causing\na worker thread to silently exit and typically resulting in a deadlock\nbecause another thread is blocked on its work.","distinct":false,"url":"https://api.github.com/repos/MoarVM/MoarVM/commits/e52d1bbf8b6d58458e4a42d6631cfc2cd24006c5"},{"sha":"d956008c5da81227b7229447e07f4b4140069dac","author":{"email":"92c1736204b6c26b1dd39a70935c2aa8584ad478@jnthn.net","name":"jnthn"},"message":"Fix clearing of \"in inter-gen set\" flag.\n\nPreviously, we toggled it. However, multiple threads can have the\nsame collectable in their inter-gen set, and may end up considering\nit. All the flag does is avoid duplicate additions, so it's safe to\nclear it when it could be set. However, before this fix we might have\nended up with it set when it should not have been, which would be\nbad.","distinct":false,"url":"https://api.github.com/repos/MoarVM/MoarVM/commits/d956008c5da81227b7229447e07f4b4140069dac"},{"sha":"42654ccd075a35ebf3f39e63d6d6cda9e2d174fd","author":{"email":"92c1736204b6c26b1dd39a70935c2aa8584ad478@jnthn.net","name":"jnthn"},"message":"Simplification thanks to ilmari++.","distinct":false,"url":"https://api.github.com/repos/MoarVM/MoarVM/commits/42654ccd075a35ebf3f39e63d6d6cda9e2d174fd"},{"sha":"e1bcdc4f2f919f849e50793ed46359edb8dc9cf0","author":{"email":"584f910bd90b69b1782a61c862a1e36011546c69@gmail.com","name":"Bart Wiegmans"},"message":"Make frames identifiable using a sequence number\n\nBecause frames can now be garbage-collected, they can be moved, and\nthe identity check used in the JIT will no longer work. Thus, we'd\nlike to have another cheap way to check if we are currently still\nin the same frame.\n\nSequence numbers are assigned to frames on allocation and assigned\nto the thread context on the (re)entry of a frame. Thus, they\nprovide a per-thread identifier of the position in the call stack.","distinct":true,"url":"https://api.github.com/repos/MoarVM/MoarVM/commits/e1bcdc4f2f919f849e50793ed46359edb8dc9cf0"},{"sha":"94abbdf32e4cb663b2e13f9e75173035c70b46d8","author":{"email":"584f910bd90b69b1782a61c862a1e36011546c69@gmail.com","name":"Bart Wiegmans"},"message":"Make references to FRAME indirect via TC\n\nAgain, because FRAME can now move, we need indirect access. The\ninvokish check doesn't work correctly yet.","distinct":true,"url":"https://api.github.com/repos/MoarVM/MoarVM/commits/94abbdf32e4cb663b2e13f9e75173035c70b46d8"},{"sha":"ed805e642cfd42ef13602ee6d0a0a345e8677449","author":{"email":"584f910bd90b69b1782a61c862a1e36011546c69@gmail.com","name":"Bart Wiegmans"},"message":"Use the THROWISH_PRE dynamic helper for INVOKISH\n\nBecause we no longer have a stable FRAME pointer, we need to\nassign the jit entry label prior to invoking the frame.","distinct":true,"url":"https://api.github.com/repos/MoarVM/MoarVM/commits/ed805e642cfd42ef13602ee6d0a0a345e8677449"},{"sha":"47327fa9fd9bb254d04fe90a54179a53c83de74e","author":{"email":"584f910bd90b69b1782a61c862a1e36011546c69@gmail.com","name":"Bart Wiegmans"},"message":"Add missing THROWISH_PRE in if_o and unless_o\n\nThe THROWISH_PRE (is now a misnomer) is necessary to pre-load the\ncorrect jit entry label. This was missed because if_o and unless_o\nuse the 'istrue' op internally.","distinct":true,"url":"https://api.github.com/repos/MoarVM/MoarVM/commits/47327fa9fd9bb254d04fe90a54179a53c83de74e"}]}