Changeset 2560 in CLRX


Ignore:
Timestamp:
Nov 10, 2016, 10:34:34 PM (4 years ago)
Author:
matszpk
Message:

CLRadeonExtender: DisasmROCm: include space between a neighboring regions (kernels and datas).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • CLRadeonExtender/trunk/amdasm/DisasmROCm.cpp

    r2559 r2560  
    472472            isaDisassembler->flushOutput();
    473473           
     474            size_t dataSize = rocmInput->codeSize - region.offset;
     475            if (i+1<regionsNum)
     476            {
     477                const ROCmDisasmRegionInput& newRegion =
     478                        rocmInput->regions[sorted[i+1].second];
     479                dataSize = newRegion.offset - region.offset;
     480            }
    474481            if (region.isKernel)
    475482            {
     
    482489                }
    483490               
    484                 size_t disasmSize = rocmInput->codeSize - region.offset-256;
    485                 if (i+1<regionsNum)
    486                 {
    487                     const ROCmDisasmRegionInput& newRegion =
    488                             rocmInput->regions[sorted[i+1].second];
    489                     disasmSize = newRegion.offset - region.offset-256;
    490                 }
    491                
    492491                if (doDumpCode)
    493492                {
    494                     isaDisassembler->setInput(disasmSize, code + region.offset+256,
     493                    isaDisassembler->setInput(dataSize-256, code + region.offset+256,
    495494                                    region.offset+256, region.offset+1);
    496495                    isaDisassembler->setDontPrintLabels(i+1<regionsNum);
    497496                    isaDisassembler->disassemble();
    498497                }
    499                 /* previous position 1 byte after kernel region
    500                  * labels at end will be printed by 'disassemble' */
    501                 prevRegionPos = region.offset + disasmSize + 256 + 1;
     498                prevRegionPos = region.offset + dataSize + 1;
    502499            }
    503500            else if (doDumpData)
     
    506503                output.write(region.regionName.c_str(), region.regionName.size());
    507504                output.write("\n", 1);
    508                 printDisasmData(region.size, code + region.offset, output, true);
    509                 prevRegionPos = region.offset+1; // previous position byte after region
     505                printDisasmData(dataSize, code + region.offset, output, true);
     506                prevRegionPos = region.offset + dataSize;
    510507            }
    511508        }
Note: See TracChangeset for help on using the changeset viewer.