oxc/crates
Ali Rezvani 6c8296164e
perf(ast): box typescript enum variants. (#3065)
Similar to #3058 and #3061 it is a continuation of #3047.

Handles these enum types:

> TSEnumMemberName
> Variant sizes: 16, 24, 24, 40
> Unboxed variants: IdentifierName (struct), StringLiteral (struct),
NumericLiteral (struct)
> Dependents: TSEnumMember (struct)
> => Box all variants.
>
> TSModuleReference 
> Variant sizes: 16, 32
> Unboxed variants: TSExternalModuleReference (struct)
> Dependents: Box<TSModuleReference> in TSImportEqualsDeclaration
> => Box all variants. Replace Box<TSModuleReference> with
TSModuleReference in TSImportEqualsDeclaration.
>
> TSTypePredicateName 
> Variant sizes: 8, 24
> Unboxed variants: IdentifierName (struct), TSThisType (struct)
> Dependents: TSTypePredicate (struct)
> => Box Identifier variant. Do not box This variant as only 8 bytes
(just contains Span).
>
> TSTypeQueryExprName 
> Variant sizes: 16, 88
> Unboxed variants: TSImportType (struct)
> Dependents: TSTypeQuery (struct)
> => Box TSImportType variant. Do not box TSTypeName variant, as is
another enum.
2024-04-22 09:54:53 +08:00
..
oxc Release crates v0.12.4 2024-04-19 16:40:05 +08:00
oxc_allocator refactor(bench): reuse allocator in parser + lexer benchmarks (#3053) 2024-04-22 09:03:26 +08:00
oxc_ast perf(ast): box typescript enum variants. (#3065) 2024-04-22 09:54:53 +08:00
oxc_cli feat(cli): implement --format checkstyle (#3044) 2024-04-21 16:30:28 +08:00
oxc_codegen feat(ast): add CatchParameter node (#3049) 2024-04-21 23:43:39 +08:00
oxc_diagnostics feat(cli): implement --format checkstyle (#3044) 2024-04-21 16:30:28 +08:00
oxc_index Release crates v0.12.4 2024-04-19 16:40:05 +08:00
oxc_js_regex refactor: rename CompactString to CompactStr (#2619) 2024-03-06 12:24:23 +08:00
oxc_language_server chore: apply cargo autoinherit (#2826) 2024-03-26 23:57:50 +08:00
oxc_linter perf(ast): box typescript enum variants. (#3065) 2024-04-22 09:54:53 +08:00
oxc_macros feat(napi/parser): remove experimental flexbuffer api (#2957) 2024-04-13 14:59:31 +08:00
oxc_minifier Release crates v0.12.4 2024-04-19 16:40:05 +08:00
oxc_module_lexer refactor(ast): add walk_mut functions (#2776) 2024-03-25 20:40:13 +03:30
oxc_parser perf(ast): box typescript enum variants. (#3065) 2024-04-22 09:54:53 +08:00
oxc_prettier feat(ast): add CatchParameter node (#3049) 2024-04-21 23:43:39 +08:00
oxc_semantic fix(semantic): correctly resolve identifiers inside catch parameter initializers (#3050) 2024-04-21 23:53:38 +08:00
oxc_sourcemap Release crates v0.12.4 2024-04-19 16:40:05 +08:00
oxc_span refactor(napi): remove unnecessary custom Serialize impl for Atom (#3041) 2024-04-21 13:04:51 +08:00
oxc_syntax fix(semantic): correctly resolve identifiers inside parameter initializers (#3046) 2024-04-21 23:38:31 +08:00
oxc_transformer perf(ast): box typescript enum variants. (#3065) 2024-04-22 09:54:53 +08:00
oxc_wasm feat(transformer): add filename (#2941) 2024-04-11 18:43:51 +08:00