@@ -156,47 +156,42 @@ public class RubyLanguage extends TruffleLanguage<RubyContext> {
156
156
public final Shape moduleShape = createShape (RubyModule .class );
157
157
public final Shape classShape = createShape (RubyClass .class );
158
158
159
- // TODO (eregon, 25 Sep 2020): These Shapes should ideally be stored in the language instance,
160
- // so different Engines/RubyLanguage instances can have different type profiles.
161
- // However that requires passing the language instance around a lot which is inconvenient
162
- // and does not seem worth it currently. Also these builtin types are rather unlikely to have
163
- // instance variables.
164
- public static final Shape arrayShape = createShape (RubyArray .class );
165
- public static final Shape atomicReferenceShape = createShape (RubyAtomicReference .class );
166
- public static final Shape bigDecimalShape = createShape (RubyBigDecimal .class );
167
- public static final Shape bindingShape = createShape (RubyBinding .class );
168
- public static final Shape byteArrayShape = createShape (RubyByteArray .class );
169
- public static final Shape conditionVariableShape = createShape (RubyConditionVariable .class );
170
- public static final Shape digestShape = createShape (RubyDigest .class );
171
- public static final Shape encodingConverterShape = createShape (RubyEncodingConverter .class );
172
- public static final Shape encodingShape = createShape (RubyEncoding .class );
173
- public static final Shape exceptionShape = createShape (RubyException .class );
174
- public static final Shape fiberShape = createShape (RubyFiber .class );
175
- public static final Shape handleShape = createShape (RubyHandle .class );
176
- public static final Shape hashShape = createShape (RubyHash .class );
177
- public static final Shape intRangeShape = createShape (RubyIntRange .class );
178
- public static final Shape ioShape = createShape (RubyIO .class );
179
- public static final Shape longRangeShape = createShape (RubyLongRange .class );
180
- public static final Shape matchDataShape = createShape (RubyMatchData .class );
181
- public static final Shape methodShape = createShape (RubyMethod .class );
182
- public static final Shape mutexShape = createShape (RubyMutex .class );
183
- public static final Shape nameErrorShape = createShape (RubyNameError .class );
184
- public static final Shape noMethodErrorShape = createShape (RubyNoMethodError .class );
185
- public static final Shape objectRangeShape = createShape (RubyObjectRange .class );
186
- public static final Shape procShape = createShape (RubyProc .class );
187
- public static final Shape queueShape = createShape (RubyQueue .class );
188
- public static final Shape randomizerShape = createShape (RubyRandomizer .class );
189
- public static final Shape regexpShape = createShape (RubyRegexp .class );
190
- public static final Shape sizedQueueShape = createShape (RubySizedQueue .class );
191
- public static final Shape stringShape = createShape (RubyString .class );
192
- public static final Shape systemCallErrorShape = createShape (RubySystemCallError .class );
193
- public static final Shape threadBacktraceLocationShape = createShape (RubyBacktraceLocation .class );
194
- public static final Shape threadShape = createShape (RubyThread .class );
195
- public static final Shape timeShape = createShape (RubyTime .class );
196
- public static final Shape tracePointShape = createShape (RubyTracePoint .class );
197
- public static final Shape truffleFFIPointerShape = createShape (RubyPointer .class );
198
- public static final Shape unboundMethodShape = createShape (RubyUnboundMethod .class );
199
- public static final Shape weakMapShape = createShape (RubyWeakMap .class );
159
+ public final Shape arrayShape = createShape (RubyArray .class );
160
+ public final Shape atomicReferenceShape = createShape (RubyAtomicReference .class );
161
+ public final Shape bigDecimalShape = createShape (RubyBigDecimal .class );
162
+ public final Shape bindingShape = createShape (RubyBinding .class );
163
+ public final Shape byteArrayShape = createShape (RubyByteArray .class );
164
+ public final Shape conditionVariableShape = createShape (RubyConditionVariable .class );
165
+ public final Shape digestShape = createShape (RubyDigest .class );
166
+ public final Shape encodingConverterShape = createShape (RubyEncodingConverter .class );
167
+ public final Shape encodingShape = createShape (RubyEncoding .class );
168
+ public final Shape exceptionShape = createShape (RubyException .class );
169
+ public final Shape fiberShape = createShape (RubyFiber .class );
170
+ public final Shape handleShape = createShape (RubyHandle .class );
171
+ public final Shape hashShape = createShape (RubyHash .class );
172
+ public final Shape intRangeShape = createShape (RubyIntRange .class );
173
+ public final Shape ioShape = createShape (RubyIO .class );
174
+ public final Shape longRangeShape = createShape (RubyLongRange .class );
175
+ public final Shape matchDataShape = createShape (RubyMatchData .class );
176
+ public final Shape methodShape = createShape (RubyMethod .class );
177
+ public final Shape mutexShape = createShape (RubyMutex .class );
178
+ public final Shape nameErrorShape = createShape (RubyNameError .class );
179
+ public final Shape noMethodErrorShape = createShape (RubyNoMethodError .class );
180
+ public final Shape objectRangeShape = createShape (RubyObjectRange .class );
181
+ public final Shape procShape = createShape (RubyProc .class );
182
+ public final Shape queueShape = createShape (RubyQueue .class );
183
+ public final Shape randomizerShape = createShape (RubyRandomizer .class );
184
+ public final Shape regexpShape = createShape (RubyRegexp .class );
185
+ public final Shape sizedQueueShape = createShape (RubySizedQueue .class );
186
+ public final Shape stringShape = createShape (RubyString .class );
187
+ public final Shape systemCallErrorShape = createShape (RubySystemCallError .class );
188
+ public final Shape threadBacktraceLocationShape = createShape (RubyBacktraceLocation .class );
189
+ public final Shape threadShape = createShape (RubyThread .class );
190
+ public final Shape timeShape = createShape (RubyTime .class );
191
+ public final Shape tracePointShape = createShape (RubyTracePoint .class );
192
+ public final Shape truffleFFIPointerShape = createShape (RubyPointer .class );
193
+ public final Shape unboundMethodShape = createShape (RubyUnboundMethod .class );
194
+ public final Shape weakMapShape = createShape (RubyWeakMap .class );
200
195
201
196
public RubyLanguage () {
202
197
coreMethodAssumptions = new CoreMethodAssumptions (this );
0 commit comments