tcg-s390: Allocate the code_gen_buffer near the main program.
This allows the use of direct calls to the helpers, and a direct branch back to the epilogue. Signed-off-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
This commit is contained in:
		
				
					committed by
					
						
						Aurelien Jarno
					
				
			
			
				
	
			
			
			
						parent
						
							1bcaae666f
						
					
				
				
					commit
					eba0b89379
				
			
							
								
								
									
										7
									
								
								exec.c
									
									
									
									
									
								
							
							
						
						
									
										7
									
								
								exec.c
									
									
									
									
									
								
							@@ -519,6 +519,13 @@ static void code_gen_alloc(unsigned long tb_size)
 | 
			
		||||
        start = (void *) 0x01000000UL;
 | 
			
		||||
        if (code_gen_buffer_size > 16 * 1024 * 1024)
 | 
			
		||||
            code_gen_buffer_size = 16 * 1024 * 1024;
 | 
			
		||||
#elif defined(__s390x__)
 | 
			
		||||
        /* Map the buffer so that we can use direct calls and branches.  */
 | 
			
		||||
        /* We have a +- 4GB range on the branches; leave some slop.  */
 | 
			
		||||
        if (code_gen_buffer_size > (3ul * 1024 * 1024 * 1024)) {
 | 
			
		||||
            code_gen_buffer_size = 3ul * 1024 * 1024 * 1024;
 | 
			
		||||
        }
 | 
			
		||||
        start = (void *)0x90000000UL;
 | 
			
		||||
#endif
 | 
			
		||||
        code_gen_buffer = mmap(start, code_gen_buffer_size,
 | 
			
		||||
                               PROT_WRITE | PROT_READ | PROT_EXEC,
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user