From aph at redhat.com Wed May 1 09:45:39 2013 From: aph at redhat.com (Andrew Haley) Date: Wed, 01 May 2013 17:45:39 +0100 Subject: [aarch64-port-dev ] AArch64 C1 JIT project progress Message-ID: <518146B3.4090607@redhat.com> Just a little note to say that I've finally got a fairly complex test program to compile and run correctly. This requires some 363 methods to be JIT-compiled. I've attached the list. This reflects some pretty good progress, I think. Andrew. 2019 1 b java.lang.Thread:: (49 bytes) 2023 2 b java.lang.Thread::init (202 bytes) 2039 3 !b java.lang.ThreadGroup::addUnstarted (40 bytes) 2042 4 b java.lang.Thread::getContextClassLoader (44 bytes) 2047 5 n java.security.AccessController::getStackAccessControlContext (native) (static) 2047 6 b java.security.AccessControlContext::optimize (319 bytes) 2060 7 n java.security.AccessController::getInheritedAccessControlContext (native) (static) 2060 8 b java.lang.Thread::setPriority (56 bytes) 2064 9 n java.lang.Thread::setPriority0 (native) 2064 10 b java.lang.System::getProperty (25 bytes) 2069 11 b java.lang.String::equals (81 bytes) 2071 12 b java.util.Properties::getProperty (46 bytes) 2074 13 s b java.util.Hashtable::get (70 bytes) 2078 14 b java.util.Hashtable::hash (48 bytes) 2080 15 b java.lang.String::hash32 (45 bytes) 2082 16 b sun.misc.Hashing::murmur3_32 (188 bytes) 2093 17 b sun.launcher.LauncherHelper:: (67 bytes) 2101 18 b sun.launcher.LauncherHelper:: (7 bytes) 2102 19 b java.lang.ClassLoader::getSystemClassLoader (44 bytes) 2106 20 s!b java.lang.ClassLoader::initSystemClassLoader (109 bytes) 2112 21 !b sun.launcher.LauncherHelper::makePlatformString (70 bytes) 2119 22 b java.lang.System::checkKey (34 bytes) 2121 23 b java.nio.charset.Charset::lookup (44 bytes) 2124 24 b java.nio.charset.Charset::lookup2 (78 bytes) 2129 25 b java.lang.String:: (43 bytes) 2131 26 b java.lang.String::checkBounds (46 bytes) 2133 27 !b java.lang.StringCoding::decode (120 bytes) 2148 28 b java.lang.ThreadLocal::get (38 bytes) 2151 29 b java.lang.ThreadLocal$ThreadLocalMap::getEntry (42 bytes) 2153 30 !b java.lang.StringCoding$StringDecoder::decode (179 bytes) 2173 31 b sun.nio.cs.US_ASCII$Decoder::decode (62 bytes) 2176 32 !b sun.launcher.LauncherHelper::checkAndLoadMain (183 bytes) 2188 33 b java.lang.String::replace (127 bytes) 2192 34 b sun.misc.Launcher$AppClassLoader::loadClass (40 bytes) 2195 35 b java.lang.String::lastIndexOf (52 bytes) 2197 36 !b java.lang.ClassLoader::loadClass (122 bytes) 2206 37 b java.util.concurrent.ConcurrentHashMap::putIfAbsent (79 bytes) 2210 38 b java.util.concurrent.ConcurrentHashMap::hash (74 bytes) 2213 39 b java.util.concurrent.ConcurrentHashMap::ensureSegment (144 bytes) 2219 40 !b java.util.concurrent.ConcurrentHashMap$Segment::put (237 bytes) 2232 41 b java.util.concurrent.locks.ReentrantLock$Sync::nonfairTryAcquire (67 bytes) 2235 42 b java.util.concurrent.locks.AbstractQueuedSynchronizer::release (33 bytes) 2237 43 b java.util.concurrent.locks.ReentrantLock$Sync::tryRelease (45 bytes) 2239 44 b java.lang.ClassLoader::checkName (43 bytes) 2242 45 b java.lang.String::indexOf (70 bytes) 2245 46 n java.lang.ClassLoader::findLoadedClass0 (native) 2247 47 n java.lang.ClassLoader::findBootstrapClass (native) 2248 48 !b java.net.URLClassLoader::findClass (29 bytes) 2252 49 b java.net.URLClassLoader$1:: (15 bytes) 2253 50 !b java.lang.ClassLoader::findNative (86 bytes) 2261 51 s b java.util.Vector::elementAt (48 bytes) 2267 52 n java.lang.ClassLoader$NativeLibrary::find (native) 2268 53 n java.security.AccessController::doPrivileged (native) (static) 2268 54 b java.net.URLClassLoader$1::run (5 bytes) 2270 55 !b java.net.URLClassLoader$1::run (73 bytes) 2276 56 b java.lang.String::concat (47 bytes) 2280 57 b sun.misc.URLClassPath::getResource (74 bytes) 2282 58 s!b sun.misc.URLClassPath::getLoader (154 bytes) 2305 59 s b java.util.Vector::removeElementAt (115 bytes) 2311 60 b sun.net.util.URLUtil::urlNoFragString (114 bytes) 2317 61 b java.lang.String::toLowerCase (472 bytes) 2340 62 b java.lang.CharacterData::of (120 bytes) 2342 63 b java.lang.CharacterDataLatin1::toLowerCase (39 bytes) 2344 64 b java.lang.AbstractStringBuilder::append (48 bytes) 2347 65 b java.lang.String::getChars (62 bytes) 2349 66 b java.lang.AbstractStringBuilder::expandCapacity (50 bytes) 2353 67 b java.lang.String:: (67 bytes) 2356 68 b java.util.Arrays::copyOfRange (63 bytes) 2360 69 b java.util.HashMap::getEntry (77 bytes) 2364 70 b java.util.HashMap::hash (48 bytes) 2369 71 b sun.misc.URLClassPath$3:: (15 bytes) 2369 72 n java.security.AccessController::doPrivileged (native) (static) 2369 73 b sun.misc.URLClassPath$3::run (5 bytes) 2370 74 b sun.misc.URLClassPath$3::run (86 bytes) 2374 75 b java.lang.String::startsWith (72 bytes) 2377 76 b sun.misc.URLClassPath$JarLoader:: (141 bytes) 2393 77 b java.net.URLStreamHandler::toExternalForm (219 bytes) 2404 78 b java.lang.StringBuffer:: (53 bytes) 2408 79 b java.io.ObjectStreamField:: (53 bytes) 2410 80 b java.io.ObjectStreamField::getClassSignature (242 bytes) 2450 81 n java.lang.Class::isArray (native) 2450 82 n java.lang.Class::getComponentType (native) 2451 83 n java.lang.Class::isPrimitive (native) 2452 84 n java.lang.String::intern (native) 2454 85 b java.lang.StringBuffer:: (6 bytes) 2456 86 s b java.lang.StringBuffer::append (8 bytes) 2458 87 s b java.lang.StringBuffer::toString (17 bytes) 2464 88 b java.net.URL:: (308 bytes) 2500 89 b java.net.Parts:: (87 bytes) 2507 90 !b sun.net.www.ParseUtil::decode (316 bytes) 2548 91 b java.io.File:: (42 bytes) 2552 92 b java.io.UnixFileSystem::normalize (75 bytes) 2557 93 !b sun.misc.MetaIndex::getJarMap (62 bytes) 2560 94 b java.util.HashMap::get (20 bytes) 2565 95 b java.io.File::hashCode (8 bytes) 2570 96 b java.lang.String::hashCode (55 bytes) 2577 97 b java.io.File::equals (30 bytes) 2585 98 b java.lang.String::compareTo (78 bytes) 2591 99 b java.io.UnixFileSystem::getBooleanAttributes (49 bytes) 2594 100 n java.io.UnixFileSystem::getBooleanAttributes0 (native) 2595 101 b java.lang.String::getBytes (27 bytes) 2596 102 !b java.lang.StringCoding::encode (120 bytes) 2612 103 !b java.lang.StringCoding$StringEncoder::encode (179 bytes) 2634 104 b sun.nio.cs.US_ASCII$Encoder::encode (107 bytes) 2640 105 b java.io.File::getName (42 bytes) 2643 106 b java.lang.String::substring (56 bytes) 2646 107 b sun.misc.URLClassPath$JarLoader::getClassPath (86 bytes) 2654 108 b java.util.HashMap::put (124 bytes) 2661 109 b java.util.HashMap::addEntry (69 bytes) 2664 110 b java.util.HashMap::createEntry (39 bytes) 2667 111 !b sun.misc.URLClassPath$JarLoader::getResource (85 bytes) 2674 112 b sun.misc.MetaIndex::mayContain (51 bytes) 2702 113 b java.lang.ClassNotFoundException:: (7 bytes) 2706 114 b java.lang.Throwable:: (39 bytes) 2712 115 n java.lang.Throwable::fillInStackTrace (native) 2713 116 b java.security.PrivilegedActionException:: (14 bytes) 2715 117 b java.lang.Throwable:: (50 bytes) 2719 118 b java.security.PrivilegedActionException::getException (5 bytes) 2725 119 b sun.misc.URLClassPath$FileLoader:: (61 bytes) 2736 120 b java.io.UnixFileSystem::normalize (132 bytes) 2757 121 b java.lang.String::substring (79 bytes) 2761 122 b java.io.UnixFileSystem::canonicalize (232 bytes) 2785 123 s b java.io.ExpiringCache::get (39 bytes) 2788 124 b java.io.ExpiringCache::entryFor (57 bytes) 2791 125 b java.util.LinkedHashMap::get (25 bytes) 2795 126 b java.lang.String::charAt (29 bytes) 2797 127 b sun.misc.URLClassPath$Loader::getClassPath (2 bytes) 2798 128 !b sun.misc.URLClassPath$FileLoader::getResource (164 bytes) 2814 129 !b java.net.URL:: (543 bytes) 2858 130 b java.lang.String::regionMatches (149 bytes) 2866 131 b sun.net.www.protocol.file.Handler::parseURL (18 bytes) 2868 132 b java.net.URLStreamHandler::parseURL (1158 bytes) 3016 133 b java.lang.String::indexOf (166 bytes) 3023 134 b java.net.URLStreamHandler::setURL (40 bytes) 3025 135 !b java.net.URL::set (114 bytes) 3032 136 b sun.net.www.ParseUtil::encodePath (336 bytes) 3045 137 b java.util.BitSet::get (69 bytes) 3050 138 b java.util.BitSet::checkInvariants (111 bytes) 3052 139 b java.lang.CharacterDataLatin1::toUpperCase (53 bytes) 3058 140 b java.io.File:: (108 bytes) 3072 141 b java.io.UnixFileSystem::resolve (103 bytes) 3088 142 b sun.misc.URLClassPath$FileLoader$1:: (26 bytes) 3091 143 !b java.net.URLClassLoader::defineClass (224 bytes) 3110 144 b sun.misc.URLClassPath$FileLoader$1::getCodeSourceURL (8 bytes) 3111 145 b sun.misc.URLClassPath$FileLoader$1::getInputStream (12 bytes) 3113 146 b java.io.FileInputStream:: (88 bytes) 3117 147 b java.lang.ref.Finalizer::register (10 bytes) 3120 148 !b java.lang.ref.Finalizer::add (41 bytes) 3121 149 s b java.io.FileDescriptor::attach (73 bytes) 3127 150 n java.io.FileInputStream::open (native) 3130 151 !b sun.misc.Resource::getBytes (242 bytes) 3146 152 n java.lang.Thread::isInterrupted (native) 3147 153 b sun.misc.URLClassPath$FileLoader$1::getContentLength (9 bytes) 3149 154 n java.io.UnixFileSystem::getLength (native) 3151 155 b java.io.FileInputStream::read (8 bytes) 3152 156 n java.io.FileInputStream::readBytes (native) 3153 157 !b java.io.FileInputStream::close (62 bytes) 3157 158 s!b java.io.FileDescriptor::closeAll (215 bytes) 3169 159 b java.io.FileInputStream$1::close (8 bytes) 3170 160 n java.io.FileInputStream::close0 (native) 3170 161 b java.security.CodeSource:: (40 bytes) 3173 162 b sun.misc.PerfCounter:: (17 bytes) 3175 163 b sun.misc.Perf$GetPerfAction:: (5 bytes) 3176 164 n java.security.AccessController::doPrivileged (native) (static) 3176 165 b sun.misc.Perf$GetPerfAction::run (5 bytes) 3177 166 b sun.misc.Perf:: (14 bytes) 3179 167 n sun.misc.Perf::registerNatives (native) (static) 3179 168 b sun.misc.Perf:: (5 bytes) 3179 169 b sun.misc.Perf::getPerf (27 bytes) 3182 170 b sun.misc.PerfCounter::getReadClassBytesTime (4 bytes) 3182 171 b sun.misc.PerfCounter$CoreCounters:: (49 bytes) 3186 172 b sun.misc.PerfCounter:: (37 bytes) 3189 173 n sun.misc.Perf::createLong (native) 3191 174 b java.nio.DirectByteBuffer:: (43 bytes) 3193 175 !b java.lang.Class::desiredAssertionStatus (54 bytes) 3197 176 b java.lang.Class::getClassLoader (40 bytes) 3201 177 n java.lang.Class::getClassLoader0 (native) 3201 178 n java.lang.Class::desiredAssertionStatus0 (native) (static) 3202 179 n sun.misc.Unsafe::arrayBaseOffset (native) 3202 180 b java.nio.Bits::unaligned (78 bytes) 3205 181 b sun.security.action.GetPropertyAction::run (5 bytes) 3208 182 b java.nio.DirectByteBuffer:: (24 bytes) 3210 183 b java.nio.ByteBuffer:: (45 bytes) 3212 184 b java.nio.Buffer:: (121 bytes) 3219 185 b java.nio.Buffer::limit (62 bytes) 3221 186 b java.nio.Buffer::position (43 bytes) 3222 187 b java.nio.ByteBuffer::order (48 bytes) 3223 188 b java.nio.DirectByteBuffer::asLongBuffer (151 bytes) 3227 189 b java.nio.DirectLongBufferU:: (43 bytes) 3229 190 b java.nio.DirectLongBufferU:: (30 bytes) 3232 191 b java.nio.DirectByteBuffer::address (5 bytes) 3234 192 b sun.misc.PerfCounter::addElapsedTimeFrom (10 bytes) 3237 193 b java.nio.DirectLongBufferU::get (16 bytes) 3238 194 b java.nio.DirectLongBufferU::put (18 bytes) 3239 195 !b java.security.SecureClassLoader::getProtectionDomain (114 bytes) 3243 196 b java.security.CodeSource::hashCode (17 bytes) 3246 197 b java.net.URLStreamHandler::hashCode (128 bytes) 3252 198 s!b java.net.URLStreamHandler::getHostAddress (54 bytes) 3255 199 b sun.misc.Launcher$AppClassLoader::getPermissions (21 bytes) 3257 200 !b java.net.URLClassLoader::getPermissions (287 bytes) 3276 201 b java.security.Permissions:: (38 bytes) 3279 202 n java.lang.Class::getName0 (native) 3281 203 b java.security.Permissions:: (28 bytes) 3282 204 b java.util.HashMap:: (143 bytes) 3294 205 b sun.misc.Hashing::randomHashSeed (103 bytes) 3298 206 b java.util.Random::next (47 bytes) 3300 207 n sun.misc.Unsafe::compareAndSwapLong (native) 3300 208 b java.lang.Math::min (46 bytes) 3302 209 b java.util.HashMap::init (1 bytes) 3303 210 s b sun.net.www.protocol.file.Handler::openConnection (7 bytes) 3304 211 s!b sun.net.www.protocol.file.Handler::openConnection (194 bytes) 3322 212 b java.net.URLConnection:: (23 bytes) 3324 213 b java.util.Hashtable:: (137 bytes) 3335 214 b sun.net.www.URLConnection:: (11 bytes) 3336 215 b sun.net.www.protocol.file.FileURLConnection:: (21 bytes) 3337 216 b sun.net.www.protocol.file.FileURLConnection:: (38 bytes) 3339 217 b java.net.URLConnection:: (44 bytes) 3341 218 b sun.net.www.MessageHeader:: (9 bytes) 3342 219 b sun.net.www.MessageHeader::grow (92 bytes) 3345 220 b sun.net.www.protocol.file.FileURLConnection::getPermission (70 bytes) 3348 221 b java.io.FilePermission:: (14 bytes) 3349 222 b java.io.FilePermission::getMask (948 bytes) 3388 223 b java.io.FilePermission::init (228 bytes) 3400 224 b java.io.FilePermission$1:: (10 bytes) 3401 225 b java.io.FilePermission$1::run (5 bytes) 3402 226 !b java.io.FilePermission$1::run (116 bytes) 3421 227 b java.io.UnixFileSystem::parentOrNull (118 bytes) 3427 228 n java.io.UnixFileSystem::canonicalize0 (native) 3427 229 b java.lang.String:: (10 bytes) 3428 230 s b java.io.ExpiringCache::put (70 bytes) 3432 231 b java.util.LinkedHashMap::addEntry (38 bytes) 3434 232 b java.util.LinkedHashMap::createEntry (52 bytes) 3437 233 b java.io.ExpiringCache$1::removeEldestEntry (20 bytes) 3439 234 !b java.security.Permissions::add (70 bytes) 3443 235 b java.security.Permissions::getPermissionCollection (107 bytes) 3447 236 b java.io.FilePermission::newPermissionCollection (8 bytes) 3449 237 b java.io.FilePermissionCollection:: (23 bytes) 3451 238 b java.io.FilePermissionCollection:: (16 bytes) 3453 239 b java.util.ArrayList:: (44 bytes) 3456 240 !b java.io.FilePermissionCollection::add (77 bytes) 3462 241 b java.util.ArrayList::add (29 bytes) 3465 240 ! java.io.FilePermissionCollection::add (77 bytes) made not entrant 3465 242 b java.security.BasicPermission::init (132 bytes) 3473 243 b java.security.BasicPermission::newPermissionCollection (12 bytes) 3474 244 b java.security.BasicPermissionCollection:: (53 bytes) 3479 245 b java.security.BasicPermissionCollection:: (28 bytes) 3481 246 !b java.security.BasicPermissionCollection::add (168 bytes) 3495 247 b java.security.ProtectionDomain:: (99 bytes) 3499 248 !b java.lang.ClassLoader::defineClass (68 bytes) 3505 249 b java.lang.ClassLoader::preDefineClass (109 bytes) 3513 250 !b java.lang.ClassLoader::checkCerts (195 bytes) 3524 251 b java.security.CodeSource::getCertificates (98 bytes) 3530 252 n java.lang.ClassLoader::defineClass1 (native) 3530 253 b java.lang.ClassLoader::loadClass (7 bytes) 3537 254 b java.net.URL::equals (24 bytes) 3538 255 b java.net.URLStreamHandler::equals (45 bytes) 3543 256 b java.net.URLStreamHandler::sameFile (136 bytes) 3551 257 b sun.net.www.protocol.file.Handler::hostsEqual (69 bytes) 3554 258 b java.lang.String::equalsIgnoreCase (48 bytes) 3556 259 b java.net.URLStreamHandler::hostsEqual (75 bytes) 3560 260 b java.security.CodeSource::matchCerts (254 bytes) 3570 261 b java.lang.ClassLoader::compareCerts (149 bytes) 3578 262 b java.lang.ClassLoader::checkPackageAccess (73 bytes) 3583 263 !b java.util.Collections$SynchronizedCollection::add (25 bytes) 3584 264 b java.util.HashSet::add (20 bytes) 3586 265 b java.lang.ClassLoader::addClass (9 bytes) 3587 266 s b java.util.Vector::addElement (38 bytes) 3590 267 b sun.misc.PerfCounter::getParentDelegationTime (4 bytes) 3590 268 b sun.misc.PerfCounter::addTime (6 bytes) 3593 269 b sun.misc.PerfCounter::getFindClassTime (4 bytes) 3594 270 b sun.misc.PerfCounter::getFindClasses (4 bytes) 3594 271 b sun.misc.PerfCounter::increment (6 bytes) 3599 272 b java.lang.Class::getMethod (62 bytes) 3605 273 n sun.reflect.Reflection::getCallerClass (native) (static) 3605 274 b java.lang.Class::checkMemberAccess (63 bytes) 3611 275 b java.lang.Class::getMethod0 (97 bytes) 3615 276 b java.lang.Class::privateGetDeclaredMethods (113 bytes) 3626 277 b java.lang.Class::clearCachesOnClassRedefinition (70 bytes) 3628 278 n java.lang.Class::getDeclaredMethods0 (native) 3640 279 b java.util.HashMap$Entry::recordAccess (1 bytes) 3640 280 b sun.reflect.Reflection::filter (220 bytes) 3654 281 b java.lang.Class::searchMethods (90 bytes) 3662 282 n java.lang.Object::clone (native) 3662 283 b java.lang.Class::arrayContentsEq (70 bytes) 3665 284 b java.lang.reflect.Method::copy (75 bytes) 3667 285 b java.lang.reflect.Method:: (68 bytes) 3669 286 b sun.launcher.LauncherHelper::validateMainMethod (68 bytes) 3676 287 b java.lang.Void:: (9 bytes) 3677 288 n java.lang.Class::getPrimitiveClass (native) (static) 3677 289 b sun.launcher.LauncherHelper::getApplicationClass (4 bytes) 3678 290 !b BigCalc::main (286 bytes) 3688 291 b java.lang.ArithmeticException:: (5 bytes) 3689 292 b java.lang.Throwable:: (29 bytes) 3692 293 b java.lang.Throwable::printStackTrace (8 bytes) 3694 294 b java.lang.Throwable$WrappedPrintStream:: (11 bytes) 3695 295 !b java.lang.Throwable::printStackTrace (177 bytes) 3707 296 b java.util.IdentityHashMap:: (11 bytes) 3708 297 b java.util.IdentityHashMap:: (16 bytes) 3709 298 b java.util.Collections$SetFromMap:: (39 bytes) 3711 299 b java.util.IdentityHashMap::isEmpty (13 bytes) 3712 300 b java.util.IdentityHashMap::keySet (26 bytes) 3714 301 b java.util.IdentityHashMap$KeySet:: (6 bytes) 3715 302 b java.util.IdentityHashMap::put (123 bytes) 3721 303 n java.lang.System::identityHashCode (native) (static) 3721 304 b java.lang.Throwable$WrappedPrintStream::lock (5 bytes) 3722 305 b java.lang.Throwable$WrappedPrintStream::println (9 bytes) 3725 306 b java.lang.Throwable::toString (45 bytes) 3729 307 !b java.io.PrintStream::write (83 bytes) 3735 308 !b java.io.BufferedWriter::write (117 bytes) 3741 309 !b java.io.BufferedWriter::flushBuffer (53 bytes) 3744 310 b java.io.OutputStreamWriter::write (11 bytes) 3745 311 !b sun.nio.cs.StreamEncoder::write (78 bytes) 3749 312 b sun.nio.cs.StreamEncoder::implWrite (156 bytes) 3757 313 !b java.nio.charset.CharsetEncoder::encode (285 bytes) 3771 314 b sun.nio.cs.US_ASCII$Encoder::encodeLoop (28 bytes) 3774 315 !b sun.nio.cs.US_ASCII$Encoder::encodeArrayLoop (356 bytes) 3827 316 !b sun.nio.cs.StreamEncoder::flushBuffer (42 bytes) 3829 317 b sun.nio.cs.StreamEncoder::writeBytes (132 bytes) 3836 318 !b java.io.PrintStream::write (69 bytes) 3840 319 s b java.io.BufferedOutputStream::write (67 bytes) 3844 320 s b java.io.BufferedOutputStream::flush (12 bytes) 3846 321 b java.io.FileOutputStream::write (12 bytes) 3847 322 n java.io.FileOutputStream::writeBytes (native) 3847 323 b java.io.OutputStream::flush (1 bytes) 3848 324 !b java.io.PrintStream::newLine (73 bytes) 3853 325 s b java.lang.Throwable::getOurStackTrace (80 bytes) 3858 326 n java.lang.Throwable::getStackTraceDepth (native) 3858 327 n java.lang.Throwable::getStackTraceElement (native) 3858 328 b java.lang.StackTraceElement::toString (140 bytes) 3868 329 b java.lang.AbstractStringBuilder::append (62 bytes) 3872 330 b java.lang.Integer::getChars (131 bytes) 3877 331 b java.lang.String::toString (2 bytes) 3879 332 s b java.lang.Throwable::getSuppressed (37 bytes) 3881 333 s b java.lang.Throwable::getCause (17 bytes) 3882 334 b BiggerCalc:: (5 bytes) 3883 335 !b BigCalc::empty2 (273 bytes) 3899 336 b java.lang.Long:: (10 bytes) 3900 337 b BiggerCalc::add (4 bytes) 3901 338 b java.util.concurrent.ConcurrentHashMap$Segment::rehash (262 bytes) 3911 339 b java.lang.Math::abs (13 bytes) 3912 340 !b BigCalc::empty (273 bytes) 3926 341 b BigCalc::add (4 bytes) 12313 342 !b java.lang.ref.ReferenceQueue::enqueue (104 bytes) 12323 343 n java.lang.Object::notifyAll (native) 12324 344 b sun.misc.VM::addFinalRefCount (24 bytes) 12325 345 b java.lang.ref.Finalizer::access$100 (5 bytes) 12326 346 !b java.lang.ref.Finalizer::runFinalizer (59 bytes) 12329 347 !b java.lang.ref.Finalizer::remove (94 bytes) 12332 348 n java.lang.ref.Finalizer::invokeFinalizeMethod (native) (static) 12333 349 b java.io.FileInputStream::finalize (22 bytes) 40235 350 b java.lang.ArithmeticException:: (6 bytes) 40239 351 b java.lang.Throwable:: (34 bytes) 40247 352 !b java.io.PrintStream::println (24 bytes) 40254 353 b java.lang.Thread::dispatchUncaughtException (12 bytes) 40257 354 b java.lang.ThreadGroup::uncaughtException (86 bytes) 40282 355 b java.lang.Thread::exit (51 bytes) 40287 356 !b java.lang.ThreadGroup::threadTerminated (63 bytes) 40291 357 !b java.lang.ThreadGroup::remove (94 bytes) 40300 358 !b java.lang.ThreadGroup::add (110 bytes) 40310 359 b java.lang.Shutdown:: (43 bytes) 40314 360 b java.lang.Shutdown$Lock:: (5 bytes) 40316 361 !b java.lang.Shutdown::shutdown (73 bytes) 40318 362 !b java.lang.Shutdown::sequence (61 bytes) 40322 363 !b java.lang.Shutdown::runHooks (69 bytes) From andy.johnson at linaro.org Fri May 10 08:32:05 2013 From: andy.johnson at linaro.org (Andy Johnson) Date: Fri, 10 May 2013 11:32:05 -0400 Subject: [aarch64-port-dev ] Building for openembedded-aarch64 Message-ID: I am trying to do a build of openjdk for openembedded for aarch64. I am using meta-java, which in turn uses icedtea-2.1.7. It gets through the configure process without any problems, but the build stops because it claims that there is no rule to build .../server/libjre.so. This appears to be some kind of issue during the configure step, as either a Makefile is missing or is incomplete. The build of openjdk for openembedded for armv7 completes successfully, which tells me that this is definitely related to aarch64. I know that 64-bit builds automatically imply server builds. Since a Zero build should imply neither the client (C1) nor server (C2), I suspect that something needs to be changed in the configuration for Zero in order to allow the build to proceed. Any ideas would be extremely helpful. -AndyJ From aph at redhat.com Mon May 13 00:40:37 2013 From: aph at redhat.com (Andrew Haley) Date: Mon, 13 May 2013 08:40:37 +0100 Subject: [aarch64-port-dev ] Building for openembedded-aarch64 In-Reply-To: References: Message-ID: <519098F5.5000600@redhat.com> On 05/10/2013 04:32 PM, Andy Johnson wrote: > I am trying to do a build of openjdk for openembedded for aarch64. I am > using meta-java, which in turn uses icedtea-2.1.7. It gets through the > configure process without any problems, but the build stops because it > claims that there is no rule to build .../server/libjre.so. This appears > to be some kind of issue during the configure step, as either a Makefile is > missing or is incomplete. > > The build of openjdk for openembedded for armv7 completes successfully, > which tells me that this is definitely related to aarch64. I know that > 64-bit builds automatically imply server builds. Since a Zero build should > imply neither the client (C1) nor server (C2), I suspect that something > needs to be changed in the configuration for Zero in order to allow the > build to proceed. Any ideas would be extremely helpful. The trouble with answering this question is that we don't know what you've already changed. Unfortunately, there is an associated problem that I'm not at all familiar with openembedded, and I don't build for amrmv7 with "configure", which must mean autoconf, right? Andrew. From riku.voipio at linaro.org Thu May 16 01:56:20 2013 From: riku.voipio at linaro.org (Riku Voipio) Date: Thu, 16 May 2013 11:56:20 +0300 Subject: [aarch64-port-dev ] crosscompiling openjdk-7 zero port to Aarch64 using OpenEmbedded Message-ID: Hi, Currently the only way to use Aarch64 is with the rather slow Foundation model simulator from ARM. Thus being able to cross-compile OpenJDK greatly saves time for development, at least until hardware is available. Henning has created a meta-java[1] layer to OpenEmbedded. that allows crossbuilding OpenJDK. With some changes, it was possible to cross-build OpenJDK to Aarch64 as well, and this code is now included in meta-linaro[2] layer. If Henning is ok with the patches, I can also submit them for pulling into meta-java as well. The easiest way to try building is using Marcins setup scripts: git clone git://git.linaro.org/openembedded/jenkins-setup.git bash init-and-build.sh # clone all necessary repos and setup oe config cd openembedded-core source oe-init-build-env ../build bitbake openjdk-7-jre enjoy! The included upstream changes: - define aarch64 in icedtea's acinclude: https://git.linaro.org/gitweb?p=openembedded/meta-linaro.git;a=blob;f=meta-aarch64/recipes-core/openjdk/files/aarch64-configure.patch - Aarch64 zero port definition and replacing fork syscall with equivalent clone call (already submitted to this list) https://git.linaro.org/gitweb?p=openembedded/meta-linaro.git;a=blob;f=meta-aarch64/recipes-core/openjdk/files/icedtea-openjdk-aarch64.patch - define aarch64 in fdlibm (used by classpath): https://git.linaro.org/gitweb?p=openembedded/meta-linaro.git;a=blob;f=meta-aarch64/recipes-core/classpath/files/ieeefp-aarch64.patch Included meta-java changes: - Disable jamvm, cacao and shark builds by setting: WITH_ADDITIONAL_VMS_aarch64 = "" - Do not generate files by running target binaries with Qemu (which does not exist on Aarch64), but include them as pregenerated files: https://git.linaro.org/gitweb?p=openembedded/meta-linaro.git;a=blob;f=meta-aarch64/recipes-core/openjdk/files/icedtea-prebuilt-files.patch [1] https://github.com/woglinde/meta-java [2] https://git.linaro.org/gitweb?p=openembedded/meta-linaro.git;a=summary From adinn at redhat.com Thu May 23 02:12:34 2013 From: adinn at redhat.com (Andrew Dinn) Date: Thu, 23 May 2013 10:12:34 +0100 Subject: [aarch64-port-dev ] AArch64: Merge of C1 back into default branch Message-ID: <519DDD82.8040707@redhat.com> I have merged the latest changes in C1 back into the default branch. Any new changes for C1 should be made via this branch. I intend to close the C1 branch ASAP so please let me know if you wish to commit any outstanding changes which need pulling into default. The new default branch has been updated to run with -Xint as the default. So you need to provide either -Xmixed or -Xcomp to exercise C1 compiler functionality. I also fixed the outstanding error with mov_immediate64 in the new default Note the merge also required removing a one the changes made in default. Configuring the new build with --with-arm-sim-dir has been removed -- includes are now looked up in the sibling dir of the OpenJDK tree top level. Note also that you need to update your top level tree as well as your hotspot tree and build from scratch. The old build system should work as before with no change required. Using the new build/make process is still a little flaky because it insists on using the newly built JVM to run RMIC when making stubs in the jdk tree (this is so even with the changes made to the makefile in sun/jmx). I have not yet retried this with -Xint as the default so it may be that this works ok (albeit slow) when runnign interpreted -- it failed when using the compiler with an assembler assert. I plan to pull the default changes into C2 next so that C2 is up to date with all C1 code as before. regards, Andrew Dinn -----------