@pypto/data-compress 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (103) hide show
  1. package/build/.tsbuildinfo +1 -0
  2. package/build/compressor/cjs/.tsbuildinfo +1 -0
  3. package/build/compressor/cjs/index.js +20 -0
  4. package/build/compressor/cjs/index.js.map +1 -0
  5. package/build/compressor/cjs/readCompressedFile.js +22 -0
  6. package/build/compressor/cjs/readCompressedFile.js.map +1 -0
  7. package/build/compressor/cjs/readFileAsArrayBuffer.js +14 -0
  8. package/build/compressor/cjs/readFileAsArrayBuffer.js.map +1 -0
  9. package/build/compressor/cjs/runCompress.js +118 -0
  10. package/build/compressor/cjs/runCompress.js.map +1 -0
  11. package/build/compressor/es/.tsbuildinfo +1 -0
  12. package/build/compressor/es/index.js +4 -0
  13. package/build/compressor/es/index.js.map +1 -0
  14. package/build/compressor/es/readCompressedFile.js +15 -0
  15. package/build/compressor/es/readCompressedFile.js.map +1 -0
  16. package/build/compressor/es/readFileAsArrayBuffer.js +7 -0
  17. package/build/compressor/es/readFileAsArrayBuffer.js.map +1 -0
  18. package/build/compressor/es/runCompress.js +111 -0
  19. package/build/compressor/es/runCompress.js.map +1 -0
  20. package/build/compressor/types/index.d.ts +4 -0
  21. package/build/compressor/types/index.d.ts.map +1 -0
  22. package/build/compressor/types/readCompressedFile.d.ts +3 -0
  23. package/build/compressor/types/readCompressedFile.d.ts.map +1 -0
  24. package/build/compressor/types/readFileAsArrayBuffer.d.ts +2 -0
  25. package/build/compressor/types/readFileAsArrayBuffer.d.ts.map +1 -0
  26. package/build/compressor/types/runCompress.d.ts +18 -0
  27. package/build/compressor/types/runCompress.d.ts.map +1 -0
  28. package/build/reader/cjs/.tsbuildinfo +1 -0
  29. package/build/reader/cjs/getDependenciesReader.js +61 -0
  30. package/build/reader/cjs/getDependenciesReader.js.map +1 -0
  31. package/build/reader/cjs/getEventReader.js +189 -0
  32. package/build/reader/cjs/getEventReader.js.map +1 -0
  33. package/build/reader/cjs/getIndexesTable.js +16 -0
  34. package/build/reader/cjs/getIndexesTable.js.map +1 -0
  35. package/build/reader/cjs/getNumberReader.js +59 -0
  36. package/build/reader/cjs/getNumberReader.js.map +1 -0
  37. package/build/reader/cjs/getNumberReaderWithMask.js +23 -0
  38. package/build/reader/cjs/getNumberReaderWithMask.js.map +1 -0
  39. package/build/reader/cjs/getStringReader.js +23 -0
  40. package/build/reader/cjs/getStringReader.js.map +1 -0
  41. package/build/reader/cjs/index.js +104 -0
  42. package/build/reader/cjs/index.js.map +1 -0
  43. package/build/reader/cjs/isNumbers.js +11 -0
  44. package/build/reader/cjs/isNumbers.js.map +1 -0
  45. package/build/reader/es/.tsbuildinfo +1 -0
  46. package/build/reader/es/getDependenciesReader.js +56 -0
  47. package/build/reader/es/getDependenciesReader.js.map +1 -0
  48. package/build/reader/es/getEventReader.js +185 -0
  49. package/build/reader/es/getEventReader.js.map +1 -0
  50. package/build/reader/es/getIndexesTable.js +12 -0
  51. package/build/reader/es/getIndexesTable.js.map +1 -0
  52. package/build/reader/es/getNumberReader.js +49 -0
  53. package/build/reader/es/getNumberReader.js.map +1 -0
  54. package/build/reader/es/getNumberReaderWithMask.js +18 -0
  55. package/build/reader/es/getNumberReaderWithMask.js.map +1 -0
  56. package/build/reader/es/getStringReader.js +19 -0
  57. package/build/reader/es/getStringReader.js.map +1 -0
  58. package/build/reader/es/index.js +99 -0
  59. package/build/reader/es/index.js.map +1 -0
  60. package/build/reader/es/isNumbers.js +7 -0
  61. package/build/reader/es/isNumbers.js.map +1 -0
  62. package/build/reader/types/getDependenciesReader.d.ts +7 -0
  63. package/build/reader/types/getDependenciesReader.d.ts.map +1 -0
  64. package/build/reader/types/getEventReader.d.ts +10 -0
  65. package/build/reader/types/getEventReader.d.ts.map +1 -0
  66. package/build/reader/types/getIndexesTable.d.ts +5 -0
  67. package/build/reader/types/getIndexesTable.d.ts.map +1 -0
  68. package/build/reader/types/getNumberReader.d.ts +13 -0
  69. package/build/reader/types/getNumberReader.d.ts.map +1 -0
  70. package/build/reader/types/getNumberReaderWithMask.d.ts +5 -0
  71. package/build/reader/types/getNumberReaderWithMask.d.ts.map +1 -0
  72. package/build/reader/types/getStringReader.d.ts +6 -0
  73. package/build/reader/types/getStringReader.d.ts.map +1 -0
  74. package/build/reader/types/index.d.ts +4 -0
  75. package/build/reader/types/index.d.ts.map +1 -0
  76. package/build/reader/types/isNumbers.d.ts +3 -0
  77. package/build/reader/types/isNumbers.d.ts.map +1 -0
  78. package/build/static/swimlane-parser-linux +0 -0
  79. package/build/static/swimlane-parser-mac +0 -0
  80. package/build/static/swimlane-parser.exe +0 -0
  81. package/build/static/swimlane-parser.exe.here +0 -0
  82. package/build/types/.tsbuildinfo +1 -0
  83. package/build/types/BinType.d.ts +2 -0
  84. package/build/types/BinType.d.ts.map +1 -0
  85. package/build/types/CompressedInfo.d.ts +7 -0
  86. package/build/types/CompressedInfo.d.ts.map +1 -0
  87. package/build/types/Logger.d.ts +5 -0
  88. package/build/types/Logger.d.ts.map +1 -0
  89. package/build/types/Meta.d.ts +23 -0
  90. package/build/types/Meta.d.ts.map +1 -0
  91. package/build/types/MetaType.d.ts +5 -0
  92. package/build/types/MetaType.d.ts.map +1 -0
  93. package/build/types/MetaTypeAfter.d.ts +8 -0
  94. package/build/types/MetaTypeAfter.d.ts.map +1 -0
  95. package/build/types/Process.d.ts +6 -0
  96. package/build/types/Process.d.ts.map +1 -0
  97. package/build/types/ProcessAfter.d.ts +5 -0
  98. package/build/types/ProcessAfter.d.ts.map +1 -0
  99. package/build/types/Thread.d.ts +82 -0
  100. package/build/types/Thread.d.ts.map +1 -0
  101. package/build/types/index.d.ts +9 -0
  102. package/build/types/index.d.ts.map +1 -0
  103. package/package.json +70 -0
@@ -0,0 +1,18 @@
1
+ export interface Logger {
2
+ error?(data: LoggerMessage): void;
3
+ warn?(data: LoggerMessage): void;
4
+ log?(data: string): void;
5
+ }
6
+ export interface LoggerMessage {
7
+ file: string;
8
+ message: string;
9
+ }
10
+ export type RunCompress = (args: RunCompressArgs, logger?: Logger) => Promise<void>;
11
+ export interface RunCompressArgs {
12
+ inputPath: string;
13
+ outputPath: string;
14
+ pmuFile?: string;
15
+ topoFile?: string;
16
+ }
17
+ export declare const runCompress: RunCompress;
18
+ //# sourceMappingURL=runCompress.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runCompress.d.ts","sourceRoot":"","sources":["../../../src/compressor/runCompress.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,MAAM;IACrB,KAAK,CAAC,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI,CAAC;IAClC,IAAI,CAAC,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI,CAAC;IACjC,GAAG,CAAC,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,WAAW,GAAG,CACxB,IAAI,EAAE,eAAe,EACrB,MAAM,CAAC,EAAE,MAAM,KACZ,OAAO,CAAC,IAAI,CAAC,CAAC;AAEnB,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAiCD,eAAO,MAAM,WAAW,EAAE,WAuGzB,CAAC"}
@@ -0,0 +1 @@
1
+ {"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../types/BinType.d.ts","../../types/Meta.d.ts","../../types/Thread.d.ts","../../types/Process.d.ts","../../types/MetaType.d.ts","../../types/CompressedInfo.d.ts","../../types/ProcessAfter.d.ts","../../types/MetaTypeAfter.d.ts","../../types/index.d.ts","../../../src/reader/getIndexesTable.ts","../../../src/reader/getNumberReader.ts","../../../src/reader/getDependenciesReader.ts","../../../src/reader/getStringReader.ts","../../../src/reader/getNumberReaderWithMask.ts","../../../src/reader/index.ts","../../../src/reader/getEventReader.ts","../../../src/reader/isNumbers.ts","../../../node_modules/@types/node/compatibility/indexable.d.ts","../../../node_modules/@types/node/compatibility/iterators.d.ts","../../../node_modules/@types/node/compatibility/index.d.ts","../../../node_modules/@types/node/globals.typedarray.d.ts","../../../node_modules/@types/node/buffer.buffer.d.ts","../../../node_modules/@types/node/globals.d.ts","../../../node_modules/@types/node/assert.d.ts","../../../node_modules/@types/node/assert/strict.d.ts","../../../node_modules/@types/node/async_hooks.d.ts","../../../node_modules/@types/node/buffer.d.ts","../../../node_modules/@types/node/child_process.d.ts","../../../node_modules/@types/node/cluster.d.ts","../../../node_modules/@types/node/console.d.ts","../../../node_modules/@types/node/constants.d.ts","../../../node_modules/@types/node/crypto.d.ts","../../../node_modules/@types/node/dgram.d.ts","../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/@types/node/dns.d.ts","../../../node_modules/@types/node/dns/promises.d.ts","../../../node_modules/@types/node/dom-events.d.ts","../../../node_modules/@types/node/domain.d.ts","../../../node_modules/@types/node/events.d.ts","../../../node_modules/@types/node/fs.d.ts","../../../node_modules/@types/node/fs/promises.d.ts","../../../node_modules/@types/node/http.d.ts","../../../node_modules/@types/node/http2.d.ts","../../../node_modules/@types/node/https.d.ts","../../../node_modules/@types/node/inspector.d.ts","../../../node_modules/@types/node/module.d.ts","../../../node_modules/@types/node/net.d.ts","../../../node_modules/@types/node/os.d.ts","../../../node_modules/@types/node/path.d.ts","../../../node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/@types/node/process.d.ts","../../../node_modules/@types/node/punycode.d.ts","../../../node_modules/@types/node/querystring.d.ts","../../../node_modules/@types/node/readline.d.ts","../../../node_modules/@types/node/repl.d.ts","../../../node_modules/@types/node/stream.d.ts","../../../node_modules/@types/node/stream/promises.d.ts","../../../node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/@types/node/stream/web.d.ts","../../../node_modules/@types/node/string_decoder.d.ts","../../../node_modules/@types/node/test.d.ts","../../../node_modules/@types/node/timers.d.ts","../../../node_modules/@types/node/timers/promises.d.ts","../../../node_modules/@types/node/tls.d.ts","../../../node_modules/@types/node/trace_events.d.ts","../../../node_modules/@types/node/tty.d.ts","../../../node_modules/@types/node/url.d.ts","../../../node_modules/@types/node/util.d.ts","../../../node_modules/@types/node/v8.d.ts","../../../node_modules/@types/node/vm.d.ts","../../../node_modules/@types/node/wasi.d.ts","../../../node_modules/@types/node/worker_threads.d.ts","../../../node_modules/@types/node/zlib.d.ts","../../../node_modules/@types/node/index.d.ts","../../../node_modules/@types/decompress/index.d.ts","../../../node_modules/@types/estree/index.d.ts","../../../node_modules/@types/json-schema/index.d.ts","../../../node_modules/@types/eslint/use-at-your-own-risk.d.ts","../../../node_modules/@types/eslint/index.d.ts","../../../node_modules/@eslint/core/dist/cjs/types.d.cts","../../../node_modules/eslint/lib/types/use-at-your-own-risk.d.ts","../../../node_modules/eslint/lib/types/index.d.ts","../../../node_modules/@types/eslint-scope/index.d.ts","../../../node_modules/@types/fs-extra/index.d.ts","../../../node_modules/@types/minimatch/index.d.ts","../../../node_modules/@types/glob/index.d.ts","../../../node_modules/@types/resolve/index.d.ts"],"fileIdsList":[[68,73],[47,51,68,73],[50,68,73],[49,53,68,73],[49,68,73],[48,68,73],[47,48,49,50,51,52,53,54,68,73],[68,73,123],[68,73,120],[68,73,122,128],[68,73,122,123,124],[68,73,125],[68,73,86,120],[68,73,85,86,120,131],[68,70,73],[68,72,73],[73],[68,73,78,105],[68,73,74,85,86,93,102,113],[68,73,74,75,85,93],[64,65,68,73],[68,73,76,114],[68,73,77,78,86,94],[68,73,78,102,110],[68,73,79,81,85,93],[68,73,80],[68,73,81,82],[68,73,85],[68,73,84,85],[68,72,73,85],[68,73,85,86,87,102,113],[68,73,85,86,87,102],[68,73,85,88,93,102,113],[68,73,85,86,88,89,93,102,110,113],[68,73,88,90,102,110,113],[66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119],[68,73,85,91],[68,73,92,113,118],[68,73,81,85,93,102],[68,73,94],[68,73,95],[68,72,73,96],[68,73,97,112,118],[68,73,98],[68,73,99],[68,73,85,100],[68,73,100,101,114,116],[68,73,85,102,103,104],[68,73,102,104],[68,73,102,103],[68,73,105],[68,73,106],[68,73,85,108,109],[68,73,108,109],[68,73,78,93,102,110],[68,73,111],[68,73,93,112],[68,73,88,99,113],[68,73,78,114],[68,73,102,115],[68,73,116],[68,73,117],[68,73,78,85,87,96,102,113,116,118],[68,73,102,119],[68,73,122,126,127],[68,73,128],[55,57,68,73],[55,57,58,59,60,61,68,73],[55,68,73],[48,55,56,68,73],[55,57,62,68,73]],"fileInfos":[{"version":"c430d44666289dae81f30fa7b2edebf186ecc91a2d4c71266ea6ae76388792e1","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"080941d9f9ff9307f7e27a83bcd888b7c8270716c39af943532438932ec1d0b9","affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fb0f136d372979348d59b3f5020b4cdb81b5504192b1cacff5d1fbba29378aa1","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"a680117f487a4d2f30ea46f1b4b7f58bef1480456e18ba53ee85c2746eeca012","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"87b7a710db1eb3e4f3784b5e9ee42a5f32c837bd91f9776e112a4e209fa8db53","impliedFormat":1},{"version":"271ec972fc25d008c237205d8875a946a377e2499f6d79e30c057ea76b5cc77a","impliedFormat":1},{"version":"402408f4060b56e53342b941f2f1a35eaa991766504e00742a9d4bfa7abdcbed","impliedFormat":1},{"version":"deec82b9c6894cff54814d86e38db844bf8e5a5867168d5823661b410a59a36c","impliedFormat":1},{"version":"5f2135143983aff66a7aaa5bd8b8d6ca3c800934d9dd26a2e21cf57bfdeb7edb","impliedFormat":1},{"version":"38807a7dbf6008c583d03df98d2e4dde4001cd80a128c7fe40a9b8690b1c0d75","impliedFormat":1},{"version":"9cb6ad31f545ae438462ddc73251e4ed1abbc055f2848eae291b80dc37a35859","impliedFormat":1},{"version":"996cdeaf2bed598fedd2bdb2da7016329de592b9d05ae1b7bd94941f1d22bfd1","impliedFormat":1},{"version":"cbbdc967e5f9758ffaa5c39c660f8460aaa660b51c54a2ca58885e0df89cb64a","impliedFormat":1},{"version":"8760ba64803f77088dded1355cb02e795313302b5428cb8bb3e891a2f71b4451","signature":"6248acd8482f0b58c41bc2b5aff1ee6734e7484ef36c428c734ee41223b583e8","impliedFormat":1},{"version":"2be0d3e36080ac8cd292578351f42b4f91ab0a473aa1c893071a747e7aac0edc","signature":"5eeadb87499e5da8a723b1658240beba3b4803f0bf882468e5937f9047ff26f7","impliedFormat":1},{"version":"83245a2df03a1f370c7a086b334de3e7a238bff60246be558e25f4850cdb7bee","signature":"a82dfed5a1600ade372c596d1b9c30297b214232174f3f3f757c9dae98c29283","impliedFormat":1},{"version":"760fe126135cefd7417f752afc321e1a84c72eb8c2ffa9fc3f0cf4acb9d46f6f","signature":"6a6de7fb021f8ef68967d8161a8e70e30693b61f802196ab0f45a8e2aba0a6ca","impliedFormat":1},{"version":"75fb065b4c7692ae4b04f4d6e60ba68aca0252a1dadec66b44fd29bd6bd82bc6","signature":"3dfa4bed619148d4d0e474ea90d30c2c3817aeb5f517ad7c713bed8fa89fad56","impliedFormat":1},{"version":"8a09df1c38abf569ce0b58b90c03d57aef628126c2fecde914c0d3b36a0a8b77","signature":"5efc6d78735ef28df15f4d1da3bfb4260fe6ec86f63243c8d8372fafdda1d711","impliedFormat":1},{"version":"caa1a0ab88cc2cb2e580e44edc66c6ad36b5c24cae4d029fe702de6da04ed696","signature":"81cd55454965aa5d2b34e05e590008548859b65ac2a412fa4d3448385b32d9c2","impliedFormat":1},{"version":"60a691845b52018a3051bba4de62f8a6999468085e23e642f9dfecaa79fb04f7","signature":"fe4c9d2e5fc593c5a7865b2eb323a7bca1f45b26770963bf3c5b86152277a4ba","impliedFormat":1},{"version":"ab41ef1f2cdafb8df48be20cd969d875602483859dc194e9c97c8a576892c052","affectsGlobalScope":true,"impliedFormat":1},{"version":"437e20f2ba32abaeb7985e0afe0002de1917bc74e949ba585e49feba65da6ca1","affectsGlobalScope":true,"impliedFormat":1},{"version":"2e864ea827318e5f490863a8cd412744d9ddb175acf488dd02a941703dad1e38","impliedFormat":1},{"version":"a79e62f1e20467e11a904399b8b18b18c0c6eea6b50c1168bf215356d5bebfaf","affectsGlobalScope":true,"impliedFormat":1},{"version":"23301069cfa7a4c6dd68915eeccc7a2ae0bd3018ff4a6288dd9e0c8b4238fab6","affectsGlobalScope":true,"impliedFormat":1},{"version":"df01885cc27c14632a8c38bdeb053295e69209107bb6c53988b78db5f450cb3c","affectsGlobalScope":true,"impliedFormat":1},{"version":"38379fa748cc5d259c96da356a849bd290a159ae218e06ec1daa166850e4bf50","impliedFormat":1},{"version":"7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","impliedFormat":1},{"version":"f51b4042a3ac86f1f707500a9768f88d0b0c1fc3f3e45a73333283dea720cdc6","impliedFormat":1},{"version":"a29bc8aa8cc100d0c09370c03508f1245853efe017bb98699d4c690868371fc7","affectsGlobalScope":true,"impliedFormat":1},{"version":"6f95830ca11e2c7e82235b73dc149e68a0632b41e671724d12adc83a6750746d","impliedFormat":1},{"version":"7aa011cda7cf0b9e87c85d128b2eeac9930bda215b0fee265d8bf2cec039fb5f","impliedFormat":1},{"version":"92ec1aeca4e94bdab04083daa6039f807c0fce8f09bc42e8b24bf49fa5cdbbff","affectsGlobalScope":true,"impliedFormat":1},{"version":"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb","impliedFormat":1},{"version":"8463ab6a156dc96200b3d8b8a52dc8d878f13a6b7404439aa2f911d568132808","impliedFormat":1},{"version":"5289750c112b5dd0e29dfa9089ddbf5d3ed1b544d99731093881e6967f5af4d1","impliedFormat":1},{"version":"7693b90b3075deaccafd5efb467bf9f2b747a3075be888652ef73e64396d8628","impliedFormat":1},{"version":"bd01a987f0fcf2344a405e542ee681e420651eaff1222a5a6e0c02fda52343bc","impliedFormat":1},{"version":"693e50962e90a3548f41bff2c22676e3964212a836022d82e49eca0b20320a38","impliedFormat":1},{"version":"ee1ee365d88c4c6c0c0a5a5701d66ebc27ccd0bcfcfaa482c6e2e7fe7b98edf7","affectsGlobalScope":true,"impliedFormat":1},{"version":"300b0c12998391154d7b9115a85554e91632a3d3e1b66038e98f2b9cb3c1061d","impliedFormat":1},{"version":"222e742815b14d54db034788a7bee2d51197a2588c35b1fbefe04add6393021c","affectsGlobalScope":true,"impliedFormat":1},{"version":"93891e576a698609695e5b8117bb128336e4b7b28772e7d7e38e8075790eb42f","impliedFormat":1},{"version":"69d90a2f13511eeaae271905c8615a93e20335530d1062a93cb04e754e5f04ad","impliedFormat":1},{"version":"d723063c56101b34a7be5b28dbde80a3ae3dfd5e08fd49a3b569473337ead1f9","impliedFormat":1},{"version":"fab49059d6c2026bdb2e53e4e5cde1a39da44e61daff1867c8b3b10b507bfe17","impliedFormat":1},{"version":"5a551275f85bcc4003e543a1951a5b2f682cfba9b2922f65ae0df40ab71724a5","impliedFormat":1},{"version":"22d1a3163b9a961dbe78b0aedbd7bcbc071ce1f31efb76eb013b0aee230fef0e","impliedFormat":1},{"version":"c31695696ade4514cfcbb22799997b690d3dca7fb72beab68fb2e73b6ef450dd","affectsGlobalScope":true,"impliedFormat":1},{"version":"d99ad56d57f2c96daaf4475a8b64344b24dedafdb8f3c32d43552bcc72279a75","impliedFormat":1},{"version":"a101ef17aece908c1029a1bd3f97132794dcff21b4ca0b997d9a633f962c46aa","impliedFormat":1},{"version":"511575e18249b64b90d8f884fdb8a383c767d1a7efccd9d66a4e125a4dc5c462","impliedFormat":1},{"version":"6d8001f2c3b86c4f1de1d45ecb3f87f287ed7313d6999f8c8318cec4f50e6323","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e413bb587e01ba0cb1a87828cc9116669a4a71a61fe3a89b252f86f0c824bc2","affectsGlobalScope":true,"impliedFormat":1},{"version":"9c3d1222e6e3d8c35a4293d7a54d4142ebb8f7f70ec4111b8136df07fdc66169","impliedFormat":1},{"version":"70173c475c6e76ccebc37412b02b2e26f62bf45fc1534c3ebe6d7fa60fb88819","impliedFormat":1},{"version":"87ced739f77d80886ef2b923a7c52c363c549ad8799ae28eb8cc810892f511ad","impliedFormat":1},{"version":"863bc4e31de6c75423bb02da16190d582b0a69b8964b61d45920e5b2cb3832dd","impliedFormat":1},{"version":"849484324695b587f06abee7579641efe061b7338f9694ec410a76f477fe4df3","impliedFormat":1},{"version":"269929a24b2816343a178008ac9ae9248304d92a8ba8e233055e0ed6dbe6ef71","impliedFormat":1},{"version":"6e191fea1db6e9e4fa828259cf489e820ec9170effff57fb081a2f3295db4722","impliedFormat":1},{"version":"49e0da63a2398d2ae88467f60a69b07e594b7777e01120cd9ebcefa1932484cf","impliedFormat":1},{"version":"0435070b07e646b406b1c9b8b1b1878ea6917c32abc47e6435ec26d71212d513","impliedFormat":1},{"version":"f71188f97c9f7d309798ec02a56dd3bf50a4e4d079b3480f275ac13719953898","impliedFormat":1},{"version":"c4454589a0aa92c10d684c8c9584574bc404d1db556d72196cd31f8f7651af1a","affectsGlobalScope":true,"impliedFormat":1},{"version":"b17790866e140a630fa8891d7105c728a1bd60f4e35822e4b345af166a4a728c","impliedFormat":1},{"version":"c50c75f4360f6fc06c4be29dafe28210e15c50cd6b04ad19c4808fa504efb51a","impliedFormat":1},{"version":"d4a1f5f7ee89b2afffd3c74282f8ee65b24266c92b7d40398c12a27054ed745c","impliedFormat":1},{"version":"900b5a9802192bc77eba35a5b87ce770df7b867a6d61772c554058c9ed635386","impliedFormat":1},{"version":"d291d3d16fa252f6d460687491ea2c5c23098c9dc0d3e106b2803fdc98f48f29","affectsGlobalScope":true,"impliedFormat":1},{"version":"f43fcf89d75f13d0908a77cd3fa32b9fd28c915deded9b2778b08f2e242d07a7","affectsGlobalScope":true,"impliedFormat":1},{"version":"b9a616dec7430044ae735250f8d6a7183f5a9fba63f813e3d29dcab819fd7058","impliedFormat":1},{"version":"aebf613f7831125038942eba891005fd25fa5cadcc3e3d13af4768dc7549161f","impliedFormat":1},{"version":"0faee6b555890a1cb106e2adc5d3ffd89545b1da894d474e9d436596d654998f","impliedFormat":1},{"version":"247e5c34784d185bc81442e8b1a371a36c4a5307a766a3725454c0a191b5cfad","impliedFormat":1},{"version":"1c382a6446d63340be549a616ff5142a91653cea45d6d137e25b929130a4f29a","impliedFormat":1},{"version":"9cf81848d806418e203efa6df299e0c5bfb5c137369337b0547117b2f0d44892","impliedFormat":1},{"version":"0cb831c1ce52f3e66e8cf481231ac77aaabaffb8b4f424837fcd106d7fabbf19","impliedFormat":1},{"version":"151ff381ef9ff8da2da9b9663ebf657eac35c4c9a19183420c05728f31a6761d","impliedFormat":1},{"version":"f3d8c757e148ad968f0d98697987db363070abada5f503da3c06aefd9d4248c1","impliedFormat":1},{"version":"a4a39b5714adfcadd3bbea6698ca2e942606d833bde62ad5fb6ec55f5e438ff8","impliedFormat":1},{"version":"bbc1d029093135d7d9bfa4b38cbf8761db505026cc458b5e9c8b74f4000e5e75","impliedFormat":1},{"version":"ac450542cbfd50a4d7bf0f3ec8aeedb9e95791ecc6f2b2b19367696bd303e8c6","impliedFormat":1},{"version":"8a190298d0ff502ad1c7294ba6b0abb3a290fc905b3a00603016a97c363a4c7a","impliedFormat":1},{"version":"3cf631a6ae0060fddf4898c816958e39f47e16570faf7bc7048c774c83cd7a7e","impliedFormat":1},{"version":"1f68ab0e055994eb337b67aa87d2a15e0200951e9664959b3866ee6f6b11a0fe","impliedFormat":1},{"version":"a13b9bb3e49bc162bb03870f3409474c58bb04a5e60618c305c7842f8a7b251c","impliedFormat":1},{"version":"963d59066dd6742da1918a6213a209bcc205b8ee53b1876ee2b4e6d80f97c85e","impliedFormat":1},{"version":"fd326577c62145816fe1acc306c734c2396487f76719d3785d4e825b34540b33","impliedFormat":1},{"version":"8baa5d0febc68db886c40bf341e5c90dc215a90cd64552e47e8184be6b7e3358","impliedFormat":1}],"root":[[56,63]],"options":{"allowJs":true,"allowSyntheticDefaultImports":true,"checkJs":true,"composite":true,"declarationDir":"../types","declarationMap":true,"esModuleInterop":true,"experimentalDecorators":true,"module":100,"noFallthroughCasesInSwitch":true,"noImplicitAny":true,"noImplicitOverride":true,"noImplicitThis":true,"noPropertyAccessFromIndexSignature":true,"noStrictGenericChecks":false,"noUncheckedIndexedAccess":true,"outDir":"./","rootDir":"../../../src/reader","skipLibCheck":true,"sourceMap":true,"strict":true,"target":7,"tsBuildInfoFile":"./.tsbuildinfo","useUnknownInCatchVariables":true},"referencedMap":[[47,1],[52,2],[48,1],[51,3],[54,4],[50,5],[53,5],[49,6],[55,7],[126,8],[121,9],[129,10],[125,11],[124,12],[122,1],[130,13],[132,14],[123,1],[131,1],[70,15],[71,15],[72,16],[68,17],[73,18],[74,19],[75,20],[66,21],[64,1],[65,1],[76,22],[77,23],[78,24],[79,25],[80,26],[81,27],[82,27],[83,28],[84,29],[85,30],[86,31],[87,32],[69,1],[67,1],[88,33],[89,34],[90,35],[120,36],[91,37],[92,38],[93,39],[94,40],[95,41],[96,42],[97,43],[98,44],[99,45],[100,46],[101,47],[102,48],[104,49],[103,50],[105,51],[106,52],[107,1],[108,53],[109,54],[110,55],[111,56],[112,57],[113,58],[114,59],[115,60],[116,61],[117,62],[118,63],[119,64],[133,1],[128,65],[127,66],[45,1],[46,1],[8,1],[10,1],[9,1],[2,1],[11,1],[12,1],[13,1],[14,1],[15,1],[16,1],[17,1],[18,1],[3,1],[19,1],[20,1],[4,1],[21,1],[25,1],[22,1],[23,1],[24,1],[26,1],[27,1],[28,1],[5,1],[29,1],[30,1],[31,1],[32,1],[6,1],[36,1],[33,1],[34,1],[35,1],[37,1],[7,1],[38,1],[43,1],[44,1],[39,1],[40,1],[41,1],[42,1],[1,1],[58,67],[62,68],[56,69],[57,70],[60,67],[59,70],[61,71],[63,6]],"latestChangedDtsFile":"../types/isNumbers.d.ts","version":"5.9.3"}
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getDependenciesReader = void 0;
4
+ exports.binarySearch = binarySearch;
5
+ function binarySearch(arr, val) {
6
+ let start = 1 | 0;
7
+ if (val < arr[start])
8
+ return 0;
9
+ let end = (arr.length - 1) | 0;
10
+ if (arr[end] <= val)
11
+ return end;
12
+ while (start + 1 < end) {
13
+ const mid = (start + end) >> 1;
14
+ const midVal = arr[mid];
15
+ if (val === midVal)
16
+ return mid;
17
+ if (val < midVal)
18
+ end = mid;
19
+ else
20
+ start = mid;
21
+ }
22
+ return start;
23
+ }
24
+ const getDependenciesReader = (psValues, psSize, spThreads, xBaseIndex) => {
25
+ if (xBaseIndex.length == 0)
26
+ throw new Error("runtime error: xBaseIndex.length == 0");
27
+ const psValuesStart = new Uint32Array(psSize.length);
28
+ for (let i = 0, s = 0; i < psSize.length; i++) {
29
+ psValuesStart[i] = s;
30
+ s += psSize[i];
31
+ }
32
+ return (index) => {
33
+ const pl = psSize[index * 2];
34
+ const sl = psSize[index * 2 + 1];
35
+ const pBase = psValuesStart[index * 2];
36
+ const sBase = psValuesStart[index * 2 + 1];
37
+ const predecessors = new Array(pl);
38
+ const successors = new Array(sl);
39
+ for (let i = 0; i < sl; i++) {
40
+ const pEvent = psValues[sBase + i];
41
+ const tn = binarySearch(xBaseIndex, pEvent);
42
+ const evIdx = pEvent - xBaseIndex[tn];
43
+ const thread = spThreads[tn];
44
+ if (evIdx >= thread.eventCount)
45
+ throw new Error(`evIdx(${evIdx}) >= thread.eventCount(thread.eventCount)`);
46
+ successors[i] = thread.getEvent(evIdx);
47
+ }
48
+ for (let i = 0; i < pl; i++) {
49
+ const pEvent = psValues[pBase + i];
50
+ const tn = binarySearch(xBaseIndex, pEvent);
51
+ const evIdx = pEvent - xBaseIndex[tn];
52
+ const thread = spThreads[tn];
53
+ if (evIdx >= thread.eventCount)
54
+ throw new Error(`evIdx(${evIdx}) >= thread.eventCount(thread.eventCount)`);
55
+ predecessors[i] = thread.getEvent(evIdx);
56
+ }
57
+ return { successors, predecessors };
58
+ };
59
+ };
60
+ exports.getDependenciesReader = getDependenciesReader;
61
+ //# sourceMappingURL=getDependenciesReader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getDependenciesReader.js","sourceRoot":"","sources":["../../../src/reader/getDependenciesReader.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,189 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getEventReader = void 0;
4
+ const getNumberReader_js_1 = require("./getNumberReader.js");
5
+ const getStringReader_js_1 = require("./getStringReader.js");
6
+ const getNumberReaderWithMask_js_1 = require("./getNumberReaderWithMask.js");
7
+ const getDependenciesReader_js_1 = require("./getDependenciesReader.js");
8
+ const index_js_1 = require("./index.js");
9
+ const FAKE_CORE_KEYWORD = "Fake Core";
10
+ const noSP = { predecessors: [], successors: [] };
11
+ const noSpReader = () => noSP;
12
+ const getEventReader = (process, thread, bin, spThreads, spIndex) => {
13
+ const { pid } = process;
14
+ const { eventCount, ph, threadName, tid, ts } = thread;
15
+ const isFakeCore = threadName.includes(FAKE_CORE_KEYWORD);
16
+ const isCounter = ph === "C";
17
+ const addGeneralFields = (obj) => ({
18
+ isCounter,
19
+ isFakeCore,
20
+ ph,
21
+ pid,
22
+ threadName,
23
+ tid,
24
+ ...obj,
25
+ });
26
+ const tsBuffer = (0, getNumberReader_js_1.getValuesArray)(bin, ts);
27
+ if (thread.ph === "C") {
28
+ const argsNumber = (0, getNumberReader_js_1.getIndexedReader)(eventCount, bin, thread.argValue);
29
+ return (index) => addGeneralFields({
30
+ name: threadName,
31
+ ts: tsBuffer[index],
32
+ args: {
33
+ [thread.argKey]: argsNumber(index),
34
+ },
35
+ });
36
+ }
37
+ const dependenciesReader = (0, index_js_1.isThreadSp)(thread)
38
+ && thread.psValues !== undefined
39
+ && thread.psSize !== undefined
40
+ ? (0, getDependenciesReader_js_1.getDependenciesReader)((0, getNumberReader_js_1.getUint32Array)(bin, thread.psValues), (0, getNumberReader_js_1.getIntArray)(bin, thread.psSize), spThreads, spIndex)
41
+ : noSpReader;
42
+ const originalIndexBuffer = (0, getNumberReader_js_1.getInt32Array)(bin, thread.originalIndex);
43
+ const nameReader = (0, getStringReader_js_1.getStringReader)(eventCount, bin, thread.name);
44
+ const { argKeys } = thread;
45
+ const argKeysReader = {
46
+ color: (0, getStringReader_js_1.getStringReader)(eventCount, bin, argKeys?.color),
47
+ "event-hint": (0, getStringReader_js_1.getStringReader)(eventCount, bin, argKeys?.["event-hint"]),
48
+ "execution-hint": (0, getStringReader_js_1.getStringReader)(eventCount, bin, argKeys?.["execution-hint"]),
49
+ "ioperand-hint": (0, getStringReader_js_1.getStringReader)(eventCount, bin, argKeys?.["ioperand-hint"]),
50
+ "ooperand-hint": (0, getStringReader_js_1.getStringReader)(eventCount, bin, argKeys?.["ooperand-hint"]),
51
+ "ascend-hint": (0, getStringReader_js_1.getStringReader)(eventCount, bin, argKeys?.["ascend-hint"]),
52
+ seqNo: (0, getNumberReader_js_1.getIndexedReader)(eventCount, bin, argKeys?.seqNo),
53
+ taskId: (0, getNumberReader_js_1.getIndexedReader)(eventCount, bin, argKeys?.taskId),
54
+ };
55
+ let leafIndicesReader = undefined;
56
+ if (thread.leafIndices) {
57
+ const mask = thread.leafIndices.m === undefined ? undefined
58
+ : (0, getNumberReader_js_1.getUint32Array)(bin, thread.leafIndices.m);
59
+ leafIndicesReader = (0, getNumberReaderWithMask_js_1.getMaskedIndexedReader)(eventCount, bin, mask, thread.leafIndices.v);
60
+ }
61
+ let pmuInfoReader = undefined;
62
+ let pmuArrays = undefined;
63
+ if (thread.pmu) {
64
+ const mask = thread.pmu.m === undefined ? undefined
65
+ : (0, getNumberReader_js_1.getUint32Array)(bin, thread.pmu.m);
66
+ pmuArrays = {
67
+ tc: (0, getNumberReader_js_1.getIntArray)(bin, thread.pmu.tc),
68
+ vbc: (0, getNumberReader_js_1.getIntArray)(bin, thread.pmu.vbc),
69
+ cbc: (0, getNumberReader_js_1.getIntArray)(bin, thread.pmu.cbc),
70
+ sbc: (0, getNumberReader_js_1.getIntArray)(bin, thread.pmu.sbc),
71
+ m1bc: (0, getNumberReader_js_1.getIntArray)(bin, thread.pmu.m1bc),
72
+ m2bc: (0, getNumberReader_js_1.getIntArray)(bin, thread.pmu.m2bc),
73
+ m3bc: (0, getNumberReader_js_1.getIntArray)(bin, thread.pmu.m3bc),
74
+ im: (0, getNumberReader_js_1.getIntArray)(bin, thread.pmu.im),
75
+ ir: (0, getNumberReader_js_1.getIntArray)(bin, thread.pmu.ir)
76
+ };
77
+ pmuInfoReader = {
78
+ "total cycle": (0, getNumberReaderWithMask_js_1.getMaskedIndexedReaderA)(eventCount, pmuArrays.tc, mask),
79
+ vec_busy_cycles: (0, getNumberReaderWithMask_js_1.getMaskedIndexedReaderA)(eventCount, pmuArrays.vbc, mask),
80
+ cube_busy_cycles: (0, getNumberReaderWithMask_js_1.getMaskedIndexedReaderA)(eventCount, pmuArrays.cbc, mask),
81
+ scalar_busy_cycles: (0, getNumberReaderWithMask_js_1.getMaskedIndexedReaderA)(eventCount, pmuArrays.sbc, mask),
82
+ mte1_busy_cycles: (0, getNumberReaderWithMask_js_1.getMaskedIndexedReaderA)(eventCount, pmuArrays.m1bc, mask),
83
+ mte2_busy_cycles: (0, getNumberReaderWithMask_js_1.getMaskedIndexedReaderA)(eventCount, pmuArrays.m2bc, mask),
84
+ mte3_busy_cycles: (0, getNumberReaderWithMask_js_1.getMaskedIndexedReaderA)(eventCount, pmuArrays.m3bc, mask),
85
+ icache_miss: (0, getNumberReaderWithMask_js_1.getMaskedIndexedReaderA)(eventCount, pmuArrays.im, mask),
86
+ icache_req: (0, getNumberReaderWithMask_js_1.getMaskedIndexedReaderA)(eventCount, pmuArrays.ir, mask)
87
+ };
88
+ }
89
+ thread.computeLines = () => {
90
+ if (thread.lines)
91
+ return thread.lines;
92
+ const lines = new Uint32Array(eventCount);
93
+ if (isFakeCore) {
94
+ thread.lines = lines;
95
+ return lines;
96
+ }
97
+ const lineTop = [0];
98
+ let nLines = 1 | 0, l;
99
+ for (let i = 0; i < eventCount; i++) {
100
+ const ts0 = tsBuffer[i * 2];
101
+ const ts1 = ts0 + tsBuffer[i * 2 + 1];
102
+ for (l = 0 | 0; l < nLines; l++) {
103
+ const lTop = lineTop[l];
104
+ if (lTop <= ts0) {
105
+ lines[i] = l;
106
+ lineTop[l] = ts1;
107
+ break;
108
+ }
109
+ }
110
+ if (l == nLines) {
111
+ lineTop.push(ts1);
112
+ lines[i] = l;
113
+ nLines++;
114
+ }
115
+ }
116
+ thread.lines = lines;
117
+ return lines;
118
+ };
119
+ thread.computePmuTotal = () => {
120
+ if (pmuArrays === undefined)
121
+ return undefined;
122
+ const p = {
123
+ 'total cycle': 0, vec_busy_cycles: 0, cube_busy_cycles: 0,
124
+ scalar_busy_cycles: 0, mte1_busy_cycles: 0, mte2_busy_cycles: 0,
125
+ mte3_busy_cycles: 0, icache_miss: 0, icache_req: 0,
126
+ vec_ratio: 0, cube_ratio: 0, scalar_ratio: 0,
127
+ mte1_ratio: 0, mte2_ratio: 0, mte3_ratio: 0,
128
+ icache_hit: 0,
129
+ };
130
+ const { tc, vbc, cbc, sbc, m1bc, m2bc, m3bc, im, ir } = pmuArrays;
131
+ const n = pmuArrays.tc.length;
132
+ for (var i = 0; i < n; i++) {
133
+ p["total cycle"] += tc[i];
134
+ p.vec_busy_cycles += vbc[i];
135
+ p.cube_busy_cycles += cbc[i];
136
+ p.scalar_busy_cycles += sbc[i];
137
+ p.mte1_busy_cycles += m1bc[i];
138
+ p.mte2_busy_cycles += m2bc[i];
139
+ p.mte3_busy_cycles += m3bc[i];
140
+ p.icache_miss += im[i];
141
+ p.icache_req += ir[i];
142
+ }
143
+ return p;
144
+ };
145
+ return (index) => {
146
+ const args = Object.fromEntries(Object.entries(argKeysReader).map(([k, v]) => [k, v(index)]));
147
+ let pmu_info = pmuInfoReader === undefined ? undefined : Object.fromEntries(Object.entries(pmuInfoReader).map(([k, v]) => [k, v(index)]));
148
+ const pmu_calc_info = pmu_info === undefined ? undefined : {
149
+ vec_ratio: pmu_info["vec_busy_cycles"] / pmu_info['total cycle'],
150
+ cube_ratio: pmu_info["cube_busy_cycles"] / pmu_info['total cycle'],
151
+ scalar_ratio: pmu_info["scalar_busy_cycles"] / pmu_info['total cycle'],
152
+ mte1_ratio: pmu_info["mte1_busy_cycles"] / pmu_info['total cycle'],
153
+ mte2_ratio: pmu_info["mte2_busy_cycles"] / pmu_info['total cycle'],
154
+ mte3_ratio: pmu_info["mte3_busy_cycles"] / pmu_info['total cycle'],
155
+ icache_hit: 1 - pmu_info["icache_miss"] / pmu_info["icache_req"]
156
+ };
157
+ pmu_info = { ...pmu_info, ...pmu_calc_info };
158
+ const originalIndex = originalIndexBuffer[index];
159
+ const id = `event_${String(originalIndex)}`;
160
+ const ts = tsBuffer[index * 2];
161
+ const dur = tsBuffer[index * 2 + 1];
162
+ const name = nameReader(index);
163
+ const line = undefined;
164
+ const leafIndex = leafIndicesReader === undefined ? undefined : leafIndicesReader(index);
165
+ const endTime = ts + dur;
166
+ return addGeneralFields({
167
+ args,
168
+ ts,
169
+ dur,
170
+ endTime,
171
+ id,
172
+ line,
173
+ leafIndex,
174
+ name,
175
+ originalIndex,
176
+ // duplicated fields
177
+ renderDuration: dur,
178
+ renderEndTime: endTime,
179
+ renderStartTime: ts,
180
+ startTime: ts,
181
+ duration: dur,
182
+ pmu_info,
183
+ pmu_calc_info,
184
+ getDependencies: () => dependenciesReader(index)
185
+ });
186
+ };
187
+ };
188
+ exports.getEventReader = getEventReader;
189
+ //# sourceMappingURL=getEventReader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getEventReader.js","sourceRoot":"","sources":["../../../src/reader/getEventReader.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getIndexTable = exports.MAX_UINT16_VALUE = exports.MAX_UINT8_VALUE = void 0;
4
+ exports.MAX_UINT8_VALUE = 256;
5
+ exports.MAX_UINT16_VALUE = 65536;
6
+ const getIndexTable = (l, bin, offset, length) => {
7
+ if (l <= exports.MAX_UINT8_VALUE) {
8
+ return new Uint8Array(bin, offset, length / Uint8Array.BYTES_PER_ELEMENT);
9
+ }
10
+ if (l <= exports.MAX_UINT16_VALUE) {
11
+ return new Uint16Array(bin, offset, length / Uint16Array.BYTES_PER_ELEMENT);
12
+ }
13
+ return new Uint32Array(bin, offset, length / Uint32Array.BYTES_PER_ELEMENT);
14
+ };
15
+ exports.getIndexTable = getIndexTable;
16
+ //# sourceMappingURL=getIndexesTable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getIndexesTable.js","sourceRoot":"","sources":["../../../src/reader/getIndexesTable.ts"],"names":[],"mappings":";;;AAEa,QAAA,eAAe,GAAG,GAAG,CAAC;AACtB,QAAA,gBAAgB,GAAG,KAAK,CAAC;AAE/B,MAAM,aAAa,GAAG,CAC3B,CAAS,EACT,GAAY,EACZ,MAAc,EACd,MAAc,EACd,EAAE;IACF,IAAI,CAAC,IAAI,uBAAe,EAAE,CAAC;QACzB,OAAO,IAAI,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,GAAG,UAAU,CAAC,iBAAiB,CAAC,CAAC;IAC5E,CAAC;IAED,IAAI,CAAC,IAAI,wBAAgB,EAAE,CAAC;QAC1B,OAAO,IAAI,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,GAAG,WAAW,CAAC,iBAAiB,CAAC,CAAC;IAC9E,CAAC;IAED,OAAO,IAAI,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,GAAG,WAAW,CAAC,iBAAiB,CAAC,CAAC;AAC9E,CAAC,CAAC;AAfW,QAAA,aAAa,iBAexB"}
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getValuesArray = exports.getIntArray = exports.getIndexedReader = exports.findMax = exports.getUint8Array = exports.getUint32Array = exports.getInt32Array = void 0;
4
+ const getIndexesTable_js_1 = require("./getIndexesTable.js");
5
+ const getInt32Array = (bin, params) => new Int32Array(bin, params.p, params.l / Int32Array.BYTES_PER_ELEMENT);
6
+ exports.getInt32Array = getInt32Array;
7
+ const getUint32Array = (bin, params) => new Uint32Array(bin, params.p, params.l / Uint32Array.BYTES_PER_ELEMENT);
8
+ exports.getUint32Array = getUint32Array;
9
+ const getUint8Array = (bin, params) => new Uint8Array(bin, params.p, params.l / Uint8Array.BYTES_PER_ELEMENT);
10
+ exports.getUint8Array = getUint8Array;
11
+ const findMax = (array) => {
12
+ let maxValue = -Infinity;
13
+ for (const value of array) {
14
+ if (value > maxValue) {
15
+ maxValue = value;
16
+ }
17
+ }
18
+ return maxValue;
19
+ };
20
+ exports.findMax = findMax;
21
+ const getIndexedReader = (eventCount, bin, params) => {
22
+ if (!params) {
23
+ return () => undefined;
24
+ }
25
+ const values = (0, exports.getValuesArray)(bin, params.v);
26
+ if (values.length === 1) {
27
+ return () => values[0];
28
+ }
29
+ if (values.length === eventCount) {
30
+ return (index) => values[index];
31
+ }
32
+ const { i } = params;
33
+ if (i) {
34
+ const indexTable = (0, getIndexesTable_js_1.getIndexTable)(values.length, bin, i.p, i.l);
35
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
36
+ // @ts-expect-error
37
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-return
38
+ return (index) => values[indexTable[index]];
39
+ }
40
+ return (index) => values[index];
41
+ };
42
+ exports.getIndexedReader = getIndexedReader;
43
+ const getIntArray = (bin, v) => {
44
+ if (v.t === "u32" /* NumberType.u32 */)
45
+ return new Uint32Array(bin, v.p, v.l / 4);
46
+ if (v.t === "u16" /* NumberType.u16 */)
47
+ return new Uint16Array(bin, v.p, v.l / 2);
48
+ if (v.t === "u8" /* NumberType.u8 */)
49
+ return new Uint8Array(bin, v.p, v.l);
50
+ return new Int32Array(bin, v.p, v.l / 4);
51
+ };
52
+ exports.getIntArray = getIntArray;
53
+ const getValuesArray = (bin, v) => {
54
+ if (v.t === "f64" /* NumberType.f64 */)
55
+ return new Float64Array(bin, v.p, v.l / 8);
56
+ return (0, exports.getIntArray)(bin, v);
57
+ };
58
+ exports.getValuesArray = getValuesArray;
59
+ //# sourceMappingURL=getNumberReader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getNumberReader.js","sourceRoot":"","sources":["../../../src/reader/getNumberReader.ts"],"names":[],"mappings":";;;AASA,6DAAqD;AAO9C,MAAM,aAAa,GAAG,CAAC,GAAY,EAAE,MAAe,EAAc,EAAE,CACzE,IAAI,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,UAAU,CAAC,iBAAiB,CAAC,CAAC;AAD5D,QAAA,aAAa,iBAC+C;AAElE,MAAM,cAAc,GAAG,CAAC,GAAY,EAAE,MAAe,EAAe,EAAE,CAC3E,IAAI,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,WAAW,CAAC,iBAAiB,CAAC,CAAC;AAD9D,QAAA,cAAc,kBACgD;AAEpE,MAAM,aAAa,GAAG,CAAC,GAAY,EAAE,MAAe,EAAc,EAAE,CACvE,IAAI,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,UAAU,CAAC,iBAAiB,CAAC,CAAC;AAD9D,QAAA,aAAa,iBACiD;AAEpE,MAAM,OAAO,GAAG,CAAC,KAAkB,EAAE,EAAE;IAC5C,IAAI,QAAQ,GAAG,CAAC,QAAQ,CAAC;IAEzB,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;QAC1B,IAAI,KAAK,GAAG,QAAQ,EAAE,CAAC;YACrB,QAAQ,GAAG,KAAK,CAAC;QACnB,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAVW,QAAA,OAAO,WAUlB;AAEK,MAAM,gBAAgB,GAAG,CAC9B,UAAkB,EAAE,GAAY,EAAE,MAAuB,EAC3C,EAAE;IAChB,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,GAAG,EAAE,CAAC,SAAS,CAAC;IACzB,CAAC;IAED,MAAM,MAAM,GAAG,IAAA,sBAAc,EAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IAE7C,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACzB,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;QACjC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IAED,MAAM,EAAE,CAAC,EAAE,GAAG,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,CAAC;QACN,MAAM,UAAU,GAAG,IAAA,kCAAa,EAAC,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAE/D,6DAA6D;QAC7D,mBAAmB;QACnB,+DAA+D;QAC/D,OAAO,CAAC,KAAa,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;IACtD,CAAC;IAED,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAClC,CAAC,CAAC;AA5BW,QAAA,gBAAgB,oBA4B3B;AAEK,MAAM,WAAW,GAAG,CAAC,GAAY,EAAE,CAAY,EAAC,EAAE;IACvD,IAAI,CAAC,CAAC,CAAC,+BAAmB;QACxB,OAAO,IAAI,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAE5C,IAAI,CAAC,CAAC,CAAC,+BAAmB;QACxB,OAAO,IAAI,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAE5C,IAAI,CAAC,CAAC,CAAC,6BAAkB;QACvB,OAAO,IAAI,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAEvC,OAAO,IAAI,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AAC3C,CAAC,CAAA;AAXY,QAAA,WAAW,eAWvB;AAEM,MAAM,cAAc,GAAG,CAAC,GAAY,EAAE,CAAY,EAAgB,EAAE;IACzE,IAAI,CAAC,CAAC,CAAC,+BAAmB;QACxB,OAAO,IAAI,YAAY,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAE7C,OAAO,IAAA,mBAAW,EAAC,GAAG,EAAE,CAAC,CAAC,CAAC;AAC7B,CAAC,CAAC;AALW,QAAA,cAAc,kBAKzB"}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getMaskedIndexedReader = exports.getMaskedIndexedReaderA = void 0;
4
+ const getNumberReader_js_1 = require("./getNumberReader.js");
5
+ const getMaskedIndexedReaderA = (eventCount, array, mask) => {
6
+ if (!mask)
7
+ return (n) => array[n];
8
+ const present = (index) => (((mask[(index / 32) | 0] ?? 0) >> (index % 32)) & 1) === 1;
9
+ const result = new Array(eventCount);
10
+ for (let i = 0, j = 0; i < eventCount; i++) {
11
+ if (present(i))
12
+ result[i] = array[j++];
13
+ }
14
+ return (n) => result[n];
15
+ };
16
+ exports.getMaskedIndexedReaderA = getMaskedIndexedReaderA;
17
+ const getMaskedIndexedReader = (eventCount, bin, mask, values) => {
18
+ return values
19
+ ? (0, exports.getMaskedIndexedReaderA)(eventCount, (0, getNumberReader_js_1.getIntArray)(bin, values), mask)
20
+ : () => undefined;
21
+ };
22
+ exports.getMaskedIndexedReader = getMaskedIndexedReader;
23
+ //# sourceMappingURL=getNumberReaderWithMask.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getNumberReaderWithMask.js","sourceRoot":"","sources":["../../../src/reader/getNumberReaderWithMask.ts"],"names":[],"mappings":";;;AAAA,6DAA4E;AAGrE,MAAM,uBAAuB,GAAG,CACrC,UAAkB,EAClB,KAAkB,EAClB,IAAkB,EACJ,EAAE;IACd,IAAI,CAAC,IAAI;QAAE,OAAO,CAAC,CAAS,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAE1C,MAAM,OAAO,GAAG,CAAC,KAAa,EAAE,EAAE,CAChC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAA;IAE7D,MAAM,MAAM,GAAG,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC;IACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;QACzC,IAAI,OAAO,CAAC,CAAC,CAAC;YAAE,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;IAC3C,CAAC;IACD,OAAO,CAAC,CAAS,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AACpC,CAAC,CAAA;AAfY,QAAA,uBAAuB,2BAenC;AAEM,MAAM,sBAAsB,GAAG,CAClC,UAAkB,EAClB,GAAY,EACZ,IAAkB,EAClB,MAAgB,EACJ,EAAE;IACd,OAAO,MAAM;QACX,CAAC,CAAC,IAAA,+BAAuB,EAAC,UAAU,EAAE,IAAA,gCAAW,EAAC,GAAG,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC;QACrE,CAAC,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC;AACxB,CAAC,CAAA;AATY,QAAA,sBAAsB,0BASlC"}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getStringReader = void 0;
4
+ const getIndexesTable_js_1 = require("./getIndexesTable.js");
5
+ const getStringReader = (eventCount, bin, params) => {
6
+ if (!params) {
7
+ return () => undefined;
8
+ }
9
+ const { i, v } = params;
10
+ if (v.length === 1) {
11
+ return () => v[0];
12
+ }
13
+ if (v.length === eventCount || !i) {
14
+ return (index) => v[index];
15
+ }
16
+ const indexTable = (0, getIndexesTable_js_1.getIndexTable)(v.length, bin, i.p, i.l);
17
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
18
+ // @ts-expect-error
19
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-return
20
+ return (index) => v[indexTable[index]];
21
+ };
22
+ exports.getStringReader = getStringReader;
23
+ //# sourceMappingURL=getStringReader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getStringReader.js","sourceRoot":"","sources":["../../../src/reader/getStringReader.ts"],"names":[],"mappings":";;;AAGA,6DAAqD;AAI9C,MAAM,eAAe,GAAG,CAC7B,UAAkB,EAAE,GAAY,EAAE,MAAsB,EAC1C,EAAE;IAChB,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,GAAG,EAAE,CAAC,SAAS,CAAC;IACzB,CAAC;IAED,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,MAAM,CAAC;IAExB,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnB,OAAO,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IAED,IAAI,CAAC,CAAC,MAAM,KAAK,UAAU,IAAI,CAAC,CAAC,EAAE,CAAC;QAClC,OAAO,CAAC,KAAa,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IAED,MAAM,UAAU,GAAG,IAAA,kCAAa,EAAC,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAE1D,6DAA6D;IAC7D,mBAAmB;IACnB,+DAA+D;IAC/D,OAAO,CAAC,KAAa,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;AACjD,CAAC,CAAC;AAvBW,QAAA,eAAe,mBAuB1B"}
@@ -0,0 +1,104 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getReader = exports.isThreadSp = void 0;
4
+ const getEventReader_js_1 = require("./getEventReader.js");
5
+ const getNumberReader_js_1 = require("./getNumberReader.js");
6
+ const modifyThread = (process, thread, bin, spThreads, spIndex) => {
7
+ thread.getEvent = (0, getEventReader_js_1.getEventReader)(process, thread, bin, spThreads, spIndex);
8
+ if (thread.ph === "C") {
9
+ const { argValue } = thread;
10
+ Reflect.defineProperty(thread, "maxCount", {
11
+ get: () => {
12
+ const argValues = (0, getNumberReader_js_1.getValuesArray)(bin, argValue.v);
13
+ const value = (0, getNumberReader_js_1.findMax)(argValues);
14
+ Reflect.defineProperty(thread, "maxCount", {
15
+ value,
16
+ });
17
+ return value;
18
+ },
19
+ });
20
+ }
21
+ return thread;
22
+ };
23
+ const isThreadSp = (value) => {
24
+ return "xBaseIndex" in value;
25
+ };
26
+ exports.isThreadSp = isThreadSp;
27
+ const getReader = ({ bin, meta }) => {
28
+ const { spThreads, spIndex } = getSpThreads(meta);
29
+ for (const process of Object.values(meta.processes)) {
30
+ for (const thread of Object.values(process.threads)) {
31
+ modifyThread(process, thread, bin, spThreads, spIndex);
32
+ }
33
+ }
34
+ const metaAfter = meta;
35
+ metaAfter.computePmuTotal = () => {
36
+ const p = {
37
+ 'total cycle': 0, vec_busy_cycles: 0, cube_busy_cycles: 0,
38
+ scalar_busy_cycles: 0, mte1_busy_cycles: 0, mte2_busy_cycles: 0,
39
+ mte3_busy_cycles: 0, icache_miss: 0, icache_req: 0,
40
+ vec_ratio: 0, cube_ratio: 0, scalar_ratio: 0,
41
+ mte1_ratio: 0, mte2_ratio: 0, mte3_ratio: 0,
42
+ icache_hit: 0,
43
+ };
44
+ for (const process of Object.values(meta.processes)) {
45
+ for (const thread of Object.values(process.threads)) {
46
+ if (thread.ph == "X") {
47
+ const pt = thread.computePmuTotal();
48
+ if (!pt)
49
+ continue;
50
+ p["total cycle"] += pt["total cycle"];
51
+ p.vec_busy_cycles += pt.vec_busy_cycles;
52
+ p.cube_busy_cycles += pt.cube_busy_cycles;
53
+ p.scalar_busy_cycles += pt.scalar_busy_cycles;
54
+ p.mte1_busy_cycles += pt.mte1_busy_cycles;
55
+ p.mte2_busy_cycles += pt.mte2_busy_cycles;
56
+ p.mte3_busy_cycles += pt.mte3_busy_cycles;
57
+ p.icache_miss += pt.icache_miss;
58
+ p.icache_req += pt.icache_req;
59
+ p.vec_ratio = p.vec_busy_cycles / p["total cycle"];
60
+ p.cube_ratio = p.cube_busy_cycles / p["total cycle"];
61
+ p.scalar_ratio = p.scalar_busy_cycles / p["total cycle"];
62
+ p.mte1_ratio = p.mte1_busy_cycles / p["total cycle"];
63
+ p.mte2_ratio = p.mte2_busy_cycles / p["total cycle"];
64
+ p.mte3_ratio = p.mte3_busy_cycles / p["total cycle"];
65
+ p.icache_hit = 1 - p.icache_miss / p.icache_req;
66
+ }
67
+ }
68
+ }
69
+ return p;
70
+ };
71
+ metaAfter.computeLane2Line = () => {
72
+ const lane2line = {};
73
+ for (const [pid, process] of Object.entries(meta.processes)) {
74
+ for (const thread of Object.values(process.threads)) {
75
+ if (thread.ph !== "X")
76
+ continue;
77
+ const tid = thread.tid;
78
+ const label = `${pid}@${tid}`;
79
+ const lines = thread.computeLines();
80
+ lane2line[label] = lines.reduce((a, b) => Math.max(a, b), -Infinity) + 1;
81
+ }
82
+ }
83
+ return lane2line;
84
+ };
85
+ return metaAfter;
86
+ };
87
+ exports.getReader = getReader;
88
+ function getSpThreads(meta) {
89
+ const spThreads = [];
90
+ for (const process of Object.values(meta.processes)) {
91
+ for (const thread of Object.values(process.threads)) {
92
+ if ((0, exports.isThreadSp)(thread))
93
+ spThreads.push(thread);
94
+ }
95
+ }
96
+ spThreads.sort((t1, t2) => t1.xBaseIndex - t2.xBaseIndex);
97
+ const spIndex = new Uint32Array(spThreads.length);
98
+ spThreads.forEach((thread, index) => spIndex[index] = thread.xBaseIndex);
99
+ return {
100
+ spThreads,
101
+ spIndex
102
+ };
103
+ }
104
+ //# sourceMappingURL=index.js.map