Skip to content

Commit 7c10644

Browse files
committed
Updates after merge from head.
1 parent 3474eca commit 7c10644

File tree

4 files changed

+17
-12
lines changed

4 files changed

+17
-12
lines changed

substratevm/src/com.oracle.objectfile/src/com/oracle/objectfile/pecoff/cv/CVNames.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,8 @@
2626

2727
package com.oracle.objectfile.pecoff.cv;
2828

29-
import com.oracle.objectfile.debugentry.MemberEntry;
29+
import com.oracle.objectfile.debugentry.FieldEntry;
30+
import com.oracle.objectfile.debugentry.MethodEntry;
3031
import com.oracle.objectfile.debugentry.TypeEntry;
3132

3233
final class CVNames {
@@ -39,7 +40,11 @@ static String typeNameToCodeViewName(TypeEntry typeEntry) {
3940
return typeNameToCodeViewName(typeEntry.getTypeName());
4041
}
4142

42-
static String memberNameToCodeViewName(MemberEntry memberEntry) {
43+
static String methodNameToCodeViewName(MethodEntry memberEntry) {
44+
return typeNameToCodeViewName(memberEntry.ownerType()) + "::" + memberEntry.methodName();
45+
}
46+
47+
static String fieldNameToCodeViewName(FieldEntry memberEntry) {
4348
return typeNameToCodeViewName(memberEntry.ownerType()) + "::" + memberEntry.fieldName();
4449
}
4550
}

substratevm/src/com.oracle.objectfile/src/com/oracle/objectfile/pecoff/cv/CVSymbolSubsectionBuilder.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -85,15 +85,15 @@ void build() {
8585
private void buildClass(ClassEntry classEntry) {
8686

8787
/* Define all the functions in this class all functions defined in this class. */
88-
classEntry.compiledEntries().forEach(compiledEntry -> buildFunction(compiledEntry));
88+
classEntry.compiledEntries().forEach(this::buildFunction);
8989

9090
/* Define the class itself. */
9191
addTypeRecords(classEntry);
9292

9393
/* Add manifested static fields as S_GDATA32 records. */
9494
classEntry.fields().filter(CVSymbolSubsectionBuilder::isManifestedStaticField).forEach(f -> {
9595
int typeIndex = cvDebugInfo.getCVTypeSection().getIndexForPointer(f.getValueType());
96-
String displayName = CVNames.memberNameToCodeViewName(f);
96+
String displayName = CVNames.fieldNameToCodeViewName(f);
9797
if (cvDebugInfo.useHeapBase()) {
9898
/*
9999
* Isolates are enabled. Static member is located at REL32 offset from heap base
@@ -121,7 +121,7 @@ private void buildFunction(CompiledMethodEntry compiledEntry) {
121121
final Range primaryRange = compiledEntry.getPrimary();
122122

123123
/* The name as it will appear in the debugger. */
124-
final String debuggerName = CVNames.memberNameToCodeViewName(primaryRange.getMethodEntry());
124+
final String debuggerName = CVNames.methodNameToCodeViewName(primaryRange.getMethodEntry());
125125

126126
/* The name as exposed to the linker. */
127127
final String externalName = primaryRange.getSymbolName();

substratevm/src/com.oracle.objectfile/src/com/oracle/objectfile/pecoff/cv/CVTypeSectionBuilder.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -28,11 +28,11 @@
2828

2929
import com.oracle.objectfile.debugentry.ArrayTypeEntry;
3030
import com.oracle.objectfile.debugentry.ClassEntry;
31+
import com.oracle.objectfile.debugentry.CompiledMethodEntry;
3132
import com.oracle.objectfile.debugentry.FieldEntry;
3233
import com.oracle.objectfile.debugentry.HeaderTypeEntry;
3334
import com.oracle.objectfile.debugentry.MemberEntry;
3435
import com.oracle.objectfile.debugentry.MethodEntry;
35-
import com.oracle.objectfile.debugentry.PrimaryEntry;
3636
import com.oracle.objectfile.debugentry.StructureTypeEntry;
3737
import com.oracle.objectfile.debugentry.TypeEntry;
3838

@@ -149,7 +149,7 @@ CVTypeRecord buildType(TypeEntry typeEntry) {
149149
* @param entry primaryEntry containing entities whose type records must be added
150150
* @return type record for this function (may return existing matching record)
151151
*/
152-
CVTypeRecord buildFunction(PrimaryEntry entry) {
152+
CVTypeRecord buildFunction(CompiledMethodEntry entry) {
153153
return buildMemberFunction(entry.getClassEntry(), entry.getPrimary().getMethodEntry());
154154
}
155155

@@ -296,7 +296,7 @@ private CVTypeRecord buildStructureTypeEntry(final StructureTypeEntry typeEntry)
296296

297297
/* LF_MFUNCTION records */
298298
methods.stream().filter(methodEntry -> methodEntry.methodName().equals(mname)).forEach(m -> {
299-
log("overloaded method %s(%s) attr=(%s) valuetype=%s", m.fieldName(), m.methodName(), m.getModifiersString(), m.getValueType().getTypeName());
299+
log("overloaded method %s attr=(%s) valuetype=%s", m.methodName(), m.getModifiersString(), m.getValueType().getTypeName());
300300
CVTypeRecord.CVTypeMFunctionRecord mFunctionRecord = buildMemberFunction((ClassEntry) typeEntry, m);
301301
short attr = modifiersToAttr(m);
302302
log(" overloaded method %s", mFunctionRecord);
@@ -311,7 +311,7 @@ private CVTypeRecord buildStructureTypeEntry(final StructureTypeEntry typeEntry)
311311
});
312312

313313
methods.stream().filter(methodEntry -> !overloaded.contains(methodEntry.methodName())).forEach(m -> {
314-
log("`unique method %s %s %s(...)", m.fieldName(), m.methodName(), m.getModifiersString(), m.getValueType().getTypeName(), m.methodName());
314+
log("`unique method %s %s(...)", m.methodName(), m.getModifiersString(), m.getValueType().getTypeName(), m.methodName());
315315
CVTypeRecord.CVOneMethodRecord method = buildMethod((ClassEntry) typeEntry, m);
316316
log(" unique method %s", method);
317317
fieldListBuilder.addField(method);
@@ -335,7 +335,7 @@ private CVTypeRecord buildStructureTypeEntry(final StructureTypeEntry typeEntry)
335335
* Try to find a line number for the first function - if none, don't bother to create
336336
* the record.
337337
*/
338-
int line = classEntry.getPrimaryEntries().isEmpty() ? 0 : classEntry.getPrimaryEntries().get(0).getPrimary().getLine();
338+
int line = classEntry.getMethods().isEmpty() ? 0 : classEntry.getMethods().get(0).getLine();
339339
if (line > 0) {
340340
int idIdx = typeSection.getStringId(classEntry.getFullFileName()).getSequenceNumber();
341341
CVTypeRecord.CVUdtTypeLineRecord udt = new CVTypeRecord.CVUdtTypeLineRecord(typeRecord.getSequenceNumber(), idIdx, line);

substratevm/src/com.oracle.objectfile/src/com/oracle/objectfile/pecoff/cv/CVTypeSectionImpl.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
import com.oracle.objectfile.LayoutDecision;
3131
import com.oracle.objectfile.LayoutDecisionMap;
3232
import com.oracle.objectfile.ObjectFile;
33-
import com.oracle.objectfile.debugentry.PrimaryEntry;
33+
import com.oracle.objectfile.debugentry.CompiledMethodEntry;
3434
import com.oracle.objectfile.debugentry.TypeEntry;
3535
import com.oracle.objectfile.pecoff.PECoffObjectFile;
3636
import org.graalvm.compiler.debug.DebugContext;
@@ -140,7 +140,7 @@ public Set<BuildDependency> getDependencies(Map<ObjectFile.Element, LayoutDecisi
140140
* @param entry primaryEntry containing entities whose type records must be added
141141
* @return type index of function type
142142
*/
143-
CVTypeRecord addTypeRecords(PrimaryEntry entry) {
143+
CVTypeRecord addTypeRecords(CompiledMethodEntry entry) {
144144
return builder.buildFunction(entry);
145145
}
146146

0 commit comments

Comments
 (0)