@@ -501,8 +501,8 @@ _PyJIT_Compile(_PyExecutorObject *executor, const _PyUOpInstruction trace[], siz
501501 // Round up to the nearest page:
502502 size_t page_size = get_page_size ();
503503 assert ((page_size & (page_size - 1 )) == 0 );
504- size_t padding = page_size - ((code_size + data_size + state .trampolines .size ) & (page_size - 1 ));
505- size_t total_size = code_size + data_size + state .trampolines .size + padding ;
504+ size_t padding = page_size - ((code_size + state .trampolines .size + data_size ) & (page_size - 1 ));
505+ size_t total_size = code_size + state .trampolines .size + data_size + padding ;
506506 unsigned char * memory = jit_alloc (total_size );
507507 if (memory == NULL ) {
508508 return -1 ;
@@ -516,8 +516,8 @@ _PyJIT_Compile(_PyExecutorObject *executor, const _PyUOpInstruction trace[], siz
516516 }
517517 // Loop again to emit the code:
518518 unsigned char * code = memory ;
519- unsigned char * data = memory + code_size ;
520- state . trampolines . mem = memory + code_size + data_size ;
519+ state . trampolines . mem = memory + code_size ;
520+ unsigned char * data = memory + code_size + state . trampolines . size ;
521521 // Compile the shim, which handles converting between the native
522522 // calling convention and the calling convention used by jitted code
523523 // (which may be different for efficiency reasons).
@@ -539,7 +539,7 @@ _PyJIT_Compile(_PyExecutorObject *executor, const _PyUOpInstruction trace[], siz
539539 code += group -> code_size ;
540540 data += group -> data_size ;
541541 assert (code == memory + code_size );
542- assert (data == memory + code_size + data_size );
542+ assert (data == memory + code_size + state . trampolines . size + data_size );
543543#ifdef MAP_JIT
544544 pthread_jit_write_protect_np (1 );
545545#endif
0 commit comments