[Vm-dev] [commit][3094] Nuke mistaken addition

commits at squeakvm.org commits at squeakvm.org
Fri Oct 3 20:44:18 UTC 2014


Revision: 3094
Author:   eliot
Date:     2014-10-03 13:44:16 -0700 (Fri, 03 Oct 2014)
Log Message:
-----------
Nuke mistaken addition

Removed Paths:
-------------
    trunk/platforms/Cross/plugins/IA32ABI/sqMacFFI.s

Property Changed:
----------------
    trunk/platforms/Cross/plugins/sqPluginsSCCSVersion.h

Deleted: trunk/platforms/Cross/plugins/IA32ABI/sqMacFFI.s
===================================================================
--- trunk/platforms/Cross/plugins/IA32ABI/sqMacFFI.s	2014-10-03 16:45:17 UTC (rev 3093)
+++ trunk/platforms/Cross/plugins/IA32ABI/sqMacFFI.s	2014-10-03 20:44:16 UTC (rev 3094)
@@ -1,121 +0,0 @@
-#if __BIG_ENDIAN__
-/****************************************************************************
-*   PROJECT: mac os-x FFI assembler, from the os-9 version
-*   FILE:    sqMacFFI.s
-*   CONTENT: 
-*
-*   AUTHOR:  Andreas Raab (ar), John McIntosh.
-*   ADDRESS: 
-*   EMAIL:   johnmci at smalltalkconsulting.com
-*   RCSID:   $Id: sqMacFFI.s 1369 2006-03-22 04:48:20Z johnmci $
-*
-*   NOTES: See change log below.
-*	1/24/2002  JMM hacked from the original code for os-x, added save for CCR and 
-*			tweaked _4_gpregs compare
-*	
-*	11/14/2002 JMM clean & fix quad word alignment issue
-*   2/24/2006 JMM unable to compile and work on GCC 3.3, perhaps linkage area is 32, not 24? 
-*****************************************************************************/
-#import <architecture/ppc/asm_help.h>
-#import	<architecture/ppc/pseudo_inst.h>
-.text
-.globl _ffiCallAddressOf
-_ffiCallAddressOf:	
-	mflr r0		/* Save link register */
-	stw r0, 8(sp)
-	mfcr r0		/* save CCR  */
-	stw r0, 4(sp)
-
-	/* get stack index and preserve it for copying stuff later */
-	EXTERN_TO_REG(r4, _ffiStackIndex) // lwz r4, ffiStackIndex(r2)
-
-	/* compute frame size */
-	rlwinm r5, r4, 2, 0, 29  /* ffiStackIndex words to bytes (e.g., "slwi r5, r4, 2") */
-	addi r5, r5, 32+15 	/* linkage area */ //* JMM 02/25/06 was 24, Ian has 32 */
-	rlwinm r5,r5,0,0,27 	/* JMM round up to quad word*/
-	neg  r5, r5    		/* stack goes down */
-	stwux sp, sp, r5 	/* adjust stack frame */
-
-	/* load the stack frame area */
-	/* note: r4 == ffiStackIndex */
-	addi r5, sp, 24         /* dst = r1 + linkage area, was 24 */
-	EXTERN_TO_REG(r6, _ffiStackLocation) //lwz r6, ffiStack(r2)  /* src = ffiStack */
-	li r7, 0                /* i = 0 */
-	b nextItem
-copyItem:
-	rlwinm r8, r7, 2, 0, 29 /* r8 = i << 2 (e.g., "slwi r8, r7, 2") */
-	lwzx r0, r6, r8         /* r0 = ffiStack[r8] */
-	addi r7, r7, 1          /* i = i + 1 */
-	stwx r0, r5, r8         /* dst[r8] = r0 */
-nextItem:
-	cmpw r7, r4             /* i < ffiStackIndex ? */
-	blt copyItem
-
-	/* Keep addr somewhere so we can load all regs beforehand */
-	stw r3, 20(sp)
-
-	/* load all the floating point registers */
-	EXTERN_TO_REG(r3, _fpRegCount) //lwz r3, fpRegCount
-	EXTERN_TO_REG(r12, _FPRegsLocation) // lwz r12, FPRegs(r2)
-	cmpwi r3, 0     /* skip all fpregs if no FP values used */
-	beq _0_fpregs   /* was lt should be eq */ 
-	cmpwi r3, 8
-	blt _7_fpregs   /* skip last N fpregs if unused */
-_all_fpregs:
-	lfd  f8, 56(r12)
-	lfd  f9, 64(r12)
-	lfd f10, 72(r12)
-	lfd f11, 80(r12)
-	lfd f12, 88(r12)
-	lfd f13, 96(r12)
-_7_fpregs:
-	lfd  f1,  0(r12)
-	lfd  f2,  8(r12)
-	lfd  f3, 16(r12)
-	lfd  f4, 24(r12)
-	lfd  f5, 32(r12)
-	lfd  f6, 40(r12)
-	lfd  f7, 48(r12)
-_0_fpregs:
-
-	/* load all the general purpose registers */
-	EXTERN_TO_REG(r3, _gpRegCount) //lwz  r3, gpRegCount
-	EXTERN_TO_REG(r12, _GPRegsLocation) // lwz  r12, GPRegs(r2)
-	cmpwi r3, 5     /* 5 was 4 in original code but that seems to be a bug? */
-	blt _4_gpregs    /* skip last four gpregs if unused */
-_all_gpregs:
-	lwz  r7, 16(r12)
-	lwz  r8, 20(r12)
-	lwz  r9, 24(r12)
-	lwz r10, 28(r12)
-_4_gpregs:
-	lwz  r3,  0(r12)
-	lwz  r4,  4(r12)
-	lwz  r5,  8(r12)
-	lwz  r6, 12(r12)
-_0_gpregs:
-
-	/* go calling out */
-	//Note: OS-X mach-o does not use TVectors rather the addr is the entry point
-	lwz r12, 20(sp) /* fetch addr */
-	mtctr r12       /* move entry point into count register */
-	bctrl           /* jump through count register and link */
-
-	lwz sp, 0(sp)   /* restore frame */
-
-	/* store the result of the call */
-        /* more intelligent logic would have a check for type versus assuming all */
-        
-	EXTERN_TO_REG(r12, _longReturnValueLocation) //lwz r12, longReturnValue(r2)
-	stw r3, 0(r12)
-	stw r4, 4(r12)
- 	EXTERN_TO_REG(r12, _floatReturnValueLocation) //lwz r12, longReturnValue(r2)
-        stfd f1, 0(r12) //stfd f1, floatReturnValue(r2)
-
-	/* and get out of here */
-        lwz r0, 4(sp) 	/*restore CCR */
-        mtcrf 0xff,r0                               
-	lwz r0, 8(sp)	/* restore ltr */
- 	mtlr r0
-	blr
-#endif
\ No newline at end of file


Property changes on: trunk/platforms/Cross/plugins/sqPluginsSCCSVersion.h
___________________________________________________________________
Modified: checkindate
   - Fri Oct  3 09:44:15 PDT 2014
   + Fri Oct  3 13:44:24 PDT 2014



More information about the Vm-dev mailing list