@@ -5,16 +5,15 @@ Object.defineProperty(exports, '__esModule', { value: true });
55var bigInt = require ( 'big-integer' ) ;
66var crypto = require ( 'crypto' ) ;
77var wasmcurves = require ( 'wasmcurves' ) ;
8- var os = require ( 'os' ) ;
9- var Worker = require ( 'web-worker ' ) ;
8+ require ( 'os' ) ;
9+ var abab = require ( 'abab ' ) ;
1010var wasmbuilder = require ( 'wasmbuilder' ) ;
1111
1212function _interopDefaultLegacy ( e ) { return e && typeof e === 'object' && 'default' in e ? e : { 'default' : e } ; }
1313
1414var bigInt__default = /*#__PURE__*/ _interopDefaultLegacy ( bigInt ) ;
1515var crypto__default = /*#__PURE__*/ _interopDefaultLegacy ( crypto ) ;
16- var os__default = /*#__PURE__*/ _interopDefaultLegacy ( os ) ;
17- var Worker__default = /*#__PURE__*/ _interopDefaultLegacy ( Worker ) ;
16+ var abab__default = /*#__PURE__*/ _interopDefaultLegacy ( abab ) ;
1817
1918/* global BigInt */
2019const hexLen = [ 0 , 1 , 2 , 2 , 3 , 3 , 3 , 3 , 4 , 4 , 4 , 4 , 4 , 4 , 4 , 4 ] ;
@@ -5154,6 +5153,7 @@ function thread(self) {
51545153// const MEM_SIZE = 1000; // Memory size in 64K Pakes (512Mb)
51555154const MEM_SIZE = 25 ; // Memory size in 64K Pakes (1600Kb)
51565155
5156+
51575157class Deferred {
51585158 constructor ( ) {
51595159 this . promise = new Promise ( ( resolve , reject ) => {
@@ -5169,14 +5169,13 @@ function sleep(ms) {
51695169
51705170function stringToBase64 ( str ) {
51715171 if ( process . browser ) {
5172- return globalThis . btoa ( str ) ;
5172+ return abab__default [ "default" ] . btoa ( str ) ;
51735173 } else {
51745174 return Buffer . from ( str ) . toString ( "base64" ) ;
51755175 }
51765176}
51775177
5178- const threadSource = stringToBase64 ( "(" + thread . toString ( ) + ")(self)" ) ;
5179- const workerSource = "data:application/javascript;base64," + threadSource ;
5178+ stringToBase64 ( "(" + thread . toString ( ) + ")(self)" ) ;
51805179
51815180
51825181
@@ -5209,7 +5208,6 @@ async function buildThreadManager(wasm, singleThread) {
52095208 // tm.pTmp1 = tm.alloc(curve.G2.F.n8*3);
52105209
52115210
5212- if ( singleThread ) {
52135211 tm . code = wasm . code ;
52145212 tm . taskManager = thread ( ) ;
52155213 await tm . taskManager ( [ {
@@ -5218,66 +5216,9 @@ async function buildThreadManager(wasm, singleThread) {
52185216 code : tm . code . slice ( )
52195217 } ] ) ;
52205218 tm . concurrency = 1 ;
5221- } else {
5222- tm . workers = [ ] ;
5223- tm . pendingDeferreds = [ ] ;
5224- tm . working = [ ] ;
5225-
5226- let concurrency ;
5227-
5228- if ( ( typeof ( navigator ) === "object" ) && navigator . hardwareConcurrency ) {
5229- concurrency = navigator . hardwareConcurrency ;
5230- } else {
5231- concurrency = os__default [ "default" ] . cpus ( ) . length ;
5232- }
5233-
5234- if ( concurrency == 0 ) {
5235- concurrency = 2 ;
5236- }
5237-
5238- // Limit to 64 threads for memory reasons.
5239- if ( concurrency > 64 ) concurrency = 64 ;
5240- tm . concurrency = concurrency ;
5241-
5242- for ( let i = 0 ; i < concurrency ; i ++ ) {
5243-
5244- tm . workers [ i ] = new Worker__default [ "default" ] ( workerSource ) ;
5245-
5246- tm . workers [ i ] . addEventListener ( "message" , getOnMsg ( i ) ) ;
5247-
5248- tm . working [ i ] = false ;
5249- }
52505219
5251- const initPromises = [ ] ;
5252- for ( let i = 0 ; i < tm . workers . length ; i ++ ) {
5253- const copyCode = wasm . code . slice ( ) ;
5254- initPromises . push ( tm . postAction ( i , [ {
5255- cmd : "INIT" ,
5256- init : MEM_SIZE ,
5257- code : copyCode
5258- } ] , [ copyCode . buffer ] ) ) ;
5259- }
5260-
5261- await Promise . all ( initPromises ) ;
5262-
5263- }
52645220 return tm ;
52655221
5266- function getOnMsg ( i ) {
5267- return function ( e ) {
5268- let data ;
5269- if ( ( e ) && ( e . data ) ) {
5270- data = e . data ;
5271- } else {
5272- data = e ;
5273- }
5274-
5275- tm . working [ i ] = false ;
5276- tm . pendingDeferreds [ i ] . resolve ( data ) ;
5277- tm . processWorks ( ) ;
5278- } ;
5279- }
5280-
52815222}
52825223
52835224class ThreadManager {
0 commit comments