diff options
Diffstat (limited to 'runtime/lambda/art_lambda_method.cc')
-rw-r--r-- | runtime/lambda/art_lambda_method.cc | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/runtime/lambda/art_lambda_method.cc b/runtime/lambda/art_lambda_method.cc index 6f9f8bbb59..0690cd1a31 100644 --- a/runtime/lambda/art_lambda_method.cc +++ b/runtime/lambda/art_lambda_method.cc @@ -14,6 +14,7 @@ * limitations under the License. */ +#include "art_method-inl.h" #include "lambda/art_lambda_method.h" #include "base/logging.h" @@ -73,5 +74,12 @@ ArtLambdaMethod::ArtLambdaMethod(ArtMethod* target_method, } } +size_t ArtLambdaMethod::GetArgumentVRegCount() const { + DCHECK(GetArtMethod()->IsStatic()); // Instance methods don't have receiver in shorty. + const char* method_shorty = GetArtMethod()->GetShorty(); + DCHECK_NE(*method_shorty, '\0') << method_shorty; + return ShortyFieldType::CountVirtualRegistersRequired(method_shorty + 1); // skip return type +} + } // namespace lambda } // namespace art |