1 Year Ago
0ms hotload fast path poc when only method bodies change using MonoMod Biggest flaw of this is detecting the changes, Ziks has some good ideas with comparing the AST https://files.facepunch.com/matt/1b2611b1/sbox-dev_My23jH4uYG.mp4 Print individual changes during compile, show node paths WIP check if all changes are in method bodies Add attributes to package assemblies describing changed methods * SupportsILHotloadAttribute is added if only method bodies change * MethodBodyChangeAttribute is added for each changed method Yet to properly support nested declaring types and methods with overloads. ILHotload looks for SupportsILHotload and MethodBodyChange attributes Fixed methods with identical IL not being replaced by ILHotload ILHotload should never run with a debugger attached Clean up dead code Detour using a generated dynamic method copy from the replacing method Documentation for Compiler.SyntaxTree.cs Added CompilerSettings.SourcePathFilter predicate Boilerplate for writing ILHotload tests Fixed how file changes are emulated in FastPathTest