summaryrefslogtreecommitdiff
path: root/java/openjdk6/files/icedtea/openjdk/6841419-classfile_iterator.patch
diff options
context:
space:
mode:
Diffstat (limited to 'java/openjdk6/files/icedtea/openjdk/6841419-classfile_iterator.patch')
-rw-r--r--java/openjdk6/files/icedtea/openjdk/6841419-classfile_iterator.patch142
1 files changed, 0 insertions, 142 deletions
diff --git a/java/openjdk6/files/icedtea/openjdk/6841419-classfile_iterator.patch b/java/openjdk6/files/icedtea/openjdk/6841419-classfile_iterator.patch
deleted file mode 100644
index f728ad179600..000000000000
--- a/java/openjdk6/files/icedtea/openjdk/6841419-classfile_iterator.patch
+++ /dev/null
@@ -1,142 +0,0 @@
-# HG changeset patch
-# User jjg
-# Date 1242758630 25200
-# Tue May 19 11:43:50 2009 -0700
-# Node ID 17dfaebe23044c48bcd5ed0730ce2358543ac459
-# Parent 00870be9028f778a169bf9b843a994ec44258c22
-6841419: classfile: add constant pool iterator
-Reviewed-by: mcimadamore
-
-diff -r 00870be9028f -r 17dfaebe2304 src/share/classes/com/sun/tools/classfile/ClassTranslator.java
---- langtools/src/share/classes/com/sun/tools/classfile/ClassTranslator.java Tue May 19 11:33:13 2009 -0700
-+++ langtools/src/share/classes/com/sun/tools/classfile/ClassTranslator.java Tue May 19 11:43:50 2009 -0700
-@@ -95,7 +95,7 @@
- if (cp2 == null) {
- ConstantPool.CPInfo[] pool2 = new ConstantPool.CPInfo[cp.size()];
- boolean eq = true;
-- for (int i = 0; i < cp.size(); i++) {
-+ for (int i = 0; i < cp.size(); ) {
- ConstantPool.CPInfo cpInfo;
- try {
- cpInfo = cp.get(i);
-@@ -107,11 +107,7 @@
- pool2[i] = cpInfo2;
- if (cpInfo.getTag() != cpInfo2.getTag())
- throw new IllegalStateException();
-- switch (cpInfo.getTag()) {
-- case ConstantPool.CONSTANT_Double:
-- case ConstantPool.CONSTANT_Long:
-- i += 1;
-- }
-+ i += cpInfo.size();
- }
-
- if (eq)
-diff -r 00870be9028f -r 17dfaebe2304 src/share/classes/com/sun/tools/classfile/ClassWriter.java
---- langtools/src/share/classes/com/sun/tools/classfile/ClassWriter.java Tue May 19 11:33:13 2009 -0700
-+++ langtools/src/share/classes/com/sun/tools/classfile/ClassWriter.java Tue May 19 11:43:50 2009 -0700
-@@ -118,13 +118,8 @@
- ConstantPool pool = classFile.constant_pool;
- int size = pool.size();
- out.writeShort(size);
-- try {
-- for (int i = 1; i < size; ) {
-- i += constantPoolWriter.write(pool.get(i), out);
-- }
-- } catch (ConstantPoolException e) {
-- throw new Error(e); // ??
-- }
-+ for (CPInfo cpInfo: pool.entries())
-+ constantPoolWriter.write(cpInfo, out);
- }
-
- protected void writeFields() throws IOException {
-diff -r 00870be9028f -r 17dfaebe2304 src/share/classes/com/sun/tools/classfile/ConstantPool.java
---- langtools/src/share/classes/com/sun/tools/classfile/ConstantPool.java Tue May 19 11:33:13 2009 -0700
-+++ langtools/src/share/classes/com/sun/tools/classfile/ConstantPool.java Tue May 19 11:43:50 2009 -0700
-@@ -26,6 +26,7 @@
- package com.sun.tools.classfile;
-
- import java.io.IOException;
-+import java.util.Iterator;
-
- /**
- * See JVMS3, section 4.5.
-@@ -219,6 +220,40 @@
- throw new EntryNotFound(value);
- }
-
-+ public Iterable<CPInfo> entries() {
-+ return new Iterable<CPInfo>() {
-+ public Iterator<CPInfo> iterator() {
-+ return new Iterator<CPInfo>() {
-+
-+ public boolean hasNext() {
-+ return next < pool.length;
-+ }
-+
-+ public CPInfo next() {
-+ current = pool[next];
-+ switch (current.getTag()) {
-+ case CONSTANT_Double:
-+ case CONSTANT_Long:
-+ next += 2;
-+ break;
-+ default:
-+ next += 1;
-+ }
-+ return current;
-+ }
-+
-+ public void remove() {
-+ throw new UnsupportedOperationException();
-+ }
-+
-+ private CPInfo current;
-+ private int next = 1;
-+
-+ };
-+ }
-+ };
-+ }
-+
- private CPInfo[] pool;
-
- public interface Visitor<R,P> {
-@@ -246,6 +281,12 @@
-
- public abstract int getTag();
-
-+ /** The number of slots in the constant pool used by this entry.
-+ * 2 for CONSTANT_Double and CONSTANT_Long; 1 for everything else. */
-+ public int size() {
-+ return 1;
-+ }
-+
- public abstract <R,D> R accept(Visitor<R,D> visitor, D data);
-
- protected final ConstantPool cp;
-@@ -346,6 +387,11 @@
- }
-
- @Override
-+ public int size() {
-+ return 2;
-+ }
-+
-+ @Override
- public String toString() {
- return "CONSTANT_Double_info[value: " + value + "]";
- }
-@@ -459,6 +505,11 @@
- }
-
- @Override
-+ public int size() {
-+ return 2;
-+ }
-+
-+ @Override
- public String toString() {
- return "CONSTANT_Long_info[value: " + value + "]";
- }