that was too beautiful to not code, added trails

This commit is contained in:
George Hotz 2015-08-26 03:18:15 +00:00
parent 6bdf1809ca
commit 96f63f1db8
3 changed files with 32 additions and 9 deletions

View File

@ -78,12 +78,27 @@ function rehighlight() {
var clnum = Session.get("clnum");
var iaddr = Session.get("iaddr");
var daddr = Session.get("daddr");
var trail = Session.get("trail");
$(".trail").css('background-color', '')
$(".trail").removeClass("trail");
$(".autohighlight").removeClass("autohighlight");
$(".autohighlighti").removeClass("autohighlighti");
$(".clnum_"+clnum).addClass("autohighlight");
$(".addr_"+iaddr).addClass("autohighlighti");
$(".daddr_"+daddr).addClass("autohighlight");
$(".data_"+daddr).addClass("autohighlight");
if (trail !== undefined) {
for (var i = 0; i < trail.length; i++) {
var cldiff = trail[i][0];
if (cldiff <= 0) {
var htrail = $($(".insaddr.addr_"+trail[i][1]).parents(".instruction_static")[0]);
p(cldiff, htrail);
var opacity = ((16+cldiff)/35.0);
htrail.css('background-color', 'rgba(0,0,255,'+opacity+')');
htrail.addClass("trail");
}
}
}
}
Deps.autorun(function() { DA("rehighlight");

View File

@ -10,6 +10,7 @@ function on_arch(msg) { DS("arch");
function on_instructions(msg) { DS("instructions");
var clnum = Session.get("clnum");
var idump = "";
var addrs = [];
for (var i = 0; i<msg.length;i++) {
var ins = msg[i];
@ -22,15 +23,22 @@ function on_instructions(msg) { DS("instructions");
ins.name = "";
}
// track the addresses
addrs.push([ins.clnum-clnum, ins.address]);
// compute the dynamic stuff
idump +=
'<div class="instruction" style="margin-left: '+(ins.depth*10)+'px">'+
'<div class="change '+(ins.slice ? "halfhighlight": "")+' clnum clnum_'+ins.clnum+'">'+ins.clnum+'</div> '+
'<span class="insaddr datainstruction addr addr_'+ins.address+'">'+ins.address+'</span> '+
'<div class="instructiondesc">'+highlight_instruction(ins.instruction)+'</div> '+
'<span class="comment comment_'+ins.address+'">'+(ins.comment !== undefined ? "; "+ins.comment : "")+'</span>'+
'</div>';
// TODO: hacks for trail stuff working
if (i >= 10) {
idump +=
'<div class="instruction" style="margin-left: '+(ins.depth*10)+'px">'+
'<div class="change '+(ins.slice ? "halfhighlight": "")+' clnum clnum_'+ins.clnum+'">'+ins.clnum+'</div> '+
'<span class="insaddr datainstruction addr addr_'+ins.address+'">'+ins.address+'</span> '+
'<div class="instructiondesc">'+highlight_instruction(ins.instruction)+'</div> '+
'<span class="comment comment_'+ins.address+'">'+(ins.comment !== undefined ? "; "+ins.comment : "")+'</span>'+
'</div>';
}
}
Session.set('trail', addrs);
$('#idump').html(idump);
rehighlight();
replace_names();
@ -53,6 +61,6 @@ Deps.autorun(function() { DA("emit getinstructions");
var start = Math.max(maxclnum[0], end-size);
if (maxclnum[0] > (end-size)) end += maxclnum[0] - (end-size) + 1;
stream.emit('getinstructions', forknum, clnum, start, end);
stream.emit('getinstructions', forknum, clnum, start-10, end);
});

View File

@ -16,7 +16,7 @@ Deps.autorun(function() { DA("update static view");
// TODO: this code is replicated in idump.js
function instruction_html_from_tags(ins) {
var idump = '<div class="instruction">';
var idump = '<div class="instruction instruction_static">';
idump += '<span class="insaddr datainstruction addr addr_'+ins.address+'">'+ins.address+'</span> ';
if (ins.instruction !== undefined) {
idump += '<div class="instructiondesc">'+highlight_instruction(ins.instruction)+'</div> ';