mirror of
https://github.com/geohot/qira
synced 2025-03-13 18:43:19 +03:00
that was too beautiful to not code, added trails
This commit is contained in:
parent
6bdf1809ca
commit
96f63f1db8
@ -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");
|
||||
|
@ -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);
|
||||
});
|
||||
|
||||
|
@ -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> ';
|
||||
|
Loading…
x
Reference in New Issue
Block a user