Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

BDN API Compatibility Alert #139

Closed
github-actions bot opened this issue Oct 6, 2022 · 2 comments
Closed

BDN API Compatibility Alert #139

github-actions bot opened this issue Oct 6, 2022 · 2 comments

Comments

@github-actions
Copy link

github-actions bot commented Oct 6, 2022

Workflow BDN API Compatibility Check Run #131

BDN 0.13.2.1928 vs. 0.13.2.1934

ApiCompat

MembersMustExist : BenchmarkDotNet.Attributes.DisassemblyDiagnoserAttribute..ctor(Int32, Boolean, Boolean, Boolean, Boolean, Boolean, Boolean, String[])
MembersMustExist : BenchmarkDotNet.Diagnosers.DisassemblyDiagnoserConfig..ctor(Int32, String[], Formatter, Boolean, Boolean, Boolean, Boolean, Boolean, Boolean)
MembersMustExist : BenchmarkDotNet.Disassemblers.Asm.Instruction.get()
MembersMustExist : BenchmarkDotNet.Disassemblers.Asm.Instruction.set(Instruction)

AsmDiff

BenchmarkDotNet.Attributes
 namespace BenchmarkDotNet.Attributes {
     public class DisassemblyDiagnoserAttribute : Attribute, IConfigSource {
+        public DisassemblyDiagnoserAttribute(int maxDepth = 1, DisassemblySyntax syntax = DisassemblySyntax.Masm, bool printSource = false, bool printInstructionAddresses = false, bool exportGithubMarkdown = true, bool exportHtml = false, bool exportCombinedDisassemblyReport = false, bool exportDiff = false, params string[] filters);
-        public DisassemblyDiagnoserAttribute(int maxDepth = 1, bool printSource = false, bool printInstructionAddresses = false, bool exportGithubMarkdown = true, bool exportHtml = false, bool exportCombinedDisassemblyReport = false, bool exportDiff = false, params string[] filters);
     }
 }
BenchmarkDotNet.Diagnosers
 namespace BenchmarkDotNet.Diagnosers {
     public class DisassemblyDiagnoserConfig {
+        public DisassemblyDiagnoserConfig(int maxDepth = 1, DisassemblySyntax syntax = DisassemblySyntax.Masm, string[] filters = null, FormatterOptions formatterOptions = null, bool printSource = false, bool printInstructionAddresses = false, bool exportGithubMarkdown = true, bool exportHtml = false, bool exportCombinedDisassemblyReport = false, bool exportDiff = false);
-        public DisassemblyDiagnoserConfig(int maxDepth = 1, string[] filters = null, Formatter formatter = null, bool printSource = false, bool printInstructionAddresses = false, bool exportGithubMarkdown = true, bool exportHtml = false, bool exportCombinedDisassemblyReport = false, bool exportDiff = false);
+        public FormatterOptions Formatting { get; }
+        public DisassemblySyntax Syntax { get; }
     }
+    public enum DisassemblySyntax
 }
BenchmarkDotNet.Disassemblers
 namespace BenchmarkDotNet.Disassemblers {
     public class Asm : SourceCode {
+        public Arm64Instruction Arm64Instruction { get; set; }
-        public Instruction Instruction { get; set; }
+        public int InstructionLength { get; set; }
+        public Instruction? IntelInstruction { get; set; }
+        public bool IsReferencedAddressIndirect { get; set; }
+        public ulong? ReferencedAddress { get; set; }
     }
 }

AttrDiff

PublicAPIAttribute
+M:BenchmarkDotNet.Diagnosers.DisassemblyDiagnoserConfig.DisassemblyDiagnoserConfig(int, DisassemblySyntax, string[], FormatterOptions, bool, bool, bool, bool, bool, bool)
-M:BenchmarkDotNet.Diagnosers.DisassemblyDiagnoserConfig.DisassemblyDiagnoserConfig(int, string[], Formatter, bool, bool, bool, bool, bool, bool)

BDN 0.13.2 vs. 0.13.2.1934

Breaking changes. See log artifacts of workflow run for details.

@mawosoft
Copy link
Owner

mawosoft commented Oct 6, 2022

  • BDN >= 0.13.2.1930 uses the Arm64 disassembler package Gee.External.Capstone 2.2.0. Unlike BDN itself, the package is not strong-named, therfore causing a ReflectionTypeLoadException on NetFx (strong-named assembly required).
  • See also (unrelated?) build warning: Could not locate Mono.Posix.

@mawosoft
Copy link
Owner

mawosoft commented Oct 8, 2022

dnceng maintenance dotnet/arcade/issues/11188

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant