summaryrefslogtreecommitdiff
path: root/source/components/parser
diff options
context:
space:
mode:
authorJung-uk Kim <jkim@FreeBSD.org>2018-12-13 19:04:25 +0000
committerJung-uk Kim <jkim@FreeBSD.org>2018-12-13 19:04:25 +0000
commitd28459aaaf532373b12c80aa5b869f8b591954e7 (patch)
tree22941844047df08d63d286d7dfbf38f3a8f79e0f /source/components/parser
parent4d4b15a0e8524e15826ac932bd05252dbd246422 (diff)
Notes
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;