summaryrefslogtreecommitdiff
path: root/source/components/parser
diff options
context:
space:
mode:
Diffstat (limited to 'source/components/parser')
-rw-r--r--source/components/parser/psloop.c2
-rw-r--r--source/components/parser/psparse.c12
-rw-r--r--source/components/parser/psxface.c6
3 files changed, 19 insertions, 1 deletions
diff --git a/source/components/parser/psloop.c b/source/components/parser/psloop.c
index 9625834c56f6..1fa2c880ca43 100644
--- a/source/components/parser/psloop.c
+++ b/source/components/parser/psloop.c
@@ -580,7 +580,7 @@ AcpiPsParseLoop (
ParserState = &WalkState->ParserState;
WalkState->ArgTypes = 0;
-#if (!defined (ACPI_NO_METHOD_EXECUTION) && !defined (ACPI_CONSTANT_EVAL_ONLY))
+#ifndef ACPI_CONSTANT_EVAL_ONLY
if (WalkState->WalkType & ACPI_WALK_METHOD_RESTART)
{
diff --git a/source/components/parser/psparse.c b/source/components/parser/psparse.c
index 0ad62b771bef..378bfab5b212 100644
--- a/source/components/parser/psparse.c
+++ b/source/components/parser/psparse.c
@@ -637,6 +637,18 @@ AcpiPsParseAml (
"Completed one call to walk loop, %s State=%p\n",
AcpiFormatException (Status), WalkState));
+ if (WalkState->MethodPathname && WalkState->MethodIsNested)
+ {
+ /* Optional object evaluation log */
+
+ ACPI_DEBUG_PRINT_RAW ((ACPI_DB_EVALUATION, "%-26s: %*s%s\n",
+ " Exit nested method",
+ (WalkState->MethodNestingDepth + 1) * 3, " ",
+ &WalkState->MethodPathname[1]));
+
+ ACPI_FREE (WalkState->MethodPathname);
+ WalkState->MethodIsNested = FALSE;
+ }
if (Status == AE_CTRL_TRANSFER)
{
/*
diff --git a/source/components/parser/psxface.c b/source/components/parser/psxface.c
index 8516fe3a35df..54f54eab15cd 100644
--- a/source/components/parser/psxface.c
+++ b/source/components/parser/psxface.c
@@ -307,6 +307,9 @@ AcpiPsExecuteMethod (
goto Cleanup;
}
+ WalkState->MethodPathname = Info->FullPathname;
+ WalkState->MethodIsNested = FALSE;
+
if (Info->ObjDesc->Method.InfoFlags & ACPI_METHOD_MODULE_LEVEL)
{
WalkState->ParseFlags |= ACPI_PARSE_MODULE_LEVEL;
@@ -437,6 +440,9 @@ AcpiPsExecuteTable (
goto Cleanup;
}
+ WalkState->MethodPathname = Info->FullPathname;
+ WalkState->MethodIsNested = FALSE;
+
if (Info->ObjDesc->Method.InfoFlags & ACPI_METHOD_MODULE_LEVEL)
{
WalkState->ParseFlags |= ACPI_PARSE_MODULE_LEVEL;