diff options
author | Tom Tromey <tromey@redhat.com> | 2003-07-28 16:12:00 +0000 |
---|---|---|
committer | Tom Tromey <tromey@gcc.gnu.org> | 2003-07-28 16:12:00 +0000 |
commit | 651bed366a537cac8a9561d749e0a83e277259ce (patch) | |
tree | 0df6dcf0658d8ff35dcfa4a03ea147a206a5c0d1 /libjava/java | |
parent | 5dfa45d043db04ebddf4081364661e0784304d39 (diff) | |
download | gcc-651bed366a537cac8a9561d749e0a83e277259ce.zip gcc-651bed366a537cac8a9561d749e0a83e277259ce.tar.gz gcc-651bed366a537cac8a9561d749e0a83e277259ce.tar.bz2 |
natString.cc (init(gnu.gcj.runtime.StringBuffer)): New method.
* java/lang/natString.cc (init(gnu.gcj.runtime.StringBuffer)):
New method.
Include gnu/gcj/runtime/StringBuffer.h.
* java/lang/String.java (init(gnu.gcj.runtime.StringBuffer)): New
native method.
(String(gnu.gcj.runtime.StringBuffer)): Use it.
From-SVN: r69890
Diffstat (limited to 'libjava/java')
-rw-r--r-- | libjava/java/lang/String.java | 3 | ||||
-rw-r--r-- | libjava/java/lang/natString.cc | 7 |
2 files changed, 9 insertions, 1 deletions
diff --git a/libjava/java/lang/String.java b/libjava/java/lang/String.java index fe00b91..6844405 100644 --- a/libjava/java/lang/String.java +++ b/libjava/java/lang/String.java @@ -419,7 +419,7 @@ public final class String implements Serializable, Comparable, CharSequence { // No need to synchronize or mark the buffer, since we know it is // only used once. - init (buffer.value, 0, buffer.count, true); + init (buffer); } /** @@ -1253,5 +1253,6 @@ public final class String implements Serializable, Comparable, CharSequence private native void init(byte[] chars, int hibyte, int offset, int count); private native void init(byte[] chars, int offset, int count, String enc) throws UnsupportedEncodingException; + private native void init(gnu.gcj.runtime.StringBuffer buffer); private static native void rehash(); } diff --git a/libjava/java/lang/natString.cc b/libjava/java/lang/natString.cc index 98309cf..6fd9284 100644 --- a/libjava/java/lang/natString.cc +++ b/libjava/java/lang/natString.cc @@ -28,6 +28,7 @@ details. */ #include <java/util/Locale.h> #include <gnu/gcj/convert/UnicodeToBytes.h> #include <gnu/gcj/convert/BytesToUnicode.h> +#include <gnu/gcj/runtime/StringBuffer.h> #include <jvm.h> static void unintern (jobject); @@ -525,6 +526,12 @@ java::lang::String::init (jbyteArray bytes, jint offset, jint count, this->count = outpos; } +void +java::lang::String::init (gnu::gcj::runtime::StringBuffer *buffer) +{ + init (buffer->value, 0, buffer->count, true); +} + jboolean java::lang::String::equals(jobject anObject) { |