1 # Copyright (C) 2015 The Android Open Source Project 2 # 3 # Licensed under the Apache License, Version 2.0 (the "License"); 4 # you may not use this file except in compliance with the License. 5 # You may obtain a copy of the License at 6 # 7 # http://www.apache.org/licenses/LICENSE-2.0 8 # 9 # Unless required by applicable law or agreed to in writing, software 10 # distributed under the License is distributed on an "AS IS" BASIS, 11 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 # See the License for the specific language governing permissions and 13 # limitations under the License. 14 15 .class public LTestCase; 16 17 .super Ljava/lang/Object; 18 19 .method public static testCase([BLMain;)V 20 .registers 12 21 const/4 v2, 0 22 array-length v0, v10 23 div-int/lit8 v0, v0, 7 24 invoke-static {v2, v0}, Ljava/lang/Math;->max(II)I 25 move-result v7 26 move v6, v2 27 move v3, v2 28 :label5 29 if-ge v6, v7, :label1 30 const-wide/16 v0, 0 31 move-wide v4, v0 32 move v1, v2 33 move v0, v3 34 :label4 35 const/4 v3, 6 36 if-ge v1, v3, :label2 37 const/16 v3, 8 38 shl-long/2addr v4, v3 39 add-int/lit8 v3, v0, 1 40 aget-byte v0, v10, v0 41 if-gez v0, :label3 42 add-int/lit16 v0, v0, 256 43 :label3 44 int-to-long v8, v0 45 or-long/2addr v4, v8 46 add-int/lit8 v0, v1, 1 47 move v1, v0 48 move v0, v3 49 goto :label4 50 :label2 51 add-int/lit8 v3, v0, 1 52 aget-byte v0, v10, v0 53 invoke-interface {v11, v4, v5, v0}, LItf;->invokeInterface(JI)V 54 add-int/lit8 v0, v6, 1 55 move v6, v0 56 goto :label5 57 :label1 58 return-void 59 .end method 60