From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 18518 invoked by alias); 23 Apr 2012 13:30:38 -0000 Received: (qmail 18498 invoked by uid 22791); 23 Apr 2012 13:30:37 -0000 X-SWARE-Spam-Status: No, hits=-6.3 required=5.0 tests=AWL,BAYES_00,KHOP_RCVD_UNTRUST,RCVD_IN_DNSWL_HI,RCVD_IN_HOSTKARMA_W,SPF_HELO_PASS,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Mon, 23 Apr 2012 13:30:21 +0000 Received: from int-mx02.intmail.prod.int.phx2.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q3NDULNu019298 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Mon, 23 Apr 2012 09:30:21 -0400 Received: from zebedee.pink (ovpn-113-30.phx2.redhat.com [10.3.113.30]) by int-mx02.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id q3NDUJN3001600; Mon, 23 Apr 2012 09:30:20 -0400 Message-ID: <4F95596B.5000508@redhat.com> Date: Mon, 23 Apr 2012 13:30:00 -0000 From: Andrew Haley User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:11.0) Gecko/20120329 Thunderbird/11.0.1 MIME-Version: 1.0 To: GCJ-patches Subject: Allow 1.7 class file format Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-IsSubscribed: yes Mailing-List: contact java-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: java-patches-owner@gcc.gnu.org X-SW-Source: 2012-q2/txt/msg00013.txt.bz2 There's no real reason to disallow 1.7 class files. Anyone trying to use any of the new opcodes or new constants will fail verification, and most Java programs don't use them. Andrew. 012-04-23 Andrew Haley * defineclass.cc (MAJOR_1_7, MINOR_1_7): New. (parse): Allow MAJOR_1_7 classfile version. Index: defineclass.cc =================================================================== --- defineclass.cc (revision 186103) +++ defineclass.cc (working copy) @@ -361,6 +361,8 @@ #define MINOR_1_5 0 #define MAJOR_1_6 50 #define MINOR_1_6 0 +#define MAJOR_1_7 51 +#define MINOR_1_7 0 void _Jv_ClassReader::parse () @@ -371,8 +373,8 @@ int minor_version = read2u (); int major_version = read2u (); - if (major_version < MAJOR_1_1 || major_version > MAJOR_1_6 - || (major_version == MAJOR_1_6 && minor_version > MINOR_1_6)) + if (major_version < MAJOR_1_1 || major_version > MAJOR_1_7 + || (major_version == MAJOR_1_7 && minor_version > MINOR_1_7)) throw_class_format_error ("unrecognized class file version"); is_15 = (major_version >= MAJOR_1_5);