Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								ecfcc9aef3 
								
							 
						 
						
							
							
								
								LibJS: Make Bytecode::Executable GC-allocated  
							
							... 
							
							
							
							This is a step towards making ExecutionContext easier to allocate. 
							
						 
						
							2023-11-29 09:48:18 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Simon Wanner 
								
							 
						 
						
							
							
							
							
								
							
							
								fb7b4b9c59 
								
							 
						 
						
							
							
								
								LibJS/JIT: Provide source location information for JIT code  
							
							... 
							
							
							
							This works by walking a backtrace until the currently executing
native executable is found, and then mapping the native address
to its bytecode instruction. 
							
						 
						
							2023-10-31 07:07:17 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								310bcd4717 
								
							 
						 
						
							
							
								
								LibJS/JIT: Don't keep trying to JIT unsupported bytecode executables  
							
							... 
							
							
							
							We now only try jitting each Bytecode::Executable once, and then cache
the resulting NativeExecutable. 
							
						 
						
							2023-10-27 19:07:22 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								2e23f00a2f 
								
							 
						 
						
							
							
								
								LibJS/Bytecode: Move environment coordinate caches to Executable  
							
							... 
							
							
							
							Moving them out of the respective instructions allows the bytecode
stream to be immutable. 
							
						 
						
							2023-10-27 07:26:37 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Karol Kosek 
								
							 
						 
						
							
							
							
							
								
							
							
								2ea45f4881 
								
							 
						 
						
							
							
								
								LibJS: Forward-declare RegexTable and BasicBlock in Executable.h  
							
							... 
							
							
							
							Previously every file that included Executable.h (which is pretty much
most LibJS and LibHTML files, given that VM.h needs it) had the whole
definition of LibRegex, which was slowing down source parsing. 
							
						 
						
							2023-10-09 07:29:27 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								c14db6ab12 
								
							 
						 
						
							
							
								
								LibJS: Make Executable ref-counted and let instruction iterator co-own it  
							
							... 
							
							
							
							This ensures that the instruction stream pointed at by the instruction
iterator remains valid as long as the iterator exists. 
							
						 
						
							2023-10-03 08:23:33 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								359d6e7b0b 
								
							 
						 
						
							
							
								
								Everywhere: Stop using NonnullOwnPtrVector  
							
							... 
							
							
							
							Same as NonnullRefPtrVector: weird semantics, questionable benefits. 
							
						 
						
							2023-03-06 23:46:35 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								da98212001 
								
							 
						 
						
							
							
								
								LibJS: Add a separate "identifier table" to bytecode executables  
							
							... 
							
							
							
							This is a specialized string table for storing identifiers only.
Identifiers are always FlyStrings, which makes many common operations
faster by allowing O(1) comparison. 
							
						 
						
							2021-10-24 17:18:07 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								f75d78f56a 
								
							 
						 
						
							
							
								
								LibJS: Include executable name in bytecode dumps  
							
							
							
						 
						
							2021-10-24 17:18:06 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								da77e2aa4f 
								
							 
						 
						
							
							
								
								LibJS: Add Bytecode::Executable::dump()  
							
							... 
							
							
							
							Let's have a helper for producing a consistent executable dump instead
of repeating the logic in multiple places. 
							
						 
						
							2021-10-24 17:18:05 +02:00