فهرست منبع

x86/x64: Fix stack overflow handling for coroutine results.

Mike Pall 15 سال پیش
والد
کامیت
d351c2ae36
4فایلهای تغییر یافته به همراه1507 افزوده شده و 1502 حذف شده
  1. 522 522
      src/buildvm_x64.h
  2. 477 477
      src/buildvm_x64win.h
  3. 5 0
      src/buildvm_x86.dasc
  4. 503 503
      src/buildvm_x86.h

تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 522 - 522
src/buildvm_x64.h


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 477 - 477
src/buildvm_x64win.h


+ 5 - 0
src/buildvm_x86.dasc

@@ -1722,6 +1722,11 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse)
   |  mov FCARG2, PC
   |  mov FCARG1, L:RB
   |  call extern lj_state_growstack@8	// (lua_State *L, int n)
+  |.if X64
+  |  mov L:PC, TMP1
+  |.else
+  |  mov L:PC, ARG1
+  |.endif
   |  mov BASE, L:RB->base
   |  jmp <4				// Retry the stack move.
   |.endmacro

تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 503 - 503
src/buildvm_x86.h


برخی فایل ها در این مقایسه diff نمایش داده نمی شوند زیرا تعداد فایل ها بسیار زیاد است