switched over to _not_ using |__comobject|. Adjusted assembly to skip extra vtable header, and fixed inheritance in |nsISupports|

This commit is contained in:
scc%netscape.com 1999-07-15 03:02:01 +00:00
parent bbee6e597d
commit ab2352e498
3 changed files with 3 additions and 23 deletions

View File

@ -83,23 +83,13 @@ typedef PRUint32 nsrefcnt;
#include "nsTraceRefcnt.h"
/**
* Base class for all XPCOM objects to use. This macro forces the C++
* compiler to use a compatible vtable layout for all XPCOM objects.
*/
#ifdef XP_MAC
#define XPCOM_OBJECT : public __comobject
#else
#define XPCOM_OBJECT
#endif
/**
* Basic component object model interface. Objects which implement
* this interface support runtime interface discovery (QueryInterface)
* and a reference counted memory model (AddRef/Release). This is
* modelled after the win32 IUnknown API.
*/
class nsISupports XPCOM_OBJECT {
class nsISupports {
public:
#ifndef NSCAP_FEATURE_HIDE_NSISUPPORTS_GETIID

View File

@ -83,23 +83,13 @@ typedef PRUint32 nsrefcnt;
#include "nsTraceRefcnt.h"
/**
* Base class for all XPCOM objects to use. This macro forces the C++
* compiler to use a compatible vtable layout for all XPCOM objects.
*/
#ifdef XP_MAC
#define XPCOM_OBJECT : public __comobject
#else
#define XPCOM_OBJECT
#endif
/**
* Basic component object model interface. Objects which implement
* this interface support runtime interface discovery (QueryInterface)
* and a reference counted memory model (AddRef/Release). This is
* modelled after the win32 IUnknown API.
*/
class nsISupports XPCOM_OBJECT {
class nsISupports {
public:
#ifndef NSCAP_FEATURE_HIDE_NSISUPPORTS_GETIID

View File

@ -80,7 +80,7 @@
lwz r4,0(r3) # get vTable from 'that'
lwz r5,164(r31) # methodIndex
slwi r5,r5,2 # methodIndex * 4
addi r5,r5,4 # step over junk at start of vTable !
addi r5,r5,8 # step over junk at start of vTable !
lwzx r12,r5,r4 # get function pointer
lwz r4,28(sp)