TIP: Click on subject to list as thread! ANSI
echo: os2prog
to: All
from: Thomas Seeling
date: 1997-02-26 11:19:59
subject: Re: _Optlink calling convention

* Crossposted in OS2PROG
* Crossposted in OS2.PROG.GER
* Crossposted in OS2NET.PROGRAMMIERUNG.GER

======================================================================
* Area : emx
======================================================================
From: Holger Veit 


>
> Is there no way to link a dll using the _Optlink calling convention?
>
> I'm trying to build some java native methods and, apparently, IBM's JVM
> requires this calling convention.
>
> Also, being a Unix programmer, I have no idea what these conventions refer to
> in detail.  Any details on the two conventions would be helpful
> and enlightening.

The standard calling convention puts all parameters right-to-left on the
stack, _Optlink tries to optimize in that typically the first three non-struct,
non-floatingpoint parameters are put into registers.

As long as you only have char,int,long,pointer data types in the parameter
list, you can emulate the behaviour in EMX/gcc with

#define _Optlink __attribute__((__regparm__(3)))

Note this won't work with data types that don't fit into 32 bit registers.

--
         Dr.-Ing. Holger Veit             | INTERNET: Holger.Veit{at}gmd.de
|  |   / GMD - German National Research   | Phone: (+49) 2241 14 2448
|__|  /  Center for Information Technology| Fax:   (+49) 2241 14 2242
|  | /   Schloss Birlinghoven             |     XFree86/OS2 goes public!
|  |/    D-53754 Sankt Augustin, Germany  |    V3.2 from ftp.xfree86.org
         WWW: http://borneo.gmd.de/~veit/ |  /pub/XFree86/3.2/binaries/OS2
-------------
To unsubscribe send a message to majordomo{at}IAEhv.nl with in the body:
unsubscribe emx 
Report serious problems at: emx-owner{at}.IAEhv.nl.
======================================================================

--- E3-32/1.11-32/2.51+
* Origin: Die TeX-Box +49-6034-930021 V.34 -930022 ISDN 24h (2:244/1130.42)
SEEN-BY: 50/99 54/99 270/101 620/243 625/160 711/401 413 430 934 712/311 407
SEEN-BY: 712/505 506 517 623 624 704 713/317 800/1
@PATH: 244/1130 1500 396/1 270/101 712/624 711/934

SOURCE: echomail via fidonet.ozzmosis.com

Email questions or comments to sysop@ipingthereforeiam.com
All parts of this website painstakingly hand-crafted in the U.S.A.!
IPTIA BBS/MUD/Terminal/Game Server List, © 2025 IPTIA Consulting™.