• mtrofin's avatar
    [assembler] Introduce proper AssemblerBase::Print() for improved debuggability. · ab1d270a
    mtrofin authored
    While working on frame elision, I wanted to disassemble codegen in the
    debugger, as the code generation is progressing. I discovered we had a
     "Print" member on the x64 assembler, without any implementation. I
    pulled it up to AssemblerBase and gave it an implementation that
    should work for the other architectures.
    
    Also checked that ia32, x87, arm and arm64 assemblers didn't have
    such an implementation - free Print.
    
    Arm64 has a naming conflict with the v8::internal::Disassembler. I
    renamed the arm64 type with a more specific name.
    
    Opportunistically fixed a bug in the name converter. This debug-time
    printer doesn't provide a Code object, which should be OK with the
    name converters, by the looks of other APIs there. All this means is that
    when using the Print() API, we just get addresses dumped without any
    context (like what this address may be - a stub maybe, etc). This seems
    fine for the scenario.
    
    There may be other places that assume a Code object. Since this is
    a diagnostics-only scenario, for codegen developers, I feel it is
    reasonable to fix such other places as we find them.
    
    Review URL: https://codereview.chromium.org/1431933003
    
    Cr-Commit-Position: refs/heads/master@{#31869}
    ab1d270a
disasm-arm64.cc 50.3 KB