mirror of
				https://github.com/RGBCube/serenity
				synced 2025-10-31 19:42:43 +00:00 
			
		
		
		
	LibJS: Add a basic pass manager and add some basic passes
This commit adds a bunch of passes, the most interesting of which is a pass that merges blocks together, and a pass that places blocks that flow into each other next to each other, and a very simply pass that removes duplicate basic blocks. Note that this does not remove the jump at the end of each block in that pass to avoid scope creep in the passes.
This commit is contained in:
		
							parent
							
								
									e81fd7106b
								
							
						
					
					
						commit
						1414c7b049
					
				
					 17 changed files with 751 additions and 30 deletions
				
			
		|  | @ -66,6 +66,7 @@ void BasicBlock::grow(size_t additional_size) | |||
| 
 | ||||
| void InstructionStreamIterator::operator++() | ||||
| { | ||||
|     VERIFY(!at_end()); | ||||
|     m_offset += dereference().length(); | ||||
| } | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Ali Mohammad Pur
						Ali Mohammad Pur