[Stackless-checkins] CVS: slpdev/src/2.3/sprint/Stackless switch_ppc_macosx.h, 1.11, 1.12

Bob Ippolito bob at centera.de
Sat Mar 13 14:03:27 CET 2004


Update of /home/cvs/slpdev/src/2.3/sprint/Stackless
In directory centera.de:/tmp/cvs-serv12253

Modified Files:
	switch_ppc_macosx.h 
Log Message:
Force full PIC prologue to exist for the best compiler in the world:
cc (GCC) 3.3 20030304 (Apple Computer, Inc. build 1636) (-mlongcall)


Index: switch_ppc_macosx.h
===================================================================
RCS file: /home/cvs/slpdev/src/2.3/sprint/Stackless/switch_ppc_macosx.h,v
retrieving revision 1.11
retrieving revision 1.12
diff -C2 -d -r1.11 -r1.12
*** switch_ppc_macosx.h	14 Jan 2004 14:26:54 -0000	1.11
--- switch_ppc_macosx.h	13 Mar 2004 13:03:25 -0000	1.12
***************
*** 36,51 ****
         "r21", "r22", "r23", "r24", "r25", "r26", "r27", "r28", "r29", "r31", \
         "cr2", "cr3", "cr4"
  static int
  slp_switch(void)
  {
      register int *stackref, stsizediff;
!     __asm__ volatile ("" : : : REGS_TO_SAVE);
!     __asm__ ("mr %0, r1" : "=g" (stackref) : );
      {
          SLP_SAVE_STATE(stackref, stsizediff);
          __asm__ volatile (
!             "mr r11, %0\n"
!             "add r1, r1, r11\n"
!             "add r30, r30, r11\n"
              : /* no outputs */
              : "g" (stsizediff)
--- 36,59 ----
         "r21", "r22", "r23", "r24", "r25", "r26", "r27", "r28", "r29", "r31", \
         "cr2", "cr3", "cr4"
+ 
  static int
  slp_switch(void)
  {
+     static int x = 0;
      register int *stackref, stsizediff;
!     __asm__ volatile (
!         "; asm block 1\n"
!         : /* no outputs */
!         : "r" (x)
!         : REGS_TO_SAVE
!     );
!     __asm__ ("; asm block 2\n\tmr %0, r1" : "=g" (stackref) : );
      {
          SLP_SAVE_STATE(stackref, stsizediff);
          __asm__ volatile (
!             "; asm block 3\n"
!             "\tmr r11, %0\n"
!             "\tadd r1, r1, r11\n"
!             "\tadd r30, r30, r11\n"
              : /* no outputs */
              : "g" (stsizediff)
***************
*** 55,59 ****
          return 0;
      }
-     __asm__ volatile ("" : : : REGS_TO_SAVE);
  }
  
--- 63,66 ----


_______________________________________________
Stackless-checkins mailing list
Stackless-checkins at stackless.com
http://www.stackless.com/mailman/listinfo/stackless-checkins



More information about the Stackless-checkins mailing list