Skip to content

Instantly share code, notes, and snippets.

@samcv
Created August 29, 2018 00:02
Show Gist options
  • Save samcv/287b7aed0563fc054ab99c9ff9dfca02 to your computer and use it in GitHub Desktop.
Save samcv/287b7aed0563fc054ab99c9ff9dfca02 to your computer and use it in GitHub Desktop.
[f36d4df2] {6model} Fix Vim-o leading to wrong usage deletion | src/6model/reprs/P6opaque.c
[4fa8c855] {6model} Stub in new fields for lazy context traversal | src/6model/reprs/MVMContext.h
[940c02be] {6model} Move context creation to MVMContext.c | src/6model/reprs/MVMContext.c, src/6model/reprs/MVMContext.h, src/core/frame.c, src/core/frame.h, src/core/interp.c, src/debug/debugserver.c, src/jit/x64/emit.dasc
[df6271af] {6model} Update MVMContext at_key/exists_key to traverse | src/6model/reprs/MVMContext.c, src/core/frame.c, src/spesh/frame_walker.c, src/spesh/frame_walker.h
[b2c8d3ff] {6model} Update forceouterctx to traverse | src/6model/reprs/MVMContext.c, src/6model/reprs/MVMContext.h, src/core/interp.c, src/spesh/frame_walker.c, src/spesh/frame_walker.h
[2194358c] {6model} Die more politely in MVMContext clone | src/6model/reprs/MVMContext.c
[50262e3c] {6model} Update bind_key in MVMContext for traversal | src/6model/reprs/MVMContext.c
[3da1e5fb] {6model} Preserve enough data for accurate traversal | src/6model/reprs/MVMContext.c, src/core/frame.c, src/core/frame.h, src/spesh/frame_walker.c, src/spesh/frame_walker.h
[30dd47c1] {6model} Expose a symbol for Windows sake | src/6model/reprs/MVMContext.h
[54dc849d] {6model} Add extra diagnostic output to multi cache panic | src/6model/reprs/MVMMultiCache.c
[403460ec] {6model} Correct error text to match the condition | src/6model/reprs/MVMMultiCache.c
[9861e801] {6model} Make neverrepossess on type apply to the type | src/6model/6model.c, src/6model/6model.h, src/6model/sc.c
[cf2ed18c] {Core} Mark native ref ops as :useshll | src/core/oplist, src/core/ops.c
[b8e9de82] {Core} Turn on used of logged stats for decont | src/core/oplist, src/core/ops.c
[e838ff93] {Core} Add a maycausedeopt annotation | src/core/interp.h, src/core/oplist, src/core/ops.c, tools/update_ops.p6
[1b1edfe5] {Core} Mark invoke_v as :logged | src/core/oplist, src/core/ops.c
[aae518ba] {Core} Update lexprimspec to do context traversal | src/6model/reprs/MVMContext.c, src/6model/reprs/MVMContext.h, src/core/frame.c, src/core/frame.h, src/core/interp.c, src/spesh/frame_walker.c, src/spesh/frame_walker.h
[7314e231] {Core} Redo dynamic variable lookup using frame walker | src/core/frame.c, src/spesh/frame_walker.c, src/spesh/frame_walker.h
[95d5ac4b] {Core} Update getlexreldyn for context traversal | src/6model/reprs/MVMContext.c, src/6model/reprs/MVMContext.h, src/core/frame.c, src/core/frame.h, src/core/interp.c
[45bb7016] {Core} Make getlexrelcaller traverse the MVMContext | src/6model/reprs/MVMContext.c, src/6model/reprs/MVMContext.h, src/core/frame.c, src/core/frame.h, src/core/interp.c
[379bbaa0] {Core} Switch to using MVMContext traversals | src/core/interp.c
[8d96c86c] {Core} Always preserve return value for exit handler | src/core/args.c, src/core/frame.c, src/core/frame.h, src/gc/roots.c
[1c8c2702] {Core} Missing GC rooting during contextual resolution | src/core/frame.c
[43c716c0] {Core} Ensure we never leak a real NULL to exit handler | src/core/frame.c
[4d22fb9e] {Core} Fix protect handling in continuationcontrol | src/6model/reprs/MVMContinuation.c, src/6model/reprs/MVMContinuation.h, src/core/continuation.c
[67a9afef] {Core} Have sp_fastcreate do a direct nursery allocation | src/core/interp.c, src/jit/core_templates.expr, src/jit/x64/emit.dasc
[50b063e0] {Core} Mark sp_speshresolve as :useshll | src/core/oplist, src/core/ops.c
[09717ade] {Core} Make the callercode op inline-aware | src/core/frame.c, src/core/frame.h, src/core/interp.c, src/jit/core_templates.expr, src/jit/graph.c, src/jit/x64/emit.dasc
[5ef56b72] {Core} Add data on which ops are specializable | src/core/interp.h, src/core/oplist, src/core/ops.c, tools/update_ops.p6
[efbc6c63] {Core} Fix an uninitialized memory access | src/core/ext.c
[0b7f26ce,1ab3b189] {JIT} JIT-compile sp_speshresolve, JIT neg_I and abs_I | src/jit/graph.c, src/jit/graph.h, src/jit/x64/emit.dasc, src/spesh/plugin.c, src/spesh/plugin.h
[29cc327f] {JIT} Revert "Implement JIT templates for 10 ops" | src/jit/graph.c, src/jit/x64/emit.dasc
[cb9ddae5] {JIT} Add sizes to ARG5/ARG6 memory definitions | src/jit/x64/emit.dasc
[1166f663] {JIT} Remove unsafe template invalidated by recent work | src/jit/unsafe.expr
[b249d879] {JIT} Adhoc template application | docs/jit/todo.org, src/jit/expr.c, src/jit/expr.h
[7d358286] {JIT} Remove op_info pointer | src/jit/expr.c, src/jit/expr.h, src/jit/log.c, src/jit/tile.c
[464b035a] {JIT} Add CONST_PTR indirection | docs/jit/todo.org, src/jit/expr.c, src/jit/expr.h, src/jit/expr_ops.h, src/jit/macro.expr, src/jit/x64/tile_decl.h, src/jit/x64/tile_pattern.tile, src/jit/x64/tiles.dasc, tools/expr-template-compiler.pl
[a13eec06] {JIT} Remove 'value type' enum | src/jit/expr.c, src/jit/expr.h, src/jit/expr_ops.h, tools/expr-template-compiler.pl, tools/expr_ops.pm
[89d4d8d9] {JIT} Mark tree nodes in template precompiler | src/jit/expr.c, tools/expr-template-compiler.pl
[226b32a0] {JIT} Remove cast information from expr ops table | src/jit/expr.c, src/jit/expr.h, src/jit/expr_ops.h, src/jit/x64/tiles.dasc, tools/expr_ops.pm
[0199315c] {JIT} Remove MVMJitExprNode and rename MVMJitExprNodeInfo | src/jit/expr.c, src/jit/expr.h, src/jit/linear_scan.c, src/jit/log.c, src/jit/tile.c, src/jit/tile.h, src/types.h
[e2e5760d] {JIT} Wrap access to expression attributes | src/jit/expr.c, src/jit/expr.h, src/jit/linear_scan.c, src/jit/log.c, src/jit/tile.c, src/jit/x64/arch.c, src/jit/x64/tiles.dasc
[0a05a4d3] {JIT} Store num_links / num_args in info structure | src/jit/expr.c, src/jit/expr.h, src/jit/log.c, src/jit/tile.c
[f641ab3c] {JIT} Visit template nodes only once during preprocessing | tools/expr-template-compiler.pl
[f99968ce] {JIT} Inline the info node into the tree | src/jit/expr.c, src/jit/expr.h, src/jit/linear_scan.c, src/jit/tile.c, src/jit/x64/arch.c, src/moar.c, tools/expr-template-compiler.pl
[c5f9a32e] {JIT} Eliminate MVMJitExprOpInfo | src/jit/expr.c, src/jit/expr.h, src/jit/log.c, src/jit/tile.c, src/types.h
[f5b22026] {JIT} up to double-devirt assign_[ins] and decont_[ins] | src/6model/containers.c, src/6model/containers.h, src/jit/graph.c
[5bcae477] {Ops} Start splitting SSA versions at guards | lib/MAST/Ops.nqp, src/core/interp.c, src/core/oplist, src/core/ops.c, src/jit/graph.c, src/jit/x64/emit.dasc, src/spesh/facts.c, src/spesh/manipulate.c, src/spesh/manipulate.h, src/spesh/optimize.c
[27940b4d] {Other} Add a tool to dump sizes of REPR structures | .gitignore, build/Makefile.in, tools/repr_size_table.c
[bdf961d5] {Other} Add many more features to update-changelog.p6 | tools/update-changelog.p6
[0b34ce5e,0dd3c8e4 936dab02] {Other} Add goto specific commit and print uncomplete entries to update-changelog, Add sha1 and *sc exprjit templates, Implement JIT templates for 10 ops | tools/update-changelog.p6
[45ff2b13] {Other} Add ability to merge commits in update-changelog.p6 | tools/update-changelog.p6
[ca51c5e2] {Spesh} Make sure deopt code ref reg is never eliminated | src/spesh/inline.c
[24d3b5bf,155f1dfb] {Spesh} Fix dump of inlined spesh line/file annotations, Update deopt logging, which bitrotted | src/spesh/dump.c
[76b4f4ce] {Spesh} Inline limit with original bytecode size too | src/spesh/inline.c
[2242e303] {Spesh} First steps to a DU-chain checker | src/spesh/optimize.c, src/spesh/usages.c, src/spesh/usages.h
[056e1793] {Spesh} Missing writer setting in inline handling | src/spesh/inline.c
[70ef91ae] {Spesh} Missing writer setting in resolvecode insertion | src/spesh/optimize.c
[6953a35e] {Spesh} Correct writer when optimizing object conditional | src/spesh/optimize.c
[23ee38a5] {Spesh} Stop cheating on SSA form in optimize_call | src/spesh/optimize.c
[c3907a0d] {Spesh} missing writer setting in inlining (return val boxing) | src/spesh/inline.c
[a6a60b80] {Spesh} Correct writer setting in coercing via elems | src/spesh/optimize.c
[591403e8] {Spesh} Fix optimization of isfalse to set writer | src/spesh/optimize.c
[9c40b621] {Spesh} Add check that all readers in DU chain are present | src/spesh/usages.c
[e4ccf272] {Spesh} Fix spesh arg box writer/usage handling | src/spesh/args.c
[20b2ad80] {Spesh} Check usages one after main opts | src/spesh/optimize.c
[8a13519c] {Spesh} Set writers on spesh plugin getattr code-gen | src/spesh/plugin.c
[7a0ca4fd] {Spesh} Instruction deletion should delete usage, not add | src/spesh/manipulate.c
[c4cd3c62] {Spesh} Add detection of missing usage deletions | src/spesh/usages.c, src/spesh/usages.h
[14d6da5e] {Spesh} Fix various missing operand use deletions | src/spesh/inline.c, src/spesh/optimize.c
[dab6aee5] {Spesh} Remove duplicate deletion | src/spesh/optimize.c
[6cfafc9c] {Spesh} Delete use of late-bound lexical lookup string | src/spesh/optimize.c
[40c3b0f4] {Spesh} Delete use of eliminated isnull check operand | src/spesh/optimize.c
[68eca063] {Spesh} Delete usage when simplifying a PHI node | src/spesh/optimize.c
[b2b7b220] {Spesh} Another optimize_iffy correction | src/spesh/optimize.c
[181bfa5f] {Spesh} Correct usage update in inline return boxing | src/spesh/inline.c
[8d321e81] {Spesh} Correct handling of inc/dec ops in usage checker | src/spesh/usages.c
[8b1060d0] {Spesh} Don't manipulate usages in spesh args opts | src/spesh/args.c
[810ea365] {Spesh} Delete operand in eliminated reprid lookup | src/spesh/optimize.c
[65e1243f] {Spesh} Do DU chain setup for inserted decont guard | src/spesh/optimize.c
[b16a1295] {Spesh} Detect accidentally deleted writers | src/spesh/usages.c, src/spesh/usages.h
[377bdc68] {Spesh} Correct handling of inc/dec usage | src/spesh/facts.c, src/spesh/usages.c
[36ff789f] {Spesh} Remove outdated comment | src/spesh/dead_bb_elimination.c
[26957e44] {Spesh} Mark throwcat result as dead writier when goto'd | src/spesh/optimize.c
[066d9f82] {Spesh} Add DU chain checks after second stage opts too | src/spesh/optimize.c
[2fb1bd86] {Spesh} Fix dec_u/dec_i handling in BB deletion | src/spesh/manipulate.c
[067b1030] {Spesh} Add a couple of missing use_facts calls | src/spesh/optimize.c
[2bab220a] {Spesh} Decrease instructions kept for potential deopt | src/spesh/optimize.c, src/spesh/usages.c, src/spesh/usages.h
[6cf18415] {Spesh} A new algorithm for removing unrequired `set`s | src/spesh/optimize.c
[45431377] {Spesh} Liberalize set elimination somewhat | src/spesh/optimize.c
[5f8fbec6] {Spesh} Turn off DU chain checks by default | src/spesh/usages.h
[7e625b03] {Spesh} Move OSR point backwards on instruction insertion | src/spesh/manipulate.c
[7e1ab4b2] {Spesh} Sketch out more precise deopt algorithm | src/spesh/dump.c, src/spesh/facts.c, src/spesh/usages.c, src/spesh/usages.h, src/types.h
[df0ecf2b] {Spesh} Add unseen read handling to new deopt algorithm | src/spesh/usages.c
[be56234e] {Spesh} Switch over to using the new deopt use method | src/spesh/facts.c, src/spesh/facts.h, src/spesh/inline.c, src/spesh/optimize.c, src/spesh/usages.c, src/spesh/usages.h
[787b7bb7] {Spesh} Value written by deopt instruction also needed | src/spesh/usages.c
[3345ec36] {Spesh} Fix handling of added deopt points | src/spesh/dump.c, src/spesh/graph.h, src/spesh/optimize.c, src/spesh/usages.c, src/spesh/usages.h
[fc1378ad] {Spesh} Don't repeatedly calcuate if preds are seen | src/spesh/usages.c
[8821a358] {Spesh} Move speshresolve handling into optimize phase | src/spesh/facts.c, src/spesh/optimize.c
[2f807cd5] {Spesh} learn facts from a couple of sp_ ops | src/spesh/facts.c
[fc747c94] {Spesh} Extract frame walking logic from getlexcaller | build/Makefile.in, src/core/frame.c, src/moar.h, src/spesh/frame_walker.c, src/spesh/frame_walker.h, src/types.h
[6ae63d2a] {Spesh} Factor deopt index finding out of deopt all | src/spesh/deopt.c, src/spesh/deopt.h
[198f5e46] {Spesh} Teach frame walker to understand inlines | src/spesh/frame_walker.c, src/spesh/frame_walker.h
[7e3ef550] {Spesh} Sketch out lazy context traversal handling | src/6model/reprs/MVMContext.c, src/6model/reprs/MVMContext.h, src/spesh/frame_walker.c, src/spesh/frame_walker.h
[02cedc15] {Spesh} Fix initialization of frame walker | src/spesh/frame_walker.c
[93b1ee2c] {Spesh} Update context iterator to traverse | src/6model/reprs/MVMContext.c, src/6model/reprs/MVMContext.h, src/6model/reprs/MVMIter.c, src/spesh/frame_walker.c, src/spesh/frame_walker.h
[5b0014f2] {Spesh} Update ctxcode to do context traversal | src/6model/reprs/MVMContext.c, src/6model/reprs/MVMContext.h, src/core/interp.c, src/spesh/frame_walker.c, src/spesh/frame_walker.h
[f428010a] {Spesh} Correct inline handling thinko in move to outer | src/spesh/frame_walker.c
[afe4fc52] {Spesh} Update MVMContext elems for traversal | src/6model/reprs/MVMContext.c, src/spesh/frame_walker.c, src/spesh/frame_walker.h
[4b369ea7] {Spesh} Make getlexrel traverse the MVMContext | src/6model/reprs/MVMContext.c, src/6model/reprs/MVMContext.h, src/core/frame.c, src/core/frame.h, src/core/interp.c, src/spesh/frame_walker.c, src/spesh/frame_walker.h
[51a45614] {Spesh} Fix thinko in caller skip thunks traversal | src/spesh/frame_walker.c
[1518d0ac] {Spesh} Use JIT inline mechanism over deopt indexes | src/spesh/frame_walker.c
[d31cd0f1] {Spesh} Don't miss frames that we traversed too | src/spesh/frame_walker.c, src/spesh/frame_walker.h
[f356e5ac] {Spesh} Fix bind_key to use correct frame in write barrier | src/6model/reprs/MVMContext.c, src/core/frame.c, src/spesh/frame_walker.c, src/spesh/frame_walker.h
[92a7c91c] {Spesh} Missing rooting of test object in evaluate_guards | src/spesh/plugin.c
[39642e24] {Spesh} Improve deopt logging | src/spesh/deopt.c
[23ea67b8] {Spesh} Fix delete motion of INLINE_END annotations | src/spesh/manipulate.c
[389a3a10] {Spesh} Make sure output of spesh resolve gets optimized, too | src/spesh/optimize.c
[a60e53f7] {Spesh} skip to before the prepargs instruction | src/spesh/optimize.c
[aa499923] {Spesh} rechase lexreg each time through the loop | src/spesh/frame_walker.c
[75070903] {Spesh} Make spesh thread more GC-responsive | src/core/threadcontext.h, src/gc/roots.c, src/spesh/candidate.c, src/spesh/graph.c
[51197804] {Spesh} Log return value types under the caller's log ID | src/core/interp.c, src/spesh/log.c, src/spesh/log.h, src/spesh/stats.c
[286b5607] {Spesh} Log return type in return from JIT to unspesh'd | src/jit/core_templates.expr, src/jit/graph.c, src/spesh/log.c, src/spesh/log.h
[0c5f6e52] {Spesh} Don't do worthless type specializations | src/6model/reprs/MVMStaticFrame.h, src/core/validation.c, src/spesh/dump.c, src/spesh/plan.c
[210a4026] {Spesh} Make inline logging available through an env var | src/core/instance.h, src/main.c, src/moar.c, src/spesh/optimize.c
[bfbbb0f7] {Spesh} Do dead instruction elim pass after usage setup | build/Makefile.in, src/moar.h, src/spesh/candidate.c, src/spesh/dead_ins_elimination.c, src/spesh/dead_ins_elimination.h, src/spesh/facts.c, src/spesh/facts.h, src/spesh/inline.c, src/spesh/optimize.c
[4fc267b6] {Spesh} Account for inlines that may cause deopts | src/spesh/graph.h, src/spesh/inline.c, src/spesh/inline.h, src/spesh/optimize.c, src/spesh/usages.c, src/spesh/usages.h
[fba5c6b0] {Spesh} Harden BB deletion annotation motion | src/spesh/dead_bb_elimination.c
[b7c6afd9] {src/mast} Use larger integer time to iterate strings heap | src/mast/compiler.c
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment