Home | History | Annotate | Download | only in fill-array-data
      1 # Copyright (c) 2016, the R8 project authors. Please see the AUTHORS file
      2 # for details. All rights reserved. Use of this source code is governed by a
      3 # BSD-style license that can be found in the LICENSE file.
      4 
      5 .class public LTest;
      6 
      7 .super Ljava/lang/Object;
      8 
      9 # Simple fill array data
     10 .method public static test1()[I
     11   .registers 2
     12 
     13   const/4 v1, 3
     14   new-array v0, v1, [I
     15   fill-array-data v0, :array_data
     16   return-object v0
     17 
     18   :array_data
     19   .array-data 4
     20     1 2 3
     21   .end array-data
     22 .end method
     23 
     24 # Fill array data after data
     25 .method public static test2()[I
     26   .registers 2
     27 
     28   goto :start
     29 
     30   :array_data
     31   .array-data 4
     32     4 5 6
     33   .end array-data
     34 
     35   :start
     36   const/4 v1, 3
     37   new-array v0, v1, [I
     38   fill-array-data v0, :array_data
     39   return-object v0
     40 
     41 .end method
     42 
     43 .method public static main([Ljava/lang/String;)V
     44     .locals 2
     45 
     46     sget-object v0, Ljava/lang/System;->out:Ljava/io/PrintStream;
     47 
     48     invoke-static {}, LTest;->test1()[I
     49     move-result-object v1
     50     invoke-static {v1}, Ljava/util/Arrays;->toString([I)Ljava/lang/String;
     51     move-result-object v1
     52     invoke-virtual {v0, v1}, Ljava/io/PrintStream;->print(Ljava/lang/Object;)V
     53 
     54     invoke-static {}, LTest;->test2()[I
     55     move-result-object v1
     56     invoke-static {v1}, Ljava/util/Arrays;->toString([I)Ljava/lang/String;
     57     move-result-object v1
     58     invoke-virtual {v0, v1}, Ljava/io/PrintStream;->print(Ljava/lang/Object;)V
     59 
     60     return-void
     61 .end method
     62