145 append(new SPARCHotSpotSafepointOp.SPARCLoadSafepointPollAddress(var, getGen().config));
146 getGen().append(((HotSpotDebugInfoBuilder) getDebugInfoBuilder()).lockStack());
147 }
148
149 @Override
150 public void visitFullInfopointNode(FullInfopointNode i) {
151 if (i.getState() != null && i.getState().bci == BytecodeFrame.AFTER_BCI) {
152 i.getDebug().log("Ignoring InfopointNode for AFTER_BCI");
153 } else {
154 super.visitFullInfopointNode(i);
155 }
156 }
157
158 @Override
159 public void visitBreakpointNode(BreakpointNode node) {
160 JavaType[] sig = new JavaType[node.arguments().size()];
161 for (int i = 0; i < sig.length; i++) {
162 sig[i] = node.arguments().get(i).stamp().javaType(gen.getMetaAccess());
163 }
164
165 Value[] parameters = visitInvokeArguments(gen.getResult().getFrameMapBuilder().getRegisterConfig().getCallingConvention(HotSpotCallingConventionType.JavaCall, null, sig, gen),
166 node.arguments());
167 append(new SPARCBreakpointOp(parameters));
168 }
169 }
|
145 append(new SPARCHotSpotSafepointOp.SPARCLoadSafepointPollAddress(var, getGen().config));
146 getGen().append(((HotSpotDebugInfoBuilder) getDebugInfoBuilder()).lockStack());
147 }
148
149 @Override
150 public void visitFullInfopointNode(FullInfopointNode i) {
151 if (i.getState() != null && i.getState().bci == BytecodeFrame.AFTER_BCI) {
152 i.getDebug().log("Ignoring InfopointNode for AFTER_BCI");
153 } else {
154 super.visitFullInfopointNode(i);
155 }
156 }
157
158 @Override
159 public void visitBreakpointNode(BreakpointNode node) {
160 JavaType[] sig = new JavaType[node.arguments().size()];
161 for (int i = 0; i < sig.length; i++) {
162 sig[i] = node.arguments().get(i).stamp().javaType(gen.getMetaAccess());
163 }
164
165 Value[] parameters = visitInvokeArguments(gen.getRegisterConfig().getCallingConvention(HotSpotCallingConventionType.JavaCall, null, sig, gen), node.arguments());
166 append(new SPARCBreakpointOp(parameters));
167 }
168 }
|