From ea028f93566f8604899fe3281fcdb05f46bff407 Mon Sep 17 00:00:00 2001 From: Ryota Shioya Date: Tue, 25 Feb 2020 16:47:26 +0900 Subject: [PATCH] fix: fix a bug where it crashes when loading some gem5 traces --- op_list.js | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/op_list.js b/op_list.js index 282f5c4..133d8c6 100644 --- a/op_list.js +++ b/op_list.js @@ -34,7 +34,6 @@ class OpListPage { /** @type {Buffer} */ this.compressedData_ = null; this.isCompressed_ = false; - } getOp(id) { @@ -237,9 +236,14 @@ class OpList { let head = pageIndexToID(pageIndex); for (let i = 0; i < PAGE_SIZE; i += CACHE_RESOLUTION) { let op = this.getParsedOp(head + i); - // 一回 JSON にして戻すとかなり容量が減るため - op = JSON.parse(JSON.stringify(op)); - this.cache_[head + i] = op; + if (op) { + // GEM5 の場合,まれに歯抜けになっていることがある + // 中身がからの場合,JSON にできずにエラーになる + + // 一回 JSON にして戻すとかなり容量が減るため + op = JSON.parse(JSON.stringify(op)); + this.cache_[head + i] = op; + } } } this.opPages_[pageIndex].compress();