mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-27 23:02:20 +00:00
switched over to _not_ using |__comobject|. Adjusted assembly to skip extra vtable header, and fixed inheritance in |nsISupports|
This commit is contained in:
parent
bbee6e597d
commit
ab2352e498
@ -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
|
||||
|
@ -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
|
||||
|
@ -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)
|
||||
|
Loading…
Reference in New Issue
Block a user