/*
 * Copyright (C) 2017 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.
 */

public class Main {

  static volatile Object s000, s001, s002, s003, s004, s005, s006, s007, s008, s009;
  static volatile Object s010, s011, s012, s013, s014, s015, s016, s017, s018, s019;
  static volatile Object s020, s021, s022, s023, s024, s025, s026, s027, s028, s029;
  static volatile Object s030, s031, s032, s033, s034, s035, s036, s037, s038, s039;
  static volatile Object s040, s041, s042, s043, s044, s045, s046, s047, s048, s049;
  static volatile Object s050, s051, s052, s053, s054, s055, s056, s057, s058, s059;
  static volatile Object s060, s061, s062, s063, s064, s065, s066, s067, s068, s069;
  static volatile Object s070, s071, s072, s073, s074, s075, s076, s077, s078, s079;
  static volatile Object s080, s081, s082, s083, s084, s085, s086, s087, s088, s089;
  static volatile Object s090, s091, s092, s093, s094, s095, s096, s097, s098, s099;

  static volatile Object s100, s101, s102, s103, s104, s105, s106, s107, s108, s109;
  static volatile Object s110, s111, s112, s113, s114, s115, s116, s117, s118, s119;
  static volatile Object s120, s121, s122, s123, s124, s125, s126, s127, s128, s129;
  static volatile Object s130, s131, s132, s133, s134, s135, s136, s137, s138, s139;
  static volatile Object s140, s141, s142, s143, s144, s145, s146, s147, s148, s149;
  static volatile Object s150, s151, s152, s153, s154, s155, s156, s157, s158, s159;
  static volatile Object s160, s161, s162, s163, s164, s165, s166, s167, s168, s169;
  static volatile Object s170, s171, s172, s173, s174, s175, s176, s177, s178, s179;
  static volatile Object s180, s181, s182, s183, s184, s185, s186, s187, s188, s189;
  static volatile Object s190, s191, s192, s193, s194, s195, s196, s197, s198, s199;

  static volatile Object s200, s201, s202, s203, s204, s205, s206, s207, s208, s209;
  static volatile Object s210, s211, s212, s213, s214, s215, s216, s217, s218, s219;
  static volatile Object s220, s221, s222, s223, s224, s225, s226, s227, s228, s229;
  static volatile Object s230, s231, s232, s233, s234, s235, s236, s237, s238, s239;
  static volatile Object s240, s241, s242, s243, s244, s245, s246, s247, s248, s249;
  static volatile Object s250, s251, s252, s253, s254, s255, s256, s257, s258, s259;
  static volatile Object s260, s261, s262, s263, s264, s265, s266, s267, s268, s269;
  static volatile Object s270, s271, s272, s273, s274, s275, s276, s277, s278, s279;
  static volatile Object s280, s281, s282, s283, s284, s285, s286, s287, s288, s289;
  static volatile Object s290, s291, s292, s293, s294, s295, s296, s297, s298, s299;

  static volatile Object s300, s301, s302, s303, s304, s305, s306, s307, s308, s309;
  static volatile Object s310, s311, s312, s313, s314, s315, s316, s317, s318, s319;
  static volatile Object s320, s321, s322, s323, s324, s325, s326, s327, s328, s329;
  static volatile Object s330, s331, s332, s333, s334, s335, s336, s337, s338, s339;
  static volatile Object s340, s341, s342, s343, s344, s345, s346, s347, s348, s349;
  static volatile Object s350, s351, s352, s353, s354, s355, s356, s357, s358, s359;
  static volatile Object s360, s361, s362, s363, s364, s365, s366, s367, s368, s369;
  static volatile Object s370, s371, s372, s373, s374, s375, s376, s377, s378, s379;
  static volatile Object s380, s381, s382, s383, s384, s385, s386, s387, s388, s389;
  static volatile Object s390, s391, s392, s393, s394, s395, s396, s397, s398, s399;

  static volatile Object s400, s401, s402, s403, s404, s405, s406, s407, s408, s409;
  static volatile Object s410, s411, s412, s413, s414, s415, s416, s417, s418, s419;
  static volatile Object s420, s421, s422, s423, s424, s425, s426, s427, s428, s429;
  static volatile Object s430, s431, s432, s433, s434, s435, s436, s437, s438, s439;
  static volatile Object s440, s441, s442, s443, s444, s445, s446, s447, s448, s449;
  static volatile Object s450, s451, s452, s453, s454, s455, s456, s457, s458, s459;
  static volatile Object s460, s461, s462, s463, s464, s465, s466, s467, s468, s469;
  static volatile Object s470, s471, s472, s473, s474, s475, s476, s477, s478, s479;
  static volatile Object s480, s481, s482, s483, s484, s485, s486, s487, s488, s489;
  static volatile Object s490, s491, s492, s493, s494, s495, s496, s497, s498, s499;

  static volatile Object s500, s501, s502, s503, s504, s505, s506, s507, s508, s509;
  static volatile Object s510, s511, s512, s513, s514, s515, s516, s517, s518, s519;
  static volatile Object s520, s521, s522, s523, s524, s525, s526, s527, s528, s529;
  static volatile Object s530, s531, s532, s533, s534, s535, s536, s537, s538, s539;
  static volatile Object s540, s541, s542, s543, s544, s545, s546, s547, s548, s549;
  static volatile Object s550, s551, s552, s553, s554, s555, s556, s557, s558, s559;
  static volatile Object s560, s561, s562, s563, s564, s565, s566, s567, s568, s569;
  static volatile Object s570, s571, s572, s573, s574, s575, s576, s577, s578, s579;
  static volatile Object s580, s581, s582, s583, s584, s585, s586, s587, s588, s589;
  static volatile Object s590, s591, s592, s593, s594, s595, s596, s597, s598, s599;

  static volatile Object s600, s601, s602, s603, s604, s605, s606, s607, s608, s609;
  static volatile Object s610, s611, s612, s613, s614, s615, s616, s617, s618, s619;
  static volatile Object s620, s621, s622, s623, s624, s625, s626, s627, s628, s629;
  static volatile Object s630, s631, s632, s633, s634, s635, s636, s637, s638, s639;
  static volatile Object s640, s641, s642, s643, s644, s645, s646, s647, s648, s649;
  static volatile Object s650, s651, s652, s653, s654, s655, s656, s657, s658, s659;
  static volatile Object s660, s661, s662, s663, s664, s665, s666, s667, s668, s669;
  static volatile Object s670, s671, s672, s673, s674, s675, s676, s677, s678, s679;
  static volatile Object s680, s681, s682, s683, s684, s685, s686, s687, s688, s689;
  static volatile Object s690, s691, s692, s693, s694, s695, s696, s697, s698, s699;

  static volatile Object s700, s701, s702, s703, s704, s705, s706, s707, s708, s709;
  static volatile Object s710, s711, s712, s713, s714, s715, s716, s717, s718, s719;
  static volatile Object s720, s721, s722, s723, s724, s725, s726, s727, s728, s729;
  static volatile Object s730, s731, s732, s733, s734, s735, s736, s737, s738, s739;
  static volatile Object s740, s741, s742, s743, s744, s745, s746, s747, s748, s749;
  static volatile Object s750, s751, s752, s753, s754, s755, s756, s757, s758, s759;
  static volatile Object s760, s761, s762, s763, s764, s765, s766, s767, s768, s769;
  static volatile Object s770, s771, s772, s773, s774, s775, s776, s777, s778, s779;
  static volatile Object s780, s781, s782, s783, s784, s785, s786, s787, s788, s789;
  static volatile Object s790, s791, s792, s793, s794, s795, s796, s797, s798, s799;

  static volatile Object s800, s801, s802, s803, s804, s805, s806, s807, s808, s809;
  static volatile Object s810, s811, s812, s813, s814, s815, s816, s817, s818, s819;
  static volatile Object s820, s821, s822, s823, s824, s825, s826, s827, s828, s829;
  static volatile Object s830, s831, s832, s833, s834, s835, s836, s837, s838, s839;
  static volatile Object s840, s841, s842, s843, s844, s845, s846, s847, s848, s849;
  static volatile Object s850, s851, s852, s853, s854, s855, s856, s857, s858, s859;
  static volatile Object s860, s861, s862, s863, s864, s865, s866, s867, s868, s869;
  static volatile Object s870, s871, s872, s873, s874, s875, s876, s877, s878, s879;
  static volatile Object s880, s881, s882, s883, s884, s885, s886, s887, s888, s889;
  static volatile Object s890, s891, s892, s893, s894, s895, s896, s897, s898, s899;

  static volatile Object s900, s901, s902, s903, s904, s905, s906, s907, s908, s909;
  static volatile Object s910, s911, s912, s913, s914, s915, s916, s917, s918, s919;
  static volatile Object s920, s921, s922, s923, s924, s925, s926, s927, s928, s929;
  static volatile Object s930, s931, s932, s933, s934, s935, s936, s937, s938, s939;
  static volatile Object s940, s941, s942, s943, s944, s945, s946, s947, s948, s949;
  static volatile Object s950, s951, s952, s953, s954, s955, s956, s957, s958, s959;
  static volatile Object s960, s961, s962, s963, s964, s965, s966, s967, s968, s969;
  static volatile Object s970, s971, s972, s973, s974, s975, s976, s977, s978, s979;
  static volatile Object s980, s981, s982, s983, s984, s985, s986, s987, s988, s989;
  static volatile Object s990, s991, s992, s993, s994, s995, s996, s997, s998, s999;


  volatile Object i0000, i0001, i0002, i0003, i0004, i0005, i0006, i0007, i0008, i0009;
  volatile Object i0010, i0011, i0012, i0013, i0014, i0015, i0016, i0017, i0018, i0019;
  volatile Object i0020, i0021, i0022, i0023, i0024, i0025, i0026, i0027, i0028, i0029;
  volatile Object i0030, i0031, i0032, i0033, i0034, i0035, i0036, i0037, i0038, i0039;
  volatile Object i0040, i0041, i0042, i0043, i0044, i0045, i0046, i0047, i0048, i0049;
  volatile Object i0050, i0051, i0052, i0053, i0054, i0055, i0056, i0057, i0058, i0059;
  volatile Object i0060, i0061, i0062, i0063, i0064, i0065, i0066, i0067, i0068, i0069;
  volatile Object i0070, i0071, i0072, i0073, i0074, i0075, i0076, i0077, i0078, i0079;
  volatile Object i0080, i0081, i0082, i0083, i0084, i0085, i0086, i0087, i0088, i0089;
  volatile Object i0090, i0091, i0092, i0093, i0094, i0095, i0096, i0097, i0098, i0099;

  volatile Object i0100, i0101, i0102, i0103, i0104, i0105, i0106, i0107, i0108, i0109;
  volatile Object i0110, i0111, i0112, i0113, i0114, i0115, i0116, i0117, i0118, i0119;
  volatile Object i0120, i0121, i0122, i0123, i0124, i0125, i0126, i0127, i0128, i0129;
  volatile Object i0130, i0131, i0132, i0133, i0134, i0135, i0136, i0137, i0138, i0139;
  volatile Object i0140, i0141, i0142, i0143, i0144, i0145, i0146, i0147, i0148, i0149;
  volatile Object i0150, i0151, i0152, i0153, i0154, i0155, i0156, i0157, i0158, i0159;
  volatile Object i0160, i0161, i0162, i0163, i0164, i0165, i0166, i0167, i0168, i0169;
  volatile Object i0170, i0171, i0172, i0173, i0174, i0175, i0176, i0177, i0178, i0179;
  volatile Object i0180, i0181, i0182, i0183, i0184, i0185, i0186, i0187, i0188, i0189;
  volatile Object i0190, i0191, i0192, i0193, i0194, i0195, i0196, i0197, i0198, i0199;

  volatile Object i0200, i0201, i0202, i0203, i0204, i0205, i0206, i0207, i0208, i0209;
  volatile Object i0210, i0211, i0212, i0213, i0214, i0215, i0216, i0217, i0218, i0219;
  volatile Object i0220, i0221, i0222, i0223, i0224, i0225, i0226, i0227, i0228, i0229;
  volatile Object i0230, i0231, i0232, i0233, i0234, i0235, i0236, i0237, i0238, i0239;
  volatile Object i0240, i0241, i0242, i0243, i0244, i0245, i0246, i0247, i0248, i0249;
  volatile Object i0250, i0251, i0252, i0253, i0254, i0255, i0256, i0257, i0258, i0259;
  volatile Object i0260, i0261, i0262, i0263, i0264, i0265, i0266, i0267, i0268, i0269;
  volatile Object i0270, i0271, i0272, i0273, i0274, i0275, i0276, i0277, i0278, i0279;
  volatile Object i0280, i0281, i0282, i0283, i0284, i0285, i0286, i0287, i0288, i0289;
  volatile Object i0290, i0291, i0292, i0293, i0294, i0295, i0296, i0297, i0298, i0299;

  volatile Object i0300, i0301, i0302, i0303, i0304, i0305, i0306, i0307, i0308, i0309;
  volatile Object i0310, i0311, i0312, i0313, i0314, i0315, i0316, i0317, i0318, i0319;
  volatile Object i0320, i0321, i0322, i0323, i0324, i0325, i0326, i0327, i0328, i0329;
  volatile Object i0330, i0331, i0332, i0333, i0334, i0335, i0336, i0337, i0338, i0339;
  volatile Object i0340, i0341, i0342, i0343, i0344, i0345, i0346, i0347, i0348, i0349;
  volatile Object i0350, i0351, i0352, i0353, i0354, i0355, i0356, i0357, i0358, i0359;
  volatile Object i0360, i0361, i0362, i0363, i0364, i0365, i0366, i0367, i0368, i0369;
  volatile Object i0370, i0371, i0372, i0373, i0374, i0375, i0376, i0377, i0378, i0379;
  volatile Object i0380, i0381, i0382, i0383, i0384, i0385, i0386, i0387, i0388, i0389;
  volatile Object i0390, i0391, i0392, i0393, i0394, i0395, i0396, i0397, i0398, i0399;

  volatile Object i0400, i0401, i0402, i0403, i0404, i0405, i0406, i0407, i0408, i0409;
  volatile Object i0410, i0411, i0412, i0413, i0414, i0415, i0416, i0417, i0418, i0419;
  volatile Object i0420, i0421, i0422, i0423, i0424, i0425, i0426, i0427, i0428, i0429;
  volatile Object i0430, i0431, i0432, i0433, i0434, i0435, i0436, i0437, i0438, i0439;
  volatile Object i0440, i0441, i0442, i0443, i0444, i0445, i0446, i0447, i0448, i0449;
  volatile Object i0450, i0451, i0452, i0453, i0454, i0455, i0456, i0457, i0458, i0459;
  volatile Object i0460, i0461, i0462, i0463, i0464, i0465, i0466, i0467, i0468, i0469;
  volatile Object i0470, i0471, i0472, i0473, i0474, i0475, i0476, i0477, i0478, i0479;
  volatile Object i0480, i0481, i0482, i0483, i0484, i0485, i0486, i0487, i0488, i0489;
  volatile Object i0490, i0491, i0492, i0493, i0494, i0495, i0496, i0497, i0498, i0499;

  volatile Object i0500, i0501, i0502, i0503, i0504, i0505, i0506, i0507, i0508, i0509;
  volatile Object i0510, i0511, i0512, i0513, i0514, i0515, i0516, i0517, i0518, i0519;
  volatile Object i0520, i0521, i0522, i0523, i0524, i0525, i0526, i0527, i0528, i0529;
  volatile Object i0530, i0531, i0532, i0533, i0534, i0535, i0536, i0537, i0538, i0539;
  volatile Object i0540, i0541, i0542, i0543, i0544, i0545, i0546, i0547, i0548, i0549;
  volatile Object i0550, i0551, i0552, i0553, i0554, i0555, i0556, i0557, i0558, i0559;
  volatile Object i0560, i0561, i0562, i0563, i0564, i0565, i0566, i0567, i0568, i0569;
  volatile Object i0570, i0571, i0572, i0573, i0574, i0575, i0576, i0577, i0578, i0579;
  volatile Object i0580, i0581, i0582, i0583, i0584, i0585, i0586, i0587, i0588, i0589;
  volatile Object i0590, i0591, i0592, i0593, i0594, i0595, i0596, i0597, i0598, i0599;

  volatile Object i0600, i0601, i0602, i0603, i0604, i0605, i0606, i0607, i0608, i0609;
  volatile Object i0610, i0611, i0612, i0613, i0614, i0615, i0616, i0617, i0618, i0619;
  volatile Object i0620, i0621, i0622, i0623, i0624, i0625, i0626, i0627, i0628, i0629;
  volatile Object i0630, i0631, i0632, i0633, i0634, i0635, i0636, i0637, i0638, i0639;
  volatile Object i0640, i0641, i0642, i0643, i0644, i0645, i0646, i0647, i0648, i0649;
  volatile Object i0650, i0651, i0652, i0653, i0654, i0655, i0656, i0657, i0658, i0659;
  volatile Object i0660, i0661, i0662, i0663, i0664, i0665, i0666, i0667, i0668, i0669;
  volatile Object i0670, i0671, i0672, i0673, i0674, i0675, i0676, i0677, i0678, i0679;
  volatile Object i0680, i0681, i0682, i0683, i0684, i0685, i0686, i0687, i0688, i0689;
  volatile Object i0690, i0691, i0692, i0693, i0694, i0695, i0696, i0697, i0698, i0699;

  volatile Object i0700, i0701, i0702, i0703, i0704, i0705, i0706, i0707, i0708, i0709;
  volatile Object i0710, i0711, i0712, i0713, i0714, i0715, i0716, i0717, i0718, i0719;
  volatile Object i0720, i0721, i0722, i0723, i0724, i0725, i0726, i0727, i0728, i0729;
  volatile Object i0730, i0731, i0732, i0733, i0734, i0735, i0736, i0737, i0738, i0739;
  volatile Object i0740, i0741, i0742, i0743, i0744, i0745, i0746, i0747, i0748, i0749;
  volatile Object i0750, i0751, i0752, i0753, i0754, i0755, i0756, i0757, i0758, i0759;
  volatile Object i0760, i0761, i0762, i0763, i0764, i0765, i0766, i0767, i0768, i0769;
  volatile Object i0770, i0771, i0772, i0773, i0774, i0775, i0776, i0777, i0778, i0779;
  volatile Object i0780, i0781, i0782, i0783, i0784, i0785, i0786, i0787, i0788, i0789;
  volatile Object i0790, i0791, i0792, i0793, i0794, i0795, i0796, i0797, i0798, i0799;

  volatile Object i0800, i0801, i0802, i0803, i0804, i0805, i0806, i0807, i0808, i0809;
  volatile Object i0810, i0811, i0812, i0813, i0814, i0815, i0816, i0817, i0818, i0819;
  volatile Object i0820, i0821, i0822, i0823, i0824, i0825, i0826, i0827, i0828, i0829;
  volatile Object i0830, i0831, i0832, i0833, i0834, i0835, i0836, i0837, i0838, i0839;
  volatile Object i0840, i0841, i0842, i0843, i0844, i0845, i0846, i0847, i0848, i0849;
  volatile Object i0850, i0851, i0852, i0853, i0854, i0855, i0856, i0857, i0858, i0859;
  volatile Object i0860, i0861, i0862, i0863, i0864, i0865, i0866, i0867, i0868, i0869;
  volatile Object i0870, i0871, i0872, i0873, i0874, i0875, i0876, i0877, i0878, i0879;
  volatile Object i0880, i0881, i0882, i0883, i0884, i0885, i0886, i0887, i0888, i0889;
  volatile Object i0890, i0891, i0892, i0893, i0894, i0895, i0896, i0897, i0898, i0899;

  volatile Object i0900, i0901, i0902, i0903, i0904, i0905, i0906, i0907, i0908, i0909;
  volatile Object i0910, i0911, i0912, i0913, i0914, i0915, i0916, i0917, i0918, i0919;
  volatile Object i0920, i0921, i0922, i0923, i0924, i0925, i0926, i0927, i0928, i0929;
  volatile Object i0930, i0931, i0932, i0933, i0934, i0935, i0936, i0937, i0938, i0939;
  volatile Object i0940, i0941, i0942, i0943, i0944, i0945, i0946, i0947, i0948, i0949;
  volatile Object i0950, i0951, i0952, i0953, i0954, i0955, i0956, i0957, i0958, i0959;
  volatile Object i0960, i0961, i0962, i0963, i0964, i0965, i0966, i0967, i0968, i0969;
  volatile Object i0970, i0971, i0972, i0973, i0974, i0975, i0976, i0977, i0978, i0979;
  volatile Object i0980, i0981, i0982, i0983, i0984, i0985, i0986, i0987, i0988, i0989;
  volatile Object i0990, i0991, i0992, i0993, i0994, i0995, i0996, i0997, i0998, i0999;

  volatile Object i1000, i1001, i1002, i1003, i1004, i1005, i1006, i1007, i1008, i1009;
  volatile Object i1010, i1011, i1012, i1013, i1014, i1015, i1016, i1017, i1018, i1019;
  volatile Object i1020, i1021, i1022, i1023, i1024, i1025, i1026, i1027, i1028, i1029;
  volatile Object i1030, i1031, i1032, i1033, i1034, i1035, i1036, i1037, i1038, i1039;
  volatile Object i1040, i1041, i1042, i1043, i1044, i1045, i1046, i1047, i1048, i1049;
  volatile Object i1050, i1051, i1052, i1053, i1054, i1055, i1056, i1057, i1058, i1059;
  volatile Object i1060, i1061, i1062, i1063, i1064, i1065, i1066, i1067, i1068, i1069;
  volatile Object i1070, i1071, i1072, i1073, i1074, i1075, i1076, i1077, i1078, i1079;
  volatile Object i1080, i1081, i1082, i1083, i1084, i1085, i1086, i1087, i1088, i1089;
  volatile Object i1090, i1091, i1092, i1093, i1094, i1095, i1096, i1097, i1098, i1099;


  // Note: ARM64, registers X16 and X17 are respectively IP0 and IP1,
  // the scratch registers used by the VIXL AArch64 assembler (and to
  // some extent, by ART's ARM64 code generator).

  /// CHECK-START-ARM64: void Main.testStaticVolatileFieldGetWithLargeOffset() disassembly (after)
  /// CHECK:               StaticFieldGet
  /// CHECK:                 mov x17, #<<Offset:0x[0-9a-f]{4}>>
  /// CHECK:                 add x16, {{x\d+}}, x17
  /// CHECK:                 ldar {{w\d+}}, [x16]
  static void testStaticVolatileFieldGetWithLargeOffset() {
    // The offset of this static field cannot be encoded as an immediate on ARM64.
    Object s = s999;
  }

  /// CHECK-START-ARM64: void Main.testInstanceVolatileFieldGetWithLargeOffset() disassembly (after)
  /// CHECK:               InstanceFieldGet
  /// CHECK:                 mov x17, #<<Offset:0x[0-9a-f]{4}>>
  /// CHECK:                 add x16, {{x\d+}}, x17
  /// CHECK:                 ldar {{w\d+}}, [x16]
  void testInstanceVolatileFieldGetWithLargeOffset() {
    // The offset of this instance field cannot be encoded as an immediate on ARM64.
    Object i = i1029;
  }


  public static void main(String[] args) {
    testStaticVolatileFieldGetWithLargeOffset();
    Main m = new Main();
    m.testInstanceVolatileFieldGetWithLargeOffset();
    System.out.println("passed");
  }

}
