From 98fa1718008dfd9c1ff6bb0455862e706b0a52d2 Mon Sep 17 00:00:00 2001 From: Alex Date: Mon, 21 Oct 2019 12:19:17 +0100 Subject: [PATCH] Try an optimisation based on flamegraphs --- lib/collector.js | 23 ++--------------------- 1 file changed, 2 insertions(+), 21 deletions(-) diff --git a/lib/collector.js b/lib/collector.js index 86dfc87..2f0315b 100644 --- a/lib/collector.js +++ b/lib/collector.js @@ -22,9 +22,7 @@ class DataCollector { try { if (this.validOpcodes[info.opcode.name] && info.stack.length > 0){ const idx = info.stack.length - 1; - let hash = web3Utils.toHex(info.stack[idx]).toString(); - hash = this._normalizeHash(hash); - + let hash = "0x" + info.stack[idx].toString(16,64); if(this.instrumentationData[hash]){ this.instrumentationData[hash].hits++; } @@ -32,23 +30,6 @@ class DataCollector { } catch (err) { /*Ignore*/ }; } - /** - * Left-pads zero prefixed bytes 32 hashes to length 66. The '59' in the - * comparison below is arbitrary. It provides a margin for recurring zeros - * but prevents left-padding shorter irrelevant hashes (like fn sigs) - * - * @param {String} hash data hash from evm stack. - * @return {String} 0x prefixed hash of length 66. - */ - _normalizeHash(hash){ - if (hash.length < 66 && hash.length > 59){ - hash = hash.slice(2); - while(hash.length < 64) hash = '0' + hash; - hash = '0x' + hash - } - return hash; - } - /** * Unit test helper * @param {Object} data Instrumenter.instrumentationData @@ -58,4 +39,4 @@ class DataCollector { } } -module.exports = DataCollector; \ No newline at end of file +module.exports = DataCollector;