43 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Bash
		
	
	
	
			
		
		
	
	
			43 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Bash
		
	
	
	
| #!/bin/bash
 | |
| #
 | |
| # Copyright (C) 2008 The Android Open Source Project
 | |
| #
 | |
| # Licensed under the Apache License, Version 2.0 (the "License");
 | |
| # you may not use this file except in compliance with the License.
 | |
| # You may obtain a copy of the License at
 | |
| #
 | |
| #     http://www.apache.org/licenses/LICENSE-2.0
 | |
| #
 | |
| # Unless required by applicable law or agreed to in writing, software
 | |
| # distributed under the License is distributed on an "AS IS" BASIS,
 | |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | |
| # See the License for the specific language governing permissions and
 | |
| # limitations under the License.
 | |
| 
 | |
| # Write out files with 32768 total static string declarations, so that
 | |
| # the reference to "zorch" in the real test file will be guaranteed to
 | |
| # need a jumbo string reference (it sorts last after all the others).
 | |
| # Note: Each string reference is stored in a separate static variable,
 | |
| # and that variable's name is also represented in the strings, which
 | |
| # is why we can just have 32768 and not 65536 declarations.
 | |
| 
 | |
| awk '
 | |
| BEGIN {
 | |
|     writeFile("Zorch1", 0, 16383);
 | |
|     writeFile("Zorch2", 16384, 32767);
 | |
| }
 | |
| function writeFile(name, start, end) {
 | |
|     fileName = name ".java";
 | |
|     printf("public class %s {\n", name) > fileName;
 | |
|     for (i = start; i <= end; i++) {
 | |
|         printf("    static public final String s%d = \"%d\";\n",
 | |
|             i, i) > fileName;
 | |
|     }
 | |
|     printf("}\n") > fileName;
 | |
| }'
 | |
| 
 | |
| $JAVAC -Xlint:-options -source 1.7 -target 1.7 -d . *.java
 | |
| 
 | |
| dx --debug --dex --no-optimize --positions=none --no-locals \
 | |
|     --dump-method=Blort.test *.class
 |