Skip to content

Commit f488a0a

Browse files
committed
GH-451 logical value for ImmutableRubyString added; logical value for RubyString fixed
(cherry picked from commit 5cede06)
1 parent 86a2661 commit f488a0a

File tree

1 file changed

+9
-3
lines changed

1 file changed

+9
-3
lines changed

visualvm/heapviewer.truffle/src/org/graalvm/visualvm/heapviewer/truffle/lang/ruby/RubyDetailsProvider.java

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@ public class RubyDetailsProvider extends DetailsProvider.Basic {
5959
private static final String RUBY_MODULE_MASK = "org.truffleruby.core.module.RubyModule+"; // NOI18N
6060
private static final String RUBY_PROC_MASK = "org.truffleruby.core.proc.RubyProc"; // NOI18N
6161
private static final String RUBY_STRING_MASK = "org.truffleruby.core.string.RubyString"; // NOI18N
62+
private static final String RUBY_ISTRING_MASK = "org.truffleruby.core.string.ImmutableRubyString"; // NOI18N
6263
private static final String RUBY_ARRAY_MASK = "org.truffleruby.core.array.RubyArray"; // NOI18N
6364
private static final String RUBY_SYMBOL_MASK = "org.truffleruby.core.symbol.RubySymbol"; // NOI18N
6465
private static final String RUBY_HASH_MASK = "org.truffleruby.core.hash.RubyHash"; // NOI18N
@@ -70,8 +71,9 @@ public RubyDetailsProvider() {
7071
ROPE_TABLE_KEY_MASK,INVALID_ROPE_MASK,VALID_ROPE_MASK,
7172
INT_ROPE_MASK, ENCODING_MASK, MODULE_FIELDS_MASK,
7273
BASIC_LAYOUT_MASK, METHOD_INFO_MASK, RUBY_ROOT_NODE_MASK,
73-
RUBY_MODULE_MASK, RUBY_PROC_MASK, RUBY_STRING_MASK, RUBY_ARRAY_MASK,
74-
RUBY_SYMBOL_MASK, RUBY_HASH_MASK, RUBY_ENCODING_MASK,
74+
RUBY_MODULE_MASK, RUBY_PROC_MASK, RUBY_STRING_MASK,
75+
RUBY_ISTRING_MASK, RUBY_ARRAY_MASK,RUBY_SYMBOL_MASK,
76+
RUBY_HASH_MASK, RUBY_ENCODING_MASK,
7577
RUBY_REGEXP_MASK);
7678
}
7779

@@ -177,8 +179,12 @@ public String getDetailsString(String className, Instance instance) {
177179
return DetailsUtils.getInstanceFieldString(instance, "fields"); // NOI18N
178180
case RUBY_PROC_MASK:
179181
return DetailsUtils.getInstanceFieldString(instance, "sharedMethodInfo"); // NOI18N
182+
case RUBY_ISTRING_MASK:
183+
return DetailsUtils.getInstanceFieldString(instance, "tstring"); // NOI18N
180184
case RUBY_STRING_MASK:
181-
return DetailsUtils.getInstanceFieldString(instance, "rope"); // NOI18N
185+
String s = DetailsUtils.getInstanceFieldString(instance, "tstring"); // NOI18N
186+
if (s == null) s = DetailsUtils.getInstanceFieldString(instance, "rope"); // NOI18N
187+
return s;
182188
case RUBY_ARRAY_MASK:
183189
case RUBY_HASH_MASK: {
184190
Integer length = (Integer) instance.getValueOfField("size");

0 commit comments

Comments
 (0)