Mercurial > hg > openjdk > aarch64-port > jaxp
changeset 404:aa68d933af52 aarch64-20130813
Merge
author | adinn |
---|---|
date | Tue, 02 Jul 2013 10:15:37 +0100 |
parents | daff77ac5dcc (current diff) 41b50e2c5ea3 (diff) |
children | 102bfdf5036d |
files | .hgtags |
diffstat | 12 files changed, 225 insertions(+), 26 deletions(-) [+] |
line wrap: on
line diff
--- a/.hgtags Fri Jun 28 14:26:53 2013 +0100 +++ b/.hgtags Tue Jul 02 10:15:37 2013 +0100 @@ -194,3 +194,16 @@ 6ec9edffc286c9c9ac96c9cd2050b01cb5d514a8 jdk8-b70 499be952a291cec1dc774a84a238941d6faf772d jdk8-b71 bdf2af722a6b54fca47d8c51d17a1b8f41dd7a3e initial_upload +bdf2af722a6b54fca47d8c51d17a1b8f41dd7a3e jdk8-b72 +84946404d1e1de003ed2bf218ef8d48906a90e37 jdk8-b73 +2087e24a4357eceb6432e94918e75fdc706a27d6 jdk8-b74 +ff0b73a6b3f6cea644d37d56d746a37743419fa7 jdk8-b75 +0c08593944d0cd30645f6e1e4946c51ff2b10c8c jdk8-b76 +573e789c187a69a3ae00bffd26eb35c0f4a60636 jdk8-b77 +00958c5a7070bd578aa8b70773cb3f204a9c1be1 jdk8-b78 +58fa065dd5d663d62f85402461388fb7a92656fa jdk8-b79 +4873a0499bc3bd263b7dd3b551a2b4e275ab5a0b jdk8-b80 +ef3495555a4c6e706a3058c18aa229b14220de0b jdk8-b81 +d5a58291f09a5081eaf22c2a6ab2f9ced4b78882 jdk8-b82 +a46d69a1a8ec9652a48114823535372e1c980799 jdk8-b83 +f5f40094ffcc1230e2a5f76ea4c968645369be6c jdk8-b84
--- a/makefiles/BuildJaxp.gmk Fri Jun 28 14:26:53 2013 +0100 +++ b/makefiles/BuildJaxp.gmk Tue Jul 02 10:15:37 2013 +0100 @@ -1,5 +1,5 @@ # -# Copyright (c) 2007, 2012, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it @@ -30,8 +30,6 @@ include MakeBase.gmk include JavaCompilation.gmk -JAVAC_JARS ?= "-Xbootclasspath/p:$(LANGTOOLS_OUTPUTDIR)/dist/bootstrap/lib/javac.jar" \ - -jar $(LANGTOOLS_OUTPUTDIR)/dist/bootstrap/lib/javac.jar DISABLE_JAXP_WARNINGS:=-Xlint:all,-deprecation,-unchecked,-rawtypes,-cast,-serial,-dep-ann,-static,-fallthrough # The generate new bytecode uses the new compiler for to generate bytecode @@ -39,7 +37,7 @@ # cannot necessarily be run with the boot jdk. $(eval $(call SetupJavaCompiler,GENERATE_NEWBYTECODE_DEBUG,\ JVM:=$(JAVA),\ - JAVAC:=$(JAVAC_JARS),\ + JAVAC:=$(NEW_JAVAC),\ FLAGS:=-XDignore.symbol.file=true $(DISABLE_JAXP_WARNINGS) -g,\ SERVER_DIR:=$(SJAVAC_SERVER_DIR),\ SERVER_JVM:=$(SJAVAC_SERVER_JAVA))) @@ -47,11 +45,23 @@ $(eval $(call SetupJavaCompilation,BUILD_JAXP,\ SETUP:=GENERATE_NEWBYTECODE_DEBUG,\ SRC:=$(JAXP_TOPDIR)/src,\ - CLEAN:=.properties,\ BIN:=$(JAXP_OUTPUTDIR)/classes,\ SRCZIP:=$(JAXP_OUTPUTDIR)/dist/lib/src.zip)) -$(eval $(call SetupArchive,ARCHIVE_JAXP,$(BUILD_JAXP),\ +# Imitate the property cleaning mechanism in the old build. This will likely be replaced +# by the unified functionality in JavaCompilation.gmk, but keep it the same as old build +# for now, even though it actually breaks properties containing # in the value. +# Using nawk to avoid solaris sed. +$(JAXP_OUTPUTDIR)/classes/%.properties: $(JAXP_TOPDIR)/src/%.properties + $(MKDIR) -p $(@D) + $(RM) $@ $@.tmp + $(CAT) $< | LANG=C $(NAWK) '{ sub(/#.*$$/,"#"); print }' > $@.tmp + $(MV) $@.tmp $@ + +SRC_PROP_FILES := $(shell $(FIND) $(JAXP_TOPDIR)/src -name "*.properties") +TARGET_PROP_FILES := $(patsubst $(JAXP_TOPDIR)/src/%,$(JAXP_OUTPUTDIR)/classes/%,$(SRC_PROP_FILES)) + +$(eval $(call SetupArchive,ARCHIVE_JAXP,$(BUILD_JAXP) $(TARGET_PROP_FILES),\ SRCS:=$(JAXP_OUTPUTDIR)/classes,\ SUFFIXES:=.class .properties,\ JAR:=$(JAXP_OUTPUTDIR)/dist/lib/classes.jar))
--- a/src/com/sun/org/apache/bcel/internal/Constants.java Fri Jun 28 14:26:53 2013 +0100 +++ b/src/com/sun/org/apache/bcel/internal/Constants.java Tue Jul 02 10:15:37 2013 +0100 @@ -746,27 +746,29 @@ /** Attributes and their corresponding names. */ - public static final byte ATTR_UNKNOWN = -1; - public static final byte ATTR_SOURCE_FILE = 0; - public static final byte ATTR_CONSTANT_VALUE = 1; - public static final byte ATTR_CODE = 2; - public static final byte ATTR_EXCEPTIONS = 3; - public static final byte ATTR_LINE_NUMBER_TABLE = 4; - public static final byte ATTR_LOCAL_VARIABLE_TABLE = 5; - public static final byte ATTR_INNER_CLASSES = 6; - public static final byte ATTR_SYNTHETIC = 7; - public static final byte ATTR_DEPRECATED = 8; - public static final byte ATTR_PMG = 9; - public static final byte ATTR_SIGNATURE = 10; - public static final byte ATTR_STACK_MAP = 11; + public static final byte ATTR_UNKNOWN = -1; + public static final byte ATTR_SOURCE_FILE = 0; + public static final byte ATTR_CONSTANT_VALUE = 1; + public static final byte ATTR_CODE = 2; + public static final byte ATTR_EXCEPTIONS = 3; + public static final byte ATTR_LINE_NUMBER_TABLE = 4; + public static final byte ATTR_LOCAL_VARIABLE_TABLE = 5; + public static final byte ATTR_INNER_CLASSES = 6; + public static final byte ATTR_SYNTHETIC = 7; + public static final byte ATTR_DEPRECATED = 8; + public static final byte ATTR_PMG = 9; + public static final byte ATTR_SIGNATURE = 10; + public static final byte ATTR_STACK_MAP = 11; + public static final byte ATTR_LOCAL_VARIABLE_TYPE_TABLE = 12; - public static final short KNOWN_ATTRIBUTES = 12; + public static final short KNOWN_ATTRIBUTES = 13; public static final String[] ATTRIBUTE_NAMES = { "SourceFile", "ConstantValue", "Code", "Exceptions", "LineNumberTable", "LocalVariableTable", "InnerClasses", "Synthetic", "Deprecated", - "PMGClass", "Signature", "StackMap" + "PMGClass", "Signature", "StackMap", + "LocalVariableTypeTable" }; /** Constants used in the StackMap attribute.
--- a/src/com/sun/org/apache/bcel/internal/classfile/Attribute.java Fri Jun 28 14:26:53 2013 +0100 +++ b/src/com/sun/org/apache/bcel/internal/classfile/Attribute.java Tue Jul 02 10:15:37 2013 +0100 @@ -206,6 +206,9 @@ case Constants.ATTR_LOCAL_VARIABLE_TABLE: return new LocalVariableTable(name_index, length, file, constant_pool); + case Constants.ATTR_LOCAL_VARIABLE_TYPE_TABLE: + return new LocalVariableTypeTable(name_index, length, file, constant_pool); + case Constants.ATTR_INNER_CLASSES: return new InnerClasses(name_index, length, file, constant_pool);
--- a/src/com/sun/org/apache/bcel/internal/classfile/DescendingVisitor.java Fri Jun 28 14:26:53 2013 +0100 +++ b/src/com/sun/org/apache/bcel/internal/classfile/DescendingVisitor.java Tue Jul 02 10:15:37 2013 +0100 @@ -210,6 +210,12 @@ stack.pop(); } + public void visitLocalVariableTypeTable(LocalVariableTypeTable obj) { + stack.push(obj); + obj.accept(visitor); + stack.pop(); + } + public void visitStackMap(StackMap table) { stack.push(table); table.accept(visitor);
--- a/src/com/sun/org/apache/bcel/internal/classfile/EmptyVisitor.java Fri Jun 28 14:26:53 2013 +0100 +++ b/src/com/sun/org/apache/bcel/internal/classfile/EmptyVisitor.java Tue Jul 02 10:15:37 2013 +0100 @@ -98,6 +98,7 @@ public void visitLineNumberTable(LineNumberTable obj) {} public void visitLocalVariable(LocalVariable obj) {} public void visitLocalVariableTable(LocalVariableTable obj) {} + public void visitLocalVariableTypeTable(LocalVariableTypeTable obj) {} public void visitMethod(Method obj) {} public void visitSignature(Signature obj) {} public void visitSourceFile(SourceFile obj) {}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/com/sun/org/apache/bcel/internal/classfile/LocalVariableTypeTable.java Tue Jul 02 10:15:37 2013 +0100 @@ -0,0 +1,146 @@ +/* + * reserved comment block + * DO NOT REMOVE OR ALTER! + */ +package com.sun.org.apache.bcel.internal.classfile; +/** + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You 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. + */ + +import com.sun.org.apache.bcel.internal.Constants; +import java.io.*; + +// The new table is used when generic types are about... + +//LocalVariableTable_attribute { +// u2 attribute_name_index; +// u4 attribute_length; +// u2 local_variable_table_length; +// { u2 start_pc; +// u2 length; +// u2 name_index; +// u2 descriptor_index; +// u2 index; +// } local_variable_table[local_variable_table_length]; +// } + +//LocalVariableTypeTable_attribute { +// u2 attribute_name_index; +// u4 attribute_length; +// u2 local_variable_type_table_length; +// { +// u2 start_pc; +// u2 length; +// u2 name_index; +// u2 signature_index; +// u2 index; +// } local_variable_type_table[local_variable_type_table_length]; +// } +// J5TODO: Needs some testing ! +public class LocalVariableTypeTable extends Attribute { + private static final long serialVersionUID = -1082157891095177114L; +private int local_variable_type_table_length; // Table of local + private LocalVariable[] local_variable_type_table; // variables + + public LocalVariableTypeTable(LocalVariableTypeTable c) { + this(c.getNameIndex(), c.getLength(), c.getLocalVariableTypeTable(), + c.getConstantPool()); + } + + public LocalVariableTypeTable(int name_index, int length, + LocalVariable[] local_variable_table, + ConstantPool constant_pool) + { + super(Constants.ATTR_LOCAL_VARIABLE_TYPE_TABLE, name_index, length, constant_pool); + setLocalVariableTable(local_variable_table); + } + + LocalVariableTypeTable(int nameIdx, int len, DataInputStream dis,ConstantPool cpool) throws IOException { + this(nameIdx, len, (LocalVariable[])null, cpool); + + local_variable_type_table_length = (dis.readUnsignedShort()); + local_variable_type_table = new LocalVariable[local_variable_type_table_length]; + + for(int i=0; i < local_variable_type_table_length; i++) + local_variable_type_table[i] = new LocalVariable(dis, cpool); + } + + @Override +public void accept(Visitor v) { + v.visitLocalVariableTypeTable(this); + } + + @Override +public final void dump(DataOutputStream file) throws IOException + { + super.dump(file); + file.writeShort(local_variable_type_table_length); + for(int i=0; i < local_variable_type_table_length; i++) + local_variable_type_table[i].dump(file); + } + + public final LocalVariable[] getLocalVariableTypeTable() { + return local_variable_type_table; + } + + public final LocalVariable getLocalVariable(int index) { + for(int i=0; i < local_variable_type_table_length; i++) + if(local_variable_type_table[i].getIndex() == index) + return local_variable_type_table[i]; + + return null; + } + + public final void setLocalVariableTable(LocalVariable[] local_variable_table) + { + this.local_variable_type_table = local_variable_table; + local_variable_type_table_length = (local_variable_table == null)? 0 : + local_variable_table.length; + } + + /** + * @return String representation. + */ + @Override +public final String toString() { + StringBuilder buf = new StringBuilder(); + + for(int i=0; i < local_variable_type_table_length; i++) { + buf.append(local_variable_type_table[i].toString()); + + if(i < local_variable_type_table_length - 1) buf.append('\n'); + } + + return buf.toString(); + } + + /** + * @return deep copy of this attribute + */ + @Override +public Attribute copy(ConstantPool constant_pool) { + LocalVariableTypeTable c = (LocalVariableTypeTable)clone(); + + c.local_variable_type_table = new LocalVariable[local_variable_type_table_length]; + for(int i=0; i < local_variable_type_table_length; i++) + c.local_variable_type_table[i] = local_variable_type_table[i].copy(); + + c.constant_pool = constant_pool; + return c; + } + + public final int getTableLength() { return local_variable_type_table_length; } +}
--- a/src/com/sun/org/apache/bcel/internal/classfile/Visitor.java Fri Jun 28 14:26:53 2013 +0100 +++ b/src/com/sun/org/apache/bcel/internal/classfile/Visitor.java Tue Jul 02 10:15:37 2013 +0100 @@ -94,6 +94,7 @@ public void visitLineNumberTable(LineNumberTable obj); public void visitLocalVariable(LocalVariable obj); public void visitLocalVariableTable(LocalVariableTable obj); + public void visitLocalVariableTypeTable(LocalVariableTypeTable obj); public void visitMethod(Method obj); public void visitSignature(Signature obj); public void visitSourceFile(SourceFile obj);
--- a/src/com/sun/org/apache/bcel/internal/generic/MethodGen.java Fri Jun 28 14:26:53 2013 +0100 +++ b/src/com/sun/org/apache/bcel/internal/generic/MethodGen.java Tue Jul 02 10:15:37 2013 +0100 @@ -258,6 +258,23 @@ addLocalVariable(l.getName(), Type.getType(l.getSignature()), l.getIndex(), start, end); } + } else if (a instanceof LocalVariableTypeTable) { + LocalVariable[] lv = ((LocalVariableTypeTable) a).getLocalVariableTypeTable(); + removeLocalVariables(); + for (int k = 0; k < lv.length; k++) { + LocalVariable l = lv[k]; + InstructionHandle start = il.findHandle(l.getStartPC()); + InstructionHandle end = il.findHandle(l.getStartPC() + l.getLength()); + // Repair malformed handles + if (null == start) { + start = il.getStart(); + } + if (null == end) { + end = il.getEnd(); + } + addLocalVariable(l.getName(), Type.getType(l.getSignature()), l + .getIndex(), start, end); + } } else addCodeAttribute(a); }
--- a/src/com/sun/org/apache/xpath/internal/functions/FuncSystemProperty.java Fri Jun 28 14:26:53 2013 +0100 +++ b/src/com/sun/org/apache/xpath/internal/functions/FuncSystemProperty.java Tue Jul 02 10:15:37 2013 +0100 @@ -165,7 +165,7 @@ * should already be fully qualified as path/filename * @param target The target property bag the file will be placed into. */ - public void loadPropertyFile(String file, Properties target) + private void loadPropertyFile(String file, Properties target) { try {
--- a/src/javax/xml/validation/SchemaFactoryFinder.java Fri Jun 28 14:26:53 2013 +0100 +++ b/src/javax/xml/validation/SchemaFactoryFinder.java Tue Jul 02 10:15:37 2013 +0100 @@ -68,7 +68,7 @@ // Use try/catch block to support applets try { debug = ss.getSystemProperty("jaxp.debug") != null; - } catch (Exception _) { + } catch (Exception unused) { debug = false; } } @@ -113,7 +113,7 @@ debugPrintln("using thread context class loader ("+classLoader+") for search"); return; } - } catch( Throwable _ ) { + } catch( Throwable unused ) { ; // getContextClassLoader() undefined in JDK1.1 }
--- a/src/javax/xml/xpath/XPathFactoryFinder.java Fri Jun 28 14:26:53 2013 +0100 +++ b/src/javax/xml/xpath/XPathFactoryFinder.java Tue Jul 02 10:15:37 2013 +0100 @@ -56,7 +56,7 @@ // Use try/catch block to support applets try { debug = ss.getSystemProperty("jaxp.debug") != null; - } catch (Exception _) { + } catch (Exception unused) { debug = false; } } @@ -111,7 +111,7 @@ debugPrintln("using thread context class loader ("+classLoader+") for search"); return; } - } catch( Throwable _ ) { + } catch( Throwable unused ) { ; // getContextClassLoader() undefined in JDK1.1 }