Skip to content

Commit 55e1e9b

Browse files
committed
perf(napi/parser, linter/plugins): initialize vars as 0 (#21020)
Tiny optimization to raw transfer string deserialization. Initialize vars which contain integers as `0`. This may help V8 optimize usage of these variables as they always have SMI type. The effect, if there is one, is too small to register on benchamarks. But it's certainly not a regression, and may be a tiny gain, so why not?
1 parent c25ef02 commit 55e1e9b

10 files changed

Lines changed: 27 additions & 11 deletions

File tree

apps/oxlint/src-js/generated/deserialize.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ let uint8,
88
uint32,
99
float64,
1010
sourceText,
11-
sourceStartPos,
12-
firstNonAsciiPos,
11+
sourceStartPos = 0,
12+
firstNonAsciiPos = 0,
1313
parent = null,
1414
getLoc;
1515

napi/parser/src-js/generated/deserialize/js.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,11 @@
11
// Auto-generated code, DO NOT EDIT DIRECTLY!
22
// To edit this generated file you have to edit `tasks/ast_tools/src/generators/raw_transfer.rs`.
33

4-
let uint8, uint32, float64, sourceText, firstNonAsciiPos;
4+
let uint8,
5+
uint32,
6+
float64,
7+
sourceText,
8+
firstNonAsciiPos = 0;
59

610
const textDecoder = new TextDecoder("utf-8", { ignoreBOM: true }),
711
decodeStr = textDecoder.decode.bind(textDecoder),

napi/parser/src-js/generated/deserialize/js_parent.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ let uint8,
55
uint32,
66
float64,
77
sourceText,
8-
firstNonAsciiPos,
8+
firstNonAsciiPos = 0,
99
parent = null;
1010

1111
const textDecoder = new TextDecoder("utf-8", { ignoreBOM: true }),

napi/parser/src-js/generated/deserialize/js_range.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,11 @@
11
// Auto-generated code, DO NOT EDIT DIRECTLY!
22
// To edit this generated file you have to edit `tasks/ast_tools/src/generators/raw_transfer.rs`.
33

4-
let uint8, uint32, float64, sourceText, firstNonAsciiPos;
4+
let uint8,
5+
uint32,
6+
float64,
7+
sourceText,
8+
firstNonAsciiPos = 0;
59

610
const textDecoder = new TextDecoder("utf-8", { ignoreBOM: true }),
711
decodeStr = textDecoder.decode.bind(textDecoder),

napi/parser/src-js/generated/deserialize/js_range_parent.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ let uint8,
55
uint32,
66
float64,
77
sourceText,
8-
firstNonAsciiPos,
8+
firstNonAsciiPos = 0,
99
parent = null;
1010

1111
const textDecoder = new TextDecoder("utf-8", { ignoreBOM: true }),

napi/parser/src-js/generated/deserialize/ts.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,11 @@
11
// Auto-generated code, DO NOT EDIT DIRECTLY!
22
// To edit this generated file you have to edit `tasks/ast_tools/src/generators/raw_transfer.rs`.
33

4-
let uint8, uint32, float64, sourceText, firstNonAsciiPos;
4+
let uint8,
5+
uint32,
6+
float64,
7+
sourceText,
8+
firstNonAsciiPos = 0;
59

610
const textDecoder = new TextDecoder("utf-8", { ignoreBOM: true }),
711
decodeStr = textDecoder.decode.bind(textDecoder),

napi/parser/src-js/generated/deserialize/ts_parent.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ let uint8,
55
uint32,
66
float64,
77
sourceText,
8-
firstNonAsciiPos,
8+
firstNonAsciiPos = 0,
99
parent = null;
1010

1111
const textDecoder = new TextDecoder("utf-8", { ignoreBOM: true }),

napi/parser/src-js/generated/deserialize/ts_range.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,11 @@
11
// Auto-generated code, DO NOT EDIT DIRECTLY!
22
// To edit this generated file you have to edit `tasks/ast_tools/src/generators/raw_transfer.rs`.
33

4-
let uint8, uint32, float64, sourceText, firstNonAsciiPos;
4+
let uint8,
5+
uint32,
6+
float64,
7+
sourceText,
8+
firstNonAsciiPos = 0;
59

610
const textDecoder = new TextDecoder("utf-8", { ignoreBOM: true }),
711
decodeStr = textDecoder.decode.bind(textDecoder),

napi/parser/src-js/generated/deserialize/ts_range_parent.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ let uint8,
55
uint32,
66
float64,
77
sourceText,
8-
firstNonAsciiPos,
8+
firstNonAsciiPos = 0,
99
parent = null;
1010

1111
const textDecoder = new TextDecoder("utf-8", { ignoreBOM: true }),

tasks/ast_tools/src/generators/raw_transfer.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,7 @@ fn generate_deserializers(
143143
import {{ comments, initComments }} from '../plugins/comments.js';
144144
/* END_IF */
145145
146-
let uint8, uint32, float64, sourceText, sourceStartPos, firstNonAsciiPos;
146+
let uint8, uint32, float64, sourceText, sourceStartPos = 0, firstNonAsciiPos = 0;
147147
148148
let parent = null;
149149
let getLoc;

0 commit comments

Comments
 (0)