Home | History | Annotate | Download | only in jm
      1 ; Copyright (C) 2008 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 .source T_ireturn_6.java
     16 .class public dxc/junit/opcodes/ireturn/jm/T_ireturn_6
     17 .super java/lang/Object
     18 
     19 .method public <init>()V
     20     aload_0
     21     invokespecial java/lang/Object/<init>()V
     22     return
     23 .end method
     24 
     25 .method public run()I
     26     .limit locals 6
     27     .limit stack 6
     28     
     29     iconst_1
     30     istore_1
     31     iconst_2
     32     istore_2
     33     iconst_3
     34     istore 3
     35     
     36     iconst_4
     37     
     38     invokestatic dxc/junit/opcodes/ireturn/jm/T_ireturn_6/test()I
     39     
     40     ldc 0xcafe
     41     if_icmpne Label1
     42     
     43     iconst_4
     44     if_icmpne Label0
     45     
     46     iload_1
     47     iconst_1
     48     if_icmpne Label0
     49     
     50     iload_2
     51     iconst_2
     52     if_icmpne Label0
     53     
     54     iload_3
     55     iconst_3
     56     if_icmpne Label0    
     57     
     58     ldc 123456
     59     ireturn
     60 
     61 Label1:
     62     pop
     63 Label0:
     64     iconst_0
     65     ireturn
     66 
     67 .end method
     68 
     69 .method private static test()I
     70     .limit locals 4
     71     .limit stack 4
     72     
     73     ldc 0xaaa
     74     istore_1
     75     ldc 0xbbbb
     76     istore_2
     77     ldc 0xcccc
     78     istore_3
     79     
     80     ldc 0xdddd
     81     
     82     ldc 0xcafe
     83     ireturn
     84     
     85 .end method