Imported Upstream version 6.4.0.137

Former-commit-id: 943baa9f16a098c33e129777827f3a9d20da00d6
This commit is contained in:
Xamarin Public Jenkins (auto-signing)
2019-07-26 19:53:28 +00:00
parent e9207cf623
commit ef583813eb
2712 changed files with 74169 additions and 40587 deletions

View File

@ -254,8 +254,7 @@ MonoException::~MonoException()
void
MonoException::beginFunction(const MachineFunction *MF)
{
if (DisableGNUEH && Asm->MAI->getExceptionHandlingType() == ExceptionHandling::ARM)
static_cast<ARMTargetStreamer*>(Asm->OutStreamer->getTargetStreamer())->emitFnStart();
EmitFnStart();
EHLabels.clear();
}
@ -363,6 +362,20 @@ MonoException::PrepareMonoLSDA(EHInfo *info)
}
}
void
MonoException::EmitFnStart(void)
{
if (DisableGNUEH && Asm->MAI->getExceptionHandlingType() == ExceptionHandling::ARM)
static_cast<ARMTargetStreamer*>(Asm->OutStreamer->getTargetStreamer())->emitFnStart();
}
void
MonoException::EmitFnEnd(void)
{
if (DisableGNUEH && Asm->MAI->getExceptionHandlingType() == ExceptionHandling::ARM)
static_cast<ARMTargetStreamer*>(Asm->OutStreamer->getTargetStreamer())->emitFnEnd();
}
void
MonoException::endFunction(const MachineFunction *MF)
{
@ -390,8 +403,10 @@ MonoException::endFunction(const MachineFunction *MF)
int monoMethodIdx = FuncIndexes.lookup (Asm->MF->getFunction ().getName ()) - 1;
if (monoMethodIdx == -1)
if (monoMethodIdx == -1) {
EmitFnEnd ();
return;
}
//outs () << "D: " << Asm->MF->getFunction()->getName() << " " << monoMethodIdx << "\n";
@ -416,8 +431,7 @@ MonoException::endFunction(const MachineFunction *MF)
Frames.push_back(info);
EHLabels.clear();
if (DisableGNUEH && Asm->MAI->getExceptionHandlingType() == ExceptionHandling::ARM)
static_cast<ARMTargetStreamer*>(Asm->OutStreamer->getTargetStreamer())->emitFnEnd();
EmitFnEnd ();
}
/// EmitMonoLSDA - Mono's version of EmitExceptionTable