From owner-svn-ports-head@freebsd.org Tue Feb 27 19:49:01 2018 Return-Path: Delivered-To: svn-ports-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 736F2F22326; Tue, 27 Feb 2018 19:49:01 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 257B46C169; Tue, 27 Feb 2018 19:49:01 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 1F41F72A9; Tue, 27 Feb 2018 19:49:01 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w1RJn0jP067785; Tue, 27 Feb 2018 19:49:00 GMT (envelope-from jkim@FreeBSD.org) Received: (from jkim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w1RJn0Dm067782; Tue, 27 Feb 2018 19:49:00 GMT (envelope-from jkim@FreeBSD.org) Message-Id: <201802271949.w1RJn0Dm067782@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jkim set sender to jkim@FreeBSD.org using -f From: Jung-uk Kim Date: Tue, 27 Feb 2018 19:49:00 +0000 (UTC) To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r463156 - in head/java/openjdk8: . files X-SVN-Group: ports-head X-SVN-Commit-Author: jkim X-SVN-Commit-Paths: in head/java/openjdk8: . files X-SVN-Commit-Revision: 463156 X-SVN-Commit-Repository: ports MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-ports-head@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for the ports tree for head List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 27 Feb 2018 19:49:01 -0000 Author: jkim Date: Tue Feb 27 19:49:00 2018 New Revision: 463156 URL: https://svnweb.freebsd.org/changeset/ports/463156 Log: Apply an upstream patch to fix Zero. http://hg.openjdk.java.net/jdk8u/jdk8u/hotspot/rev/8bd024c567e7 This patch complements the following commits. http://hg.openjdk.java.net/jdk8u/jdk8u/hotspot/rev/f8a45a60bc6b http://hg.openjdk.java.net/jdk8u/jdk8u/hotspot/rev/b1606443958a http://hg.openjdk.java.net/jdk8u/jdk8u/jdk/rev/a3e756231625 Reported by: Mikaƫl Urankar (mikael.urankar@gmail.com) (via swills) Added: head/java/openjdk8/files/patch-hotspot-src_cpu_zero_vm_methodHandles__zero.cpp (contents, props changed) head/java/openjdk8/files/patch-hotspot_src_share_vm_interpreter_bytecodeInterpreter.cpp (contents, props changed) Modified: head/java/openjdk8/Makefile Modified: head/java/openjdk8/Makefile ============================================================================== --- head/java/openjdk8/Makefile Tue Feb 27 19:38:36 2018 (r463155) +++ head/java/openjdk8/Makefile Tue Feb 27 19:49:00 2018 (r463156) @@ -2,6 +2,7 @@ PORTNAME= openjdk PORTVERSION= ${JDK_MAJOR_VERSION}.${JDK_UPDATE_VERSION}.${JDK_BUILD_NUMBER:S/^0//} +PORTREVISION= 1 CATEGORIES= java devel MASTER_SITES= http://download.java.net/openjdk/jdk${JDK_MAJOR_VERSION}/promoted/b${DIST_BUILD_NUMBER}/:jdk \ https://adopt-openjdk.ci.cloudbees.com/job/jtreg/${JTREG_JENKINS_BUILD}/artifact/:jtreg \ Added: head/java/openjdk8/files/patch-hotspot-src_cpu_zero_vm_methodHandles__zero.cpp ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/java/openjdk8/files/patch-hotspot-src_cpu_zero_vm_methodHandles__zero.cpp Tue Feb 27 19:49:00 2018 (r463156) @@ -0,0 +1,12 @@ +--- hotspot/src/cpu/zero/vm/methodHandles_zero.cpp.orig ++++ hotspot/src/cpu/zero/vm/methodHandles_zero.cpp +@@ -180,3 +180,9 @@ address MethodHandles::generate_method_handle_interpre + return NULL; + } + } ++ ++#ifndef PRODUCT ++void MethodHandles::trace_method_handle(MacroAssembler* _masm, const char* adaptername) { ++ // This is just a stub. ++} ++#endif //PRODUCT Added: head/java/openjdk8/files/patch-hotspot_src_share_vm_interpreter_bytecodeInterpreter.cpp ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/java/openjdk8/files/patch-hotspot_src_share_vm_interpreter_bytecodeInterpreter.cpp Tue Feb 27 19:49:00 2018 (r463156) @@ -0,0 +1,50 @@ +--- hotspot/src/share/vm/interpreter/bytecodeInterpreter.cpp.orig ++++ hotspot/src/share/vm/interpreter/bytecodeInterpreter.cpp +@@ -2569,13 +2569,35 @@ run: + + // this could definitely be cleaned up QQQ + Method* callee; +- Klass* iclass = cache->f1_as_klass(); +- // InstanceKlass* interface = (InstanceKlass*) iclass; ++ Method *interface_method = cache->f2_as_interface_method(); ++ InstanceKlass* iclass = interface_method->method_holder(); ++ + // get receiver + int parms = cache->parameter_size(); + oop rcvr = STACK_OBJECT(-parms); + CHECK_NULL(rcvr); + InstanceKlass* int2 = (InstanceKlass*) rcvr->klass(); ++ ++ // Receiver subtype check against resolved interface klass (REFC). ++ { ++ Klass* refc = cache->f1_as_klass(); ++ itableOffsetEntry* scan; ++ for (scan = (itableOffsetEntry*) int2->start_of_itable(); ++ scan->interface_klass() != NULL; ++ scan++) { ++ if (scan->interface_klass() == refc) { ++ break; ++ } ++ } ++ // Check that the entry is non-null. A null entry means ++ // that the receiver class doesn't implement the ++ // interface, and wasn't the same as when the caller was ++ // compiled. ++ if (scan->interface_klass() == NULL) { ++ VM_JAVA_ERROR(vmSymbols::java_lang_IncompatibleClassChangeError(), "", note_no_trap); ++ } ++ } ++ + itableOffsetEntry* ki = (itableOffsetEntry*) int2->start_of_itable(); + int i; + for ( i = 0 ; i < int2->itable_length() ; i++, ki++ ) { +@@ -2587,7 +2609,8 @@ run: + if (i == int2->itable_length()) { + VM_JAVA_ERROR(vmSymbols::java_lang_IncompatibleClassChangeError(), "", note_no_trap); + } +- int mindex = cache->f2_as_index(); ++ int mindex = interface_method->itable_index(); ++ + itableMethodEntry* im = ki->first_method_entry(rcvr->klass()); + callee = im[mindex].method(); + if (callee == NULL) {