mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 13:41:24 +00:00 
			
		
		
		
	gh-118423: Add INSTRUCTION_SIZE macro to code generator (GH-125467)
				
					
				
			This commit is contained in:
		
							parent
							
								
									b2eaa75b17
								
							
						
					
					
						commit
						aab58a93ef
					
				
					 9 changed files with 115 additions and 34 deletions
				
			
		
							
								
								
									
										10
									
								
								Python/executor_cases.c.h
									
										
									
										generated
									
									
									
								
							
							
						
						
									
										10
									
								
								Python/executor_cases.c.h
									
										
									
										generated
									
									
									
								
							|  | @ -1147,7 +1147,7 @@ | |||
|             new_frame = _PyFrame_PushUnchecked(tstate, PyStackRef_FromPyObjectNew(getitem), 2, frame); | ||||
|             new_frame->localsplus[0] = container; | ||||
|             new_frame->localsplus[1] = sub; | ||||
|             frame->return_offset = (uint16_t)(1 + INLINE_CACHE_ENTRIES_BINARY_SUBSCR); | ||||
|             frame->return_offset = 2 ; | ||||
|             stack_pointer[-2].bits = (uintptr_t)new_frame; | ||||
|             stack_pointer += -1; | ||||
|             assert(WITHIN_STACK_BOUNDS()); | ||||
|  | @ -1454,8 +1454,8 @@ | |||
|             gen->gi_frame_state = FRAME_EXECUTING; | ||||
|             gen->gi_exc_state.previous_item = tstate->exc_info; | ||||
|             tstate->exc_info = &gen->gi_exc_state; | ||||
|             assert(1 + INLINE_CACHE_ENTRIES_SEND + oparg <= UINT16_MAX); | ||||
|             frame->return_offset = (uint16_t)(1 + INLINE_CACHE_ENTRIES_SEND + oparg); | ||||
|             assert( 2 + oparg <= UINT16_MAX); | ||||
|             frame->return_offset = (uint16_t)( 2 + oparg); | ||||
|             gen_frame->previous = frame; | ||||
|             stack_pointer[-1].bits = (uintptr_t)gen_frame; | ||||
|             break; | ||||
|  | @ -2826,7 +2826,7 @@ | |||
|             break; | ||||
|         } | ||||
| 
 | ||||
|         /* _LOAD_ATTR_GETATTRIBUTE_OVERRIDDEN is not a viable micro-op for tier 2 because it uses the 'this_instr' variable */ | ||||
|         /* _LOAD_ATTR_GETATTRIBUTE_OVERRIDDEN is not a viable micro-op for tier 2 because it has unused cache entries */ | ||||
| 
 | ||||
|         case _GUARD_DORV_NO_DICT: { | ||||
|             _PyStackRef owner; | ||||
|  | @ -3644,7 +3644,7 @@ | |||
|             tstate->exc_info = &gen->gi_exc_state; | ||||
|             gen_frame->previous = frame; | ||||
|             // oparg is the return offset from the next instruction.
 | ||||
|             frame->return_offset = (uint16_t)(1 + INLINE_CACHE_ENTRIES_FOR_ITER + oparg); | ||||
|             frame->return_offset = (uint16_t)( 2 + oparg); | ||||
|             stack_pointer[0].bits = (uintptr_t)gen_frame; | ||||
|             stack_pointer += 1; | ||||
|             assert(WITHIN_STACK_BOUNDS()); | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Tomas R.
						Tomas R.