+ /*
+ * If this is the last statement in the method, we know it is not a
+ * Return() operator (would not come here.) The following code is the
+ * optional support for a so-called "implicit return". Some AML code
+ * assumes that the last value of the method is "implicitly" returned
+ * to the caller. Just save the last result as the return value.
+ * NOTE: this is optional because the ASL language does not actually
+ * support this behavior.
+ */
+ if ((acpi_gbl_enable_interpreter_slack) &&
+ (walk_state->parser_state.aml >= walk_state->parser_state.aml_end)) {
+ ACPI_DEBUG_PRINT ((ACPI_DB_DISPATCH,
+ "Result of [%s] will be implicitly returned\n",
+ acpi_ps_get_opcode_name (op->common.aml_opcode)));
+
+ /* Use the top of the result stack as the implicit return value */
+
+ walk_state->return_desc = walk_state->results->results.obj_desc[0];
+ return_VALUE (TRUE);
+ }
+
+ /* No parent, the return value cannot possibly be used */
+