Return-Path: Delivered-To: apmail-incubator-harmony-dev-archive@www.apache.org Received: (qmail 1313 invoked from network); 10 Jun 2006 20:53:34 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 10 Jun 2006 20:53:34 -0000 Received: (qmail 51823 invoked by uid 500); 10 Jun 2006 20:53:31 -0000 Delivered-To: apmail-incubator-harmony-dev-archive@incubator.apache.org Received: (qmail 51777 invoked by uid 500); 10 Jun 2006 20:53:31 -0000 Mailing-List: contact harmony-dev-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: harmony-dev@incubator.apache.org Delivered-To: mailing list harmony-dev@incubator.apache.org Received: (qmail 51766 invoked by uid 99); 10 Jun 2006 20:53:31 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 10 Jun 2006 13:53:31 -0700 X-ASF-Spam-Status: No, hits=0.9 required=10.0 tests=DNS_FROM_RFC_WHOIS,HTML_MESSAGE,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (asf.osuosl.org: domain of nbeyer@kc.rr.com designates 24.94.166.122 as permitted sender) Received: from [24.94.166.122] (HELO ms-smtp-02.rdc-kc.rr.com) (24.94.166.122) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 10 Jun 2006 13:53:30 -0700 Received: from LITTLEGUY (CPE-24-31-248-236.kc.res.rr.com [24.31.248.236]) by ms-smtp-02.rdc-kc.rr.com (8.13.6/8.13.6) with ESMTP id k5AKr8aU023463 for ; Sat, 10 Jun 2006 15:53:09 -0500 (CDT) From: "Nathan Beyer" To: Subject: [classlib][vm] Prerequisites for java.util.concurrent Date: Sat, 10 Jun 2006 15:53:10 -0500 Message-ID: <000401c68ccf$e2677df0$0f01a8c0@LITTLEGUY> MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_NextPart_000_0005_01C68CA5.F99175F0" X-Mailer: Microsoft Office Outlook 11 Thread-Index: AcaMz+HwEB+AAmc8Tmm1lSUYzRY2OQ== X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2869 X-Virus-Scanned: Symantec AntiVirus Scan Engine X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N ------=_NextPart_000_0005_01C68CA5.F99175F0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit I've been working with the java.util.concurrent code to see what we'd need to have in place to get this code to be a part of Harmony. System.nanoTime() - A number of the classes rely on the new nanoTime method. I'm assuming this would just be marked as a native method like currentTimeMillis in luni-kernel, which would leave it up to the VMs implement. I can easily stub out the Java code. Anyone interested in getting our VMs to implement this method? I'm guessing that if IBM donates an updated VME for 1.5 usage, this would also be provided.maybe? Annotations - There are a few places where the @SuppressWarnings annotation is used. Building the annotations themselves is trivial, but we'll actually need to be using Java 5 class files to properly compile annotation class files. These can be commented out until the 5 class file support is enabled. PriorityQueue - There's at least one dependency on this class. I think someone is already working on this one though. VMI Atomicity/Lock API - All of the AtomicXXX classes are delegated to a VM-specific API for atomic gets and sets. This API will need to be defined and then implemented by the various VMs. Many of the lock APIs also make use of this API. Arrays.copyOf() - Several classes utilize a set of Arrays.copyOf() methods, which are new in Java SE 6 [1]. We'd either have to rework these implementations to use System.arraycopy or just implement the new methods. AbstractMap.SimpleEntry - The ConcurrentHashMap uses this class as a base class for Map.Entry objects. This is a new public class, which is also part of Java SE 6 [2]. Either this code can be reworked to just implement the Map.Entry interface, or the SimpleEntry class can be built out, which should be trivial. Thoughts, comments, questions? [1] http://java.sun.com/javase/6/docs/api/java/util/Arrays.html [2] http://java.sun.com/javase/6/docs/api/java/util/AbstractMap.SimpleEntry.html ------=_NextPart_000_0005_01C68CA5.F99175F0--