mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-10-16 21:20:18 +00:00
Some checks are pending
CI / macOS, arm64, Sanitizer, Clang (push) Waiting to run
CI / Linux, x86_64, Fuzzers, Clang (push) Waiting to run
CI / Linux, x86_64, Sanitizer, GNU (push) Waiting to run
CI / Linux, x86_64, Sanitizer, Clang (push) Waiting to run
Package the js repl as a binary artifact / Linux, arm64 (push) Waiting to run
Package the js repl as a binary artifact / macOS, arm64 (push) Waiting to run
Package the js repl as a binary artifact / Linux, x86_64 (push) Waiting to run
Run test262 and test-wasm / run_and_update_results (push) Waiting to run
Lint Code / lint (push) Waiting to run
Label PRs with merge conflicts / auto-labeler (push) Waiting to run
Push notes / build (push) Waiting to run
Instead of converting them to doubles and doing double math, just do the arithmetic operation in i64 space instead. This gives us a ~1.25x speed-up on this kind of micro-benchmark: (() => { let a = -2124299999; for (let i = 0; i < 100_000_000; ++i) { a + a; } })() Same idea for Add, Sub, and Mul. There's a fair bit of overflowing Int32 arithmetic in some of the JetStream benchmarks, and this seems like an obvious improvement. |
||
---|---|---|
.. | ||
Bytecode | ||
Contrib/Test262 | ||
Heap | ||
Runtime | ||
Tests | ||
AST.cpp | ||
AST.h | ||
CMakeLists.txt | ||
Console.cpp | ||
Console.h | ||
CyclicModule.cpp | ||
CyclicModule.h | ||
Forward.h | ||
Lexer.cpp | ||
Lexer.h | ||
LocalVariable.h | ||
Module.cpp | ||
Module.h | ||
ModuleLoading.h | ||
Parser.cpp | ||
Parser.h | ||
ParserError.cpp | ||
ParserError.h | ||
Position.h | ||
Print.cpp | ||
Print.h | ||
Script.cpp | ||
Script.h | ||
SourceCode.cpp | ||
SourceCode.h | ||
SourceRange.h | ||
SourceTextModule.cpp | ||
SourceTextModule.h | ||
SyntaxHighlighter.cpp | ||
SyntaxHighlighter.h | ||
SyntheticModule.cpp | ||
SyntheticModule.h | ||
Token.cpp | ||
Token.h |