15d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao#!/bin/bash 25d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao# 35d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao# Copyright (C) 2008 The Android Open Source Project 45d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao# 55d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao# Licensed under the Apache License, Version 2.0 (the "License"); 65d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao# you may not use this file except in compliance with the License. 75d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao# You may obtain a copy of the License at 85d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao# 95d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao# http://www.apache.org/licenses/LICENSE-2.0 105d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao# 115d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao# Unless required by applicable law or agreed to in writing, software 125d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao# distributed under the License is distributed on an "AS IS" BASIS, 135d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 145d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao# See the License for the specific language governing permissions and 155d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao# limitations under the License. 165d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao 175d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao# Stop if something fails. 185d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhaoset -e 195d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao 205d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao# Write out files with 32768 total static string declarations, so that 215d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao# the reference to "zorch" in the real test file will be guaranteed to 225d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao# need a jumbo string reference (it sorts last after all the others). 235d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao# Note: Each string reference is stored in a separate static variable, 245d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao# and that variable's name is also represented in the strings, which 255d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao# is why we can just have 32768 and not 65536 declarations. 265d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao 275d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhaoawk ' 285d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhaoBEGIN { 295d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao writeFile("Zorch1", 0, 16383); 305d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao writeFile("Zorch2", 16384, 32767); 315d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao} 325d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhaofunction writeFile(name, start, end) { 335d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao fileName = "src/" name ".java"; 345d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao printf("public class %s {\n", name) > fileName; 355d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao for (i = start; i <= end; i++) { 365d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao printf(" static public final String s%d = \"%d\";\n", 375d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao i, i) > fileName; 385d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao } 395d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao printf("}\n") > fileName; 405d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao}' 415d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao 425ee9454dfee08a70dec62b0ed0fd4ad274274937Sebastien Hertzif [ ${USE_JACK} = "true" ]; then 435ee9454dfee08a70dec62b0ed0fd4ad274274937Sebastien Hertz ${JACK} --output-dex . src 445ee9454dfee08a70dec62b0ed0fd4ad274274937Sebastien Hertzelse 455ee9454dfee08a70dec62b0ed0fd4ad274274937Sebastien Hertz mkdir classes 465ee9454dfee08a70dec62b0ed0fd4ad274274937Sebastien Hertz ${JAVAC} -d classes src/*.java 475ee9454dfee08a70dec62b0ed0fd4ad274274937Sebastien Hertz 485ee9454dfee08a70dec62b0ed0fd4ad274274937Sebastien Hertz ${DX} -JXmx500m --debug --dex --no-optimize --positions=none --no-locals --output=classes.dex classes 495ee9454dfee08a70dec62b0ed0fd4ad274274937Sebastien Hertzfi 505d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao 51904667a58fa38437d1be6907beb3fb76d1982e0bBrian Carlstromzip $TEST_NAME.jar classes.dex 52