Dead code

This commit is contained in:
Fabian 2020-12-31 19:14:32 -06:00
parent b96f984963
commit c835023c0c
5 changed files with 3 additions and 189 deletions

View file

@ -4,8 +4,6 @@ const print_stats = {
stats_to_string: function(cpu)
{
return print_stats.print_misc_stats(cpu) +
print_stats.print_basic_block_duplication(cpu) +
print_stats.print_wasm_basic_block_count_histogram(cpu) +
print_stats.print_instruction_counts(cpu);
},
@ -97,77 +95,6 @@ const print_stats = {
return text;
},
print_basic_block_duplication: function(cpu)
{
let unique = 0;
let total = 0;
let duplicates = 0;
const histogram = [];
const addresses = {};
for(let i = 0; i < JIT_CACHE_ARRAY_SIZE; i++)
{
const address = cpu.wm.exports["jit_get_entry_address"](i);
if(address !== 0)
{
addresses[address] = (addresses[address] || 0) + 1;
}
}
for(let [address, count] of Object.entries(addresses))
{
dbg_assert(count >= 1);
unique++;
total += count;
duplicates += count - 1;
//for(let i = histogram.length; i < count + 1; i++) histogram.push(0);
//histogram[count]++;
}
let text = "";
text += "UNIQUE=" + unique + " DUPLICATES=" + duplicates + " TOTAL=" + total + "\n";
return text;
},
print_wasm_basic_block_count_histogram: function(cpu)
{
let text = "";
let pending_count = 0;
const histogram = Object.create(null);
for(let i = 0; i < JIT_CACHE_ARRAY_SIZE; i++)
{
const length = cpu.wm.exports["jit_get_entry_length"](i);
pending_count += cpu.wm.exports["jit_get_entry_pending"](i);
histogram[length] = (histogram[length] || 0) + 1;
}
let above = 0;
for(let i of Object.keys(histogram))
{
i = +i;
if(i >= 32)
{
above += histogram[i];
}
}
for(let i = 0; i < 32; i++)
{
text += i + ":" + (histogram[i] || 0) + " ";
}
text += "32+:" + above + "\n";
text += "Pending: " + pending_count + "\n";
return text;
},
print_instruction_counts: function(cpu)
{
return [

View file

@ -86,36 +86,6 @@ var
*/
flags_default = 1 << 1,
/**
* bitmask to select non-reserved flags bits
* @const
*/
flags_mask =
flag_carry | flag_parity | flag_adjust | flag_zero | flag_sign | flag_trap | flag_interrupt |
flag_direction | flag_overflow | flag_iopl | flag_nt | flag_rf | flag_vm | flag_ac |
flag_vif | flag_vip | flag_id,
/**
* all arithmetic flags
* @const
*/
flags_all = flag_carry | flag_parity | flag_adjust | flag_zero | flag_sign | flag_overflow,
/**
* opsizes used by get flag functions
*
* @const
*/
OPSIZE_8 = 7,
/** @const */
OPSIZE_16 = 15,
/** @const */
OPSIZE_32 = 31,
/** @const */
PSE_ENABLED = 128,
/** @const */ reg_eax = 0,
/** @const */ reg_ecx = 1,
@ -126,25 +96,6 @@ PSE_ENABLED = 128,
/** @const */ reg_esi = 6,
/** @const */ reg_edi = 7,
/** @const */ reg_ax = 0,
/** @const */ reg_cx = 2,
/** @const */ reg_dx = 4,
/** @const */ reg_bx = 6,
/** @const */ reg_sp = 8,
/** @const */ reg_bp = 10,
/** @const */ reg_si = 12,
/** @const */ reg_di = 14,
/** @const */ reg_al = 0,
/** @const */ reg_cl = 4,
/** @const */ reg_dl = 8,
/** @const */ reg_bl = 12,
/** @const */ reg_ah = 1,
/** @const */ reg_ch = 5,
/** @const */ reg_dh = 9,
/** @const */ reg_bh = 13,
/** @const */ reg_es = 0,
/** @const */ reg_cs = 1,
/** @const */ reg_ss = 2,
@ -320,29 +271,6 @@ var IA32_APIC_BASE_EN = 1 << 11;
/** @const */ var FW_CFG_SIGNATURE_QEMU = 0x554D4551;
/** @const */
var PREFIX_MASK_REP = 0b11000;
/** @const */
var PREFIX_REPZ = 0b01000;
/** @const */
var PREFIX_REPNZ = 0b10000;
/** @const */
var PREFIX_MASK_SEGMENT = 0b111;
/** @const */
var PREFIX_MASK_OPSIZE = 0b100000;
/** @const */
var PREFIX_MASK_ADDRSIZE = 0b1000000;
/** @const */
var PREFIX_F2 = PREFIX_REPNZ; // alias
/** @const */
var PREFIX_F3 = PREFIX_REPZ; // alias
/** @const */
var PREFIX_66 = PREFIX_MASK_OPSIZE; // alias
/** @const */
var MXCSR_MASK = (0xFFFF & ~(1 << 6));
@ -353,11 +281,5 @@ var WASM_TABLE_SIZE = 900;
/** @const */
var WASM_TABLE_OFFSET = 1024;
/** @const */
var JIT_CACHE_ARRAY_SIZE = 0x40000;
/** @const */
const WASM_EXPORT_TABLE_NAME = "__indirect_function_table";
/** @const */
const WASM_PAGE_SIZE = 64 * 1024;

View file

@ -24,7 +24,6 @@ function CPU(bus, wm)
this.memory_size = v86util.view(Uint32Array, memory, 812, 1);
this.mem8 = new Uint8Array(0);
this.mem16 = new Uint16Array(this.mem8.buffer);
this.mem32s = new Int32Array(this.mem8.buffer);
this.segment_is_null = v86util.view(Uint8Array, memory, 724, 8);
@ -54,17 +53,8 @@ function CPU(bus, wm)
this.cr = v86util.view(Int32Array, memory, 580, 8);
/** @type {number} */
this.cr[0] = 0;
/** @type {number} */
this.cr[2] = 0;
/** @type {number} */
this.cr[3] = 0;
/** @type {number} */
this.cr[4] = 0;
// current privilege level
this.cpl = v86util.view(Int32Array, memory, 612, 1);
this.cpl = v86util.view(Uint8Array, memory, 612, 1);
// current operand/address size
this.is_32 = v86util.view(Int32Array, memory, 804, 1);
@ -132,10 +122,6 @@ function CPU(bus, wm)
// registers
this.reg32 = v86util.view(Int32Array, memory, 64, 8);
this.reg16s = v86util.view(Int16Array, memory, 64, 16);
this.reg16 = v86util.view(Uint16Array, memory, 64, 16);
this.reg8s = v86util.view(Int8Array, memory, 64, 32);
this.reg8 = v86util.view(Uint8Array, memory, 64, 32);
this.fpu_st = v86util.view(Int32Array, memory, 1152, 4 * 8);
@ -684,7 +670,7 @@ CPU.prototype.reset = function()
this.switch_cs_real_mode(0xF000);
if(!this.switch_seg(reg_ss, 0x30)) dbg_assert(false);
this.reg16[reg_sp] = 0x100;
this.reg32[reg_esp] = 0x100;
if(this.devices.virtio)
{
@ -724,7 +710,6 @@ CPU.prototype.create_memory = function(size)
const memory_offset = this.allocate_memory(size);
this.mem8 = v86util.view(Uint8Array, this.wm.instance.exports.memory, memory_offset, size);
this.mem16 = v86util.view(Uint16Array, this.wm.instance.exports.memory, memory_offset, size >> 1);
this.mem32s = v86util.view(Uint32Array, this.wm.instance.exports.memory, memory_offset, size >> 2);
};
@ -1992,7 +1977,7 @@ CPU.prototype.cpuid = function()
if(level === 4)
{
dbg_log("cpuid: eax=" + h(this.reg32[reg_eax] >>> 0, 8) + " cl=" + h(this.reg8[reg_cl], 2), LOG_CPU);
dbg_log("cpuid: eax=" + h(this.reg32[reg_eax] >>> 0, 8) + " cl=" + h(this.reg32[reg_ecx] & 0xFF, 2), LOG_CPU);
}
else if(level !== 0 && level !== 2 && level !== (0x80000000 | 0))
{

View file

@ -775,7 +775,6 @@ pub unsafe fn fpu_fchs() {
fpu_write_st(*fpu_stack_ptr as i32, -st0);
}
#[no_mangle]
pub unsafe fn fpu_fabs() {
let st0 = fpu_get_st0();
fpu_write_st(*fpu_stack_ptr as i32, st0.abs());

View file

@ -1160,25 +1160,6 @@ pub fn jit_page_has_code(page: Page) -> bool {
match ctx.page_has_pending_code.get(&page) { Some(&(_, PageState::Compiling { .. })) => true, _ => false }
}
#[no_mangle]
pub fn jit_get_entry_length(_i: u32) -> u32 {
//#[allow(unused_variables)]
//let entry = jit_cache_array::get(i);
//#[cfg(debug_assertions)]
//return entry.len;
//#[cfg(not(debug_assertions))]
0
}
#[no_mangle]
pub fn jit_get_entry_address(_i: u32) -> u32 {
//if cfg!(debug_assertions) { jit_cache_array::get(i).start_addr } else { 0 }
0
}
#[no_mangle]
pub fn jit_get_entry_pending(_i: u32) -> bool {
//if cfg!(debug_assertions) { jit_cache_array::get(i).pending } else { false }
false
}
#[no_mangle]
pub fn jit_get_wasm_table_index_free_list_count() -> u32 {
if cfg!(debug_assertions) {