65 public:
66
67 // Coders
68 enum Coder {
69 CODER_LATIN1 = 0,
70 CODER_UTF16 = 1
71 };
72
73 static void compute_offsets();
74
75 // Instance creation
76 static Handle create_from_unicode(jchar* unicode, int len, TRAPS);
77 static oop create_oop_from_unicode(jchar* unicode, int len, TRAPS);
78 static Handle create_from_str(const char* utf8_str, TRAPS);
79 static oop create_oop_from_str(const char* utf8_str, TRAPS);
80 static Handle create_from_symbol(Symbol* symbol, TRAPS);
81 static Handle create_from_platform_dependent_str(const char* str, TRAPS);
82 static Handle char_converter(Handle java_string, jchar from_char, jchar to_char, TRAPS);
83
84 static void set_compact_strings(bool value);
85
86 static int value_offset_in_bytes() {
87 assert(initialized && (value_offset > 0), "Must be initialized");
88 return value_offset;
89 }
90 static int hash_offset_in_bytes() {
91 assert(initialized && (hash_offset > 0), "Must be initialized");
92 return hash_offset;
93 }
94 static int coder_offset_in_bytes() {
95 assert(initialized && (coder_offset > 0), "Must be initialized");
96 return coder_offset;
97 }
98
99 static inline void set_value_raw(oop string, typeArrayOop buffer);
100 static inline void set_value(oop string, typeArrayOop buffer);
101 static inline void set_hash(oop string, unsigned int hash);
102
103 // Accessors
104 static inline typeArrayOop value(oop java_string);
|
65 public:
66
67 // Coders
68 enum Coder {
69 CODER_LATIN1 = 0,
70 CODER_UTF16 = 1
71 };
72
73 static void compute_offsets();
74
75 // Instance creation
76 static Handle create_from_unicode(jchar* unicode, int len, TRAPS);
77 static oop create_oop_from_unicode(jchar* unicode, int len, TRAPS);
78 static Handle create_from_str(const char* utf8_str, TRAPS);
79 static oop create_oop_from_str(const char* utf8_str, TRAPS);
80 static Handle create_from_symbol(Symbol* symbol, TRAPS);
81 static Handle create_from_platform_dependent_str(const char* str, TRAPS);
82 static Handle char_converter(Handle java_string, jchar from_char, jchar to_char, TRAPS);
83
84 static void set_compact_strings(bool value);
85 static void set_debug_intrinsics(bool value);
86
87 static int value_offset_in_bytes() {
88 assert(initialized && (value_offset > 0), "Must be initialized");
89 return value_offset;
90 }
91 static int hash_offset_in_bytes() {
92 assert(initialized && (hash_offset > 0), "Must be initialized");
93 return hash_offset;
94 }
95 static int coder_offset_in_bytes() {
96 assert(initialized && (coder_offset > 0), "Must be initialized");
97 return coder_offset;
98 }
99
100 static inline void set_value_raw(oop string, typeArrayOop buffer);
101 static inline void set_value(oop string, typeArrayOop buffer);
102 static inline void set_hash(oop string, unsigned int hash);
103
104 // Accessors
105 static inline typeArrayOop value(oop java_string);
|