summaryrefslogtreecommitdiff
path: root/src/vm/frames.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/vm/frames.h')
-rw-r--r--src/vm/frames.h108
1 files changed, 8 insertions, 100 deletions
diff --git a/src/vm/frames.h b/src/vm/frames.h
index 7f35dd0ad8..276096522c 100644
--- a/src/vm/frames.h
+++ b/src/vm/frames.h
@@ -69,11 +69,7 @@
// | | to either a EE runtime helper function or
// | | a framed method.
// | |
-// | +-StubHelperFrame - for instantiating stubs that need to grow stack arguments
-// | |
-// | +-SecureDelegateFrame - represents a call Delegate.Invoke for secure delegate
-// | |
-// | +-MulticastFrame - this frame protects arguments to a MulticastDelegate
+// | +-MulticastFrame - this frame protects arguments to a MulticastDelegate
// | Invoke() call while calling each subscriber.
// |
// | +-FramedMethodFrame - this abstract frame represents a call to a method
@@ -220,7 +216,6 @@ FRAME_TYPE_NAME(HelperMethodFrame_2OBJ)
FRAME_TYPE_NAME(HelperMethodFrame_3OBJ)
FRAME_TYPE_NAME(HelperMethodFrame_PROTECTOBJ)
FRAME_ABSTRACT_TYPE_NAME(FramedMethodFrame)
-FRAME_TYPE_NAME(SecureDelegateFrame)
FRAME_TYPE_NAME(MulticastFrame)
FRAME_ABSTRACT_TYPE_NAME(UnmanagedToManagedFrame)
#ifdef FEATURE_COMINTEROP
@@ -238,9 +233,6 @@ FRAME_TYPE_NAME(ExternalMethodFrame)
#ifdef FEATURE_READYTORUN
FRAME_TYPE_NAME(DynamicHelperFrame)
#endif
-#if !defined(_TARGET_X86_)
-FRAME_TYPE_NAME(StubHelperFrame)
-#endif
FRAME_TYPE_NAME(GCFrame)
#ifdef FEATURE_INTERPRETER
FRAME_TYPE_NAME(InterpreterFrame)
@@ -1743,31 +1735,20 @@ protected:
}
};
-//+----------------------------------------------------------------------------
-//
-// Class: TPMethodFrame private
-//
-// Synopsis: This frame is pushed onto the stack for calls on transparent
-// proxy
-//
-//
-//+----------------------------------------------------------------------------
-
//------------------------------------------------------------------------
-// This represents a call Delegate.Invoke for secure delegate
-// It's only used to gc-protect the arguments during the call.
-// Actually the only reason to have this frame is so a proper
-// Assembly can be reported
+// This represents a call Multicast.Invoke. It's only used to gc-protect
+// the arguments during the iteration.
//------------------------------------------------------------------------
-class SecureDelegateFrame : public TransitionFrame
+class MulticastFrame : public TransitionFrame
{
- VPTR_VTABLE_CLASS(SecureDelegateFrame, TransitionFrame)
+ VPTR_VTABLE_CLASS(MulticastFrame, TransitionFrame)
PTR_MethodDesc m_pMD;
TransitionBlock m_TransitionBlock;
public:
+
virtual MethodDesc* GetFunction()
{
LIMITED_METHOD_CONTRACT;
@@ -1777,20 +1758,14 @@ public:
virtual TADDR GetTransitionBlock()
{
LIMITED_METHOD_DAC_CONTRACT;
- return PTR_HOST_MEMBER_TADDR(SecureDelegateFrame, this,
+ return PTR_HOST_MEMBER_TADDR(MulticastFrame, this,
m_TransitionBlock);
}
- static BYTE GetOffsetOfDatum()
- {
- LIMITED_METHOD_DAC_CONTRACT;
- return offsetof(SecureDelegateFrame, m_pMD);
- }
-
static int GetOffsetOfTransitionBlock()
{
LIMITED_METHOD_DAC_CONTRACT;
- return offsetof(SecureDelegateFrame, m_TransitionBlock);
+ return offsetof(MulticastFrame, m_TransitionBlock);
}
virtual void GcScanRoots(promote_func *fn, ScanContext* sc)
@@ -1800,8 +1775,6 @@ public:
PromoteCallerStack(fn, sc);
}
- virtual Assembly *GetAssembly();
-
int GetFrameType()
{
LIMITED_METHOD_DAC_CONTRACT;
@@ -1822,37 +1795,6 @@ public:
TraceDestination *trace, REGDISPLAY *regs);
// Keep as last entry in class
- DEFINE_VTABLE_GETTER_AND_CTOR_AND_DTOR(SecureDelegateFrame)
-};
-
-
-//------------------------------------------------------------------------
-// This represents a call Multicast.Invoke. It's only used to gc-protect
-// the arguments during the iteration.
-//------------------------------------------------------------------------
-
-class MulticastFrame : public SecureDelegateFrame
-{
- VPTR_VTABLE_CLASS(MulticastFrame, SecureDelegateFrame)
-
- public:
-
- virtual Assembly *GetAssembly()
- {
- WRAPPER_NO_CONTRACT;
- return Frame::GetAssembly();
- }
-
- int GetFrameType()
- {
- LIMITED_METHOD_DAC_CONTRACT;
- return TYPE_MULTICAST;
- }
-
- virtual BOOL TraceFrame(Thread *thread, BOOL fromPatch,
- TraceDestination *trace, REGDISPLAY *regs);
-
- // Keep as last entry in class
DEFINE_VTABLE_GETTER_AND_CTOR_AND_DTOR(MulticastFrame)
};
@@ -2382,40 +2324,6 @@ public:
typedef VPTR(class DynamicHelperFrame) PTR_DynamicHelperFrame;
#endif // FEATURE_READYTORUN
-//------------------------------------------------------------------------
-// This frame is used for instantiating stubs when the argument transform
-// is too complex to generate a tail-calling stub.
-//------------------------------------------------------------------------
-#if !defined(_TARGET_X86_)
-class StubHelperFrame : public TransitionFrame
-{
- friend class CheckAsmOffsets;
- friend class StubLinkerCPU;
-
- VPTR_VTABLE_CLASS(StubHelperFrame, TransitionFrame)
- VPTR_UNIQUE(VPTR_UNIQUE_StubHelperFrame)
-
- TransitionBlock m_TransitionBlock;
-
- virtual TADDR GetTransitionBlock()
- {
- LIMITED_METHOD_DAC_CONTRACT;
- return PTR_HOST_MEMBER_TADDR(StubHelperFrame, this,
- m_TransitionBlock);
- }
-
- static int GetOffsetOfTransitionBlock()
- {
- LIMITED_METHOD_DAC_CONTRACT;
- return offsetof(StubHelperFrame, m_TransitionBlock);
- }
-
-private:
- // Keep as last entry in class
- DEFINE_VTABLE_GETTER_AND_CTOR_AND_DTOR(StubHelperFrame)
-};
-#endif // _TARGET_X86_
-
#ifdef FEATURE_COMINTEROP
//------------------------------------------------------------------------