1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-15 09:44:58 +00:00
serenity/Userland/Libraries/LibJS/Bytecode
Simon Wanner 68f4d21de2 LibJS: Lazily collect stack trace information
The previous implementation was calling `backtrace()` for every
function call, which is quite slow.

Instead, this implementation provides VM::stack_trace() which unwinds
the native stack, maps it through NativeExecutable::get_source_range
and combines it with source ranges from interpreted call frames.
2023-11-02 07:37:41 +01:00
..
ASTCodegen.cpp LibJS: Create static unwind mappings for BasicBlocks 2023-10-30 13:10:08 +01:00
BasicBlock.cpp LibJS: Create static unwind mappings for BasicBlocks 2023-10-30 13:10:08 +01:00
BasicBlock.h LibJS: Save scheduled jumps when entering unwind contexts 2023-10-30 13:10:08 +01:00
CodeGenerationError.cpp LibJS: Add to_string definitions to CodeGenerationError and ParserError 2023-02-17 09:14:23 -05:00
CodeGenerationError.h LibJS: Remove unused CodeGenerationError::to_deprecated_string 2023-02-17 09:14:23 -05:00
CommonImplementations.cpp LibJS: Move GetObjectPropertyIterator impl to CommonImplementations 2023-10-29 22:57:19 +01:00
CommonImplementations.h LibJS: Move GetObjectPropertyIterator impl to CommonImplementations 2023-10-29 22:57:19 +01:00
Executable.cpp LibJS/JIT: Provide source location information for JIT code 2023-10-31 07:07:17 +01:00
Executable.h LibJS/JIT: Provide source location information for JIT code 2023-10-31 07:07:17 +01:00
Generator.cpp LibJS: Create static unwind mappings for BasicBlocks 2023-10-30 13:10:08 +01:00
Generator.h LibJS: Create static unwind mappings for BasicBlocks 2023-10-30 13:10:08 +01:00
IdentifierTable.cpp LibJS: Don't worry about deduplicating bytecode string tables 2023-10-04 20:10:12 +02:00
IdentifierTable.h AK+Everywhere: Rename FlyString to DeprecatedFlyString 2023-01-09 23:00:24 +00:00
Instruction.cpp LibJS: Add file & line number to bytecode VM stack traces :^) 2023-09-02 15:37:53 +02:00
Instruction.h LibJS/JIT: Provide source location information for JIT code 2023-10-31 07:07:17 +01:00
Interpreter.cpp LibJS: Lazily collect stack trace information 2023-11-02 07:37:41 +01:00
Interpreter.h LibJS: Lazily collect stack trace information 2023-11-02 07:37:41 +01:00
Label.h Everywhere: Add sv suffix to strings relying on StringView(char const*) 2022-07-12 23:11:35 +02:00
Op.h LibJS/JIT: Compile the AsyncIteratorClose instruction 2023-10-30 07:10:24 +01:00
RegexTable.cpp LibJS/Bytecode: Don't reparse regular expressions on instantiation 2023-07-13 13:30:49 +02:00
RegexTable.h LibJS/Bytecode: Don't reparse regular expressions on instantiation 2023-07-13 13:30:49 +02:00
Register.h LibJS: Keep return value in a call frame register 2023-09-28 06:09:16 +02:00
StringTable.cpp LibJS: Don't worry about deduplicating bytecode string tables 2023-10-04 20:10:12 +02:00
StringTable.h AK+Everywhere: Rename String to DeprecatedString 2022-12-06 08:54:33 +01:00