< prev index next >
src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/ir/debug/NashornTextifier.java
Print this page
*** 23,35 ****
* questions.
*/
package jdk.nashorn.internal.ir.debug;
- import static jdk.nashorn.internal.runtime.linker.NashornCallSiteDescriptor.CALLSITE_PROGRAM_POINT_SHIFT;
- import static jdk.nashorn.internal.runtime.linker.NashornCallSiteDescriptor.FLAGS_MASK;
-
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.PrintWriter;
import java.util.HashMap;
--- 23,32 ----
*** 500,509 ****
--- 497,507 ----
public void visitInvokeDynamicInsn(final String name, final String desc, final Handle bsm, final Object... bsmArgs) {
final StringBuilder sb = new StringBuilder();
appendOpcode(sb, Opcodes.INVOKEDYNAMIC).append(' ');
final boolean isNashornBootstrap = isNashornBootstrap(bsm);
+ final boolean isNashornMathBootstrap = isNashornMathBootstrap(bsm);
if (isNashornBootstrap) {
sb.append(NashornCallSiteDescriptor.getOperationName((Integer)bsmArgs[0]));
final String decodedName = NameCodec.decode(name);
if (!decodedName.isEmpty()) {
sb.append(':').append(decodedName);
*** 527,542 ****
} else if (cst instanceof Type) {
sb.append(((Type)cst).getDescriptor()).append(".class");
} else if (cst instanceof Handle) {
appendHandle(sb, (Handle)cst);
} else if (cst instanceof Integer && isNashornBootstrap) {
! final int c = (Integer)cst;
! final int pp = c >> CALLSITE_PROGRAM_POINT_SHIFT;
! if (pp != 0) {
! sb.append(" pp=").append(pp);
! }
! sb.append(NashornCallSiteDescriptor.toString(c & FLAGS_MASK));
} else {
sb.append(cst);
}
sb.append(", ");
}
--- 525,537 ----
} else if (cst instanceof Type) {
sb.append(((Type)cst).getDescriptor()).append(".class");
} else if (cst instanceof Handle) {
appendHandle(sb, (Handle)cst);
} else if (cst instanceof Integer && isNashornBootstrap) {
! NashornCallSiteDescriptor.appendFlags((Integer) cst, sb);
! } else if (cst instanceof Integer && isNashornMathBootstrap) {
! sb.append(" pp=").append(cst);
} else {
sb.append(cst);
}
sb.append(", ");
}
*** 549,558 ****
--- 544,557 ----
private static boolean isNashornBootstrap(final Handle bsm) {
return "bootstrap".equals(bsm.getName()) && BOOTSTRAP_CLASS_NAME.equals(bsm.getOwner());
}
+ private static boolean isNashornMathBootstrap(final Handle bsm) {
+ return "mathBootstrap".equals(bsm.getName()) && BOOTSTRAP_CLASS_NAME.equals(bsm.getOwner());
+ }
+
private static boolean noFallThru(final int opcode) {
switch (opcode) {
case Opcodes.GOTO:
case Opcodes.ATHROW:
case Opcodes.ARETURN:
< prev index next >