File tree Expand file tree Collapse file tree 3 files changed +7
-7
lines changed Expand file tree Collapse file tree 3 files changed +7
-7
lines changed Original file line number Diff line number Diff line change @@ -10329,17 +10329,17 @@ export function compileVisitMembers(compiler: Compiler): void {
10329
10329
let instanceId = _keys [ i ] ;
10330
10330
assert ( instanceId == nextId ++ ) ;
10331
10331
let instance = assert ( managedClasses . get ( instanceId ) ) ;
10332
- names [ i ] = instance . internalName ;
10332
+ names . push ( instance . internalName ) ;
10333
10333
if ( instance . isPointerfree ) {
10334
- cases [ i ] = module . return ( ) ;
10334
+ cases . push ( module . return ( ) ) ;
10335
10335
} else {
10336
- cases [ i ] = module . block ( null , [
10336
+ cases . push ( module . block ( null , [
10337
10337
module . call ( `${ instance . internalName } ~visit` , [
10338
10338
module . local_get ( 0 , sizeTypeRef ) , // this
10339
10339
module . local_get ( 1 , TypeRef . I32 ) // cookie
10340
10340
] , TypeRef . None ) ,
10341
10341
module . return ( )
10342
- ] , TypeRef . None ) ;
10342
+ ] , TypeRef . None ) ) ;
10343
10343
ensureVisitMembersOf ( compiler , instance ) ;
10344
10344
}
10345
10345
}
Original file line number Diff line number Diff line change @@ -6373,7 +6373,7 @@ export class Compiler extends DiagnosticEmitter {
6373
6373
}
6374
6374
let numOptional = assert ( maxOperands - minOperands ) ;
6375
6375
6376
- let forwardedOperands = new Array < ExpressionRef > ( minOperands ) ;
6376
+ let forwardedOperands = new Array < ExpressionRef > ( maxOperands ) ;
6377
6377
let operandIndex = 0 ;
6378
6378
let stmts = new Array < ExpressionRef > ( ) ;
6379
6379
@@ -6597,7 +6597,7 @@ export class Compiler extends DiagnosticEmitter {
6597
6597
let body : ExpressionRef ;
6598
6598
let instanceClass = instance . getBoundClassOrInterface ( ) ;
6599
6599
if ( ! instance . is ( CommonFlags . Abstract ) && ! ( instanceClass && instanceClass . kind == ElementKind . Interface ) ) {
6600
- let paramExprs = new Array < ExpressionRef > ( numParameters ) ;
6600
+ let paramExprs = new Array < ExpressionRef > ( numParameters + 1 ) ;
6601
6601
paramExprs [ 0 ] = module . local_get ( 0 , sizeTypeRef ) ; // this
6602
6602
for ( let i = 0 , k = parameterTypes . length ; i < k ; ++ i ) {
6603
6603
paramExprs [ 1 + i ] = module . local_get ( 1 + i , parameterTypes [ i ] . toRef ( ) ) ;
Original file line number Diff line number Diff line change @@ -467,7 +467,7 @@ export class ShadowStackPass extends Pass {
467
467
let results = _BinaryenFunctionGetResults ( funcRef ) ;
468
468
let body = assert ( _BinaryenFunctionGetBody ( funcRef ) ) ;
469
469
let numVars = _BinaryenFunctionGetNumVars ( funcRef ) ;
470
- let vars = new Array < TypeRef > ( ) ;
470
+ let vars = new Array < TypeRef > ( numVars ) ;
471
471
for ( let i : Index = 0 ; i < numVars ; ++ i ) {
472
472
vars [ i ] = _BinaryenFunctionGetVar ( funcRef , i ) ;
473
473
}
You can’t perform that action at this time.
0 commit comments