Added emission of dwarf lexical blocks.

Also, dropped support for DISABLE_DEBUG_INFO definition.
This commit is contained in:
Alexey Prokhin
2011-12-04 14:48:47 +04:00
parent cdeca718fc
commit 91f4e5d015
12 changed files with 221 additions and 194 deletions

View File

@@ -553,7 +553,7 @@ void DtoCreateNestedContext(FuncDeclaration* fd) {
// copy parent frame into beginning
if (nparelems)
{
LLValue* src = DtoLoad(irfunction->nestArg);
LLValue* src = irfunction->nestArg;
if (!src)
{
assert(irfunction->thisArg);
@@ -563,6 +563,8 @@ void DtoCreateNestedContext(FuncDeclaration* fd) {
assert(cd);
assert(cd->vthis);
src = DtoLoad(DtoGEPi(thisval, 0,cd->vthis->ir.irField->index, ".vthis"));
} else {
src = DtoLoad(src);
}
DtoMemCpy(nestedVars, src, DtoConstSize_t(nparelems*PTRSIZE),
getABITypeAlign(getVoidPtrType()));
@@ -615,7 +617,7 @@ void DtoCreateNestedContext(FuncDeclaration* fd) {
// copy parent frames into beginning
if (depth != 0) {
LLValue* src = DtoLoad(irfunction->nestArg);
LLValue* src = irfunction->nestArg;
if (!src) {
assert(irfunction->thisArg);
assert(fd->isMember2());
@@ -634,6 +636,8 @@ void DtoCreateNestedContext(FuncDeclaration* fd) {
else
#endif
src = DtoLoad(DtoGEPi(thisval, 0, cd->vthis->ir.irField->index, ".vthis"));
} else {
src = DtoLoad(src);
}
if (depth > 1) {
src = DtoBitCast(src, getVoidPtrType());