qira/web/client/idump.js

57 lines
1.7 KiB
JavaScript
Raw Normal View History

stream = io.connect(STREAM_URL);
2014-07-14 12:14:37 -07:00
2014-09-08 15:48:18 +00:00
// arch is public data
arch = undefined;
function on_arch(msg) { DS("arch");
2014-09-09 12:28:09 +00:00
//p(msg);
2014-09-08 15:48:18 +00:00
arch = msg;
} stream.on("arch", on_arch);
$(document).ready(function() {
$("#idump")[0].addEventListener("mousewheel", function(e) {
2014-08-19 16:37:32 -07:00
//p("idump mousewheel");
if (e.wheelDelta < 0) {
Session.set('clnum', Session.get('clnum')+1);
} else if (e.wheelDelta > 0) {
Session.set('clnum', Session.get('clnum')-1);
}
});
});
2014-08-19 11:38:22 -07:00
function on_instructions(msg) { DS("instructions");
2014-08-19 13:01:08 -07:00
var clnum = Session.get("clnum");
2014-08-19 13:47:28 -07:00
var idump = "";
2014-08-19 13:01:08 -07:00
for (var i = 0; i<msg.length;i++) {
var ins = msg[i];
if (ins.clnum === clnum) {
Session.set('iaddr', ins.address);
}
2014-09-06 17:43:28 +00:00
if (ins.name == undefined) {
ins.name = "";
}
2014-08-19 13:01:08 -07:00
// 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> '+
2014-08-19 18:25:19 -07:00
// hacks, hexdumpdatainstruction for dblclick handler
2014-09-09 13:02:40 +00:00
'<span class="hexdumpdatainstruction addr addr_'+ins.address+'">'+ins.address+'</span> '+
2014-09-09 12:28:09 +00:00
//'<span class="name">'+ins.name+'</span> '+
2014-09-08 15:48:18 +00:00
'<div class="instructiondesc">'+highlight_instruction(ins.instruction)+'</div> '+
2014-08-19 13:01:08 -07:00
'<span class="comment">'+(ins.comment !== undefined ? ins.comment : "")+'</span>'+
'</div>';
}
$('#idump').html(idump);
rehighlight();
2014-09-09 12:28:09 +00:00
replace_names();
2014-08-19 11:38:22 -07:00
} stream.on('instructions', on_instructions);
2014-07-14 12:14:37 -07:00
2014-08-19 11:15:56 -07:00
Deps.autorun(function() { DA("emit getinstructions");
2014-07-17 08:48:29 -07:00
var forknum = Session.get("forknum");
2014-08-19 11:15:56 -07:00
var clnum = Session.get("clnum");
2014-08-04 16:02:25 +00:00
stream.emit('getinstructions', forknum, clnum, clnum-8, clnum+10);
2014-07-14 12:14:37 -07:00
});