98 * The total size of the stack frame of this compiled method.
99 */
100 protected final int totalFrameSize;
101
102 /**
103 * The deopt rescue slot. Must be non-null if there is a safepoint in the method.
104 */
105 protected final StackSlot deoptRescueSlot;
106
107 public static class Comment {
108
109 public final String text;
110 public final int pcOffset;
111
112 public Comment(int pcOffset, String text) {
113 this.text = text;
114 this.pcOffset = pcOffset;
115 }
116 }
117
118 public HotSpotCompiledCode(String name, byte[] targetCode, int targetCodeSize, Site[] sites, Assumption[] assumptions, ResolvedJavaMethod[] methods, Comment[] comments, byte[] dataSection,
119 int dataSectionAlignment, DataPatch[] dataSectionPatches, boolean isImmutablePIC, int totalFrameSize, StackSlot deoptRescueSlot) {
120 this.name = name;
121 this.targetCode = targetCode;
122 this.targetCodeSize = targetCodeSize;
123 this.sites = sites;
124 this.assumptions = assumptions;
125 this.methods = methods;
126
127 this.comments = comments;
128 this.dataSection = dataSection;
129 this.dataSectionAlignment = dataSectionAlignment;
130 this.dataSectionPatches = dataSectionPatches;
131 this.isImmutablePIC = isImmutablePIC;
132 this.totalFrameSize = totalFrameSize;
133 this.deoptRescueSlot = deoptRescueSlot;
134
135 assert validateFrames();
136 }
137
|
98 * The total size of the stack frame of this compiled method.
99 */
100 protected final int totalFrameSize;
101
102 /**
103 * The deopt rescue slot. Must be non-null if there is a safepoint in the method.
104 */
105 protected final StackSlot deoptRescueSlot;
106
107 public static class Comment {
108
109 public final String text;
110 public final int pcOffset;
111
112 public Comment(int pcOffset, String text) {
113 this.text = text;
114 this.pcOffset = pcOffset;
115 }
116 }
117
118 @SuppressFBWarnings(value = "EI_EXPOSE_REP2", justification = "caller transfers ownership of `sites`, `targetCode`, `comments`, `methods`, `dataSection`, `dataSectionPatches` and `assumptions`")
119 public HotSpotCompiledCode(String name, byte[] targetCode, int targetCodeSize, Site[] sites, Assumption[] assumptions, ResolvedJavaMethod[] methods, Comment[] comments, byte[] dataSection,
120 int dataSectionAlignment, DataPatch[] dataSectionPatches, boolean isImmutablePIC, int totalFrameSize, StackSlot deoptRescueSlot) {
121 this.name = name;
122 this.targetCode = targetCode;
123 this.targetCodeSize = targetCodeSize;
124 this.sites = sites;
125 this.assumptions = assumptions;
126 this.methods = methods;
127
128 this.comments = comments;
129 this.dataSection = dataSection;
130 this.dataSectionAlignment = dataSectionAlignment;
131 this.dataSectionPatches = dataSectionPatches;
132 this.isImmutablePIC = isImmutablePIC;
133 this.totalFrameSize = totalFrameSize;
134 this.deoptRescueSlot = deoptRescueSlot;
135
136 assert validateFrames();
137 }
138
|