Skip to content

Commit cbe10bc

Browse files
committed
[GR-43823] Fix inlined loop condition profile used wrong inline signature and was untested.
PullRequest: graal/13728
2 parents 10b01e8 + e624fd9 commit cbe10bc

File tree

3 files changed

+313
-127
lines changed

3 files changed

+313
-127
lines changed

truffle/src/com.oracle.truffle.api.profiles/src/com/oracle/truffle/api/profiles/InlinedLoopConditionProfile.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -319,7 +319,7 @@ public String toString(Node node) {
319319
* @since 23.0
320320
*/
321321
public static InlinedLoopConditionProfile inline(
322-
@RequiredField(value = IntField.class)//
322+
@RequiredField(value = LongField.class)//
323323
@RequiredField(value = IntField.class) InlineTarget target) {
324324
if (Profile.isProfilingEnabled()) {
325325
return new InlinedLoopConditionProfile(target);

truffle/src/com.oracle.truffle.api.test/src/com/oracle/truffle/api/test/profiles/AbstractProfileTest.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,11 @@ static Lookup lookup() {
108108

109109
protected static final InlinableField[] createInlinedFields(int stateFields, int byteFields, int intFields, int longFields, int refFields) {
110110
List<InlinableField> fields = new ArrayList<>();
111+
addInlinedFields(fields, stateFields, byteFields, intFields, longFields, refFields);
112+
return fields.toArray(new InlinableField[fields.size()]);
113+
}
111114

115+
protected static void addInlinedFields(List<InlinableField> fields, int stateFields, int byteFields, int intFields, int longFields, int refFields) {
112116
for (int i = 0; i < stateFields; i++) {
113117
fields.add(StateField.create(InlinedStateNode.lookup(), "state" + i));
114118
}
@@ -128,8 +132,6 @@ protected static final InlinableField[] createInlinedFields(int stateFields, int
128132
for (int i = 0; i < refFields; i++) {
129133
fields.add(ReferenceField.create(InlinedStateNode.lookup(), "ref" + i, Object.class));
130134
}
131-
132-
return fields.toArray(new InlinableField[fields.size()]);
133135
}
134136

135137
protected InlinedStateNode state;

0 commit comments

Comments
 (0)