Package com.facebook.presto.byteCode

Examples of com.facebook.presto.byteCode.Block.visitLabel()


            stackTypes.add(methodType.parameterType(i));
            block.append(ifWasNullPopAndGoto(context, end, unboxedReturnType, Lists.reverse(stackTypes)));
        }
        block.invokeDynamic(functionBinding.getName(), methodType, functionBinding.getBindingId());

        block.visitLabel(end);

        return block;
    }
}
View Full Code Here


                block.dup(methodType.returnType())
                        .ifNotNullGoto(end)
                        .putVariable("wasNull", true);
            }
        }
        block.visitLabel(end);

        return block;
    }
}
View Full Code Here

                equalsCall.append(functionBinding.getArguments().get(i));
                stackTypes.add(methodType.parameterType(i));
                equalsCall.append(ByteCodeUtils.ifWasNullPopAndGoto(context, end, unboxedReturnType, Lists.reverse(stackTypes)));
            }
            equalsCall.invokeDynamic(functionBinding.getName(), methodType, functionBinding.getBindingId());
            equalsCall.visitLabel(end);

            Block condition = new Block(context)
                    .append(equalsCall)
                    .putVariable("wasNull", false);
View Full Code Here

                block.dup(methodType.returnType())
                        .ifNotNullGoto(end)
                        .putVariable("wasNull", true);
            }
        }
        block.visitLabel(end);

        return block;
    }

    @Override
View Full Code Here

                block.dup(methodType.returnType())
                        .ifNotNullGoto(end)
                        .putVariable("wasNull", true);
            }
        }
        block.visitLabel(end);

        return block;
    }

    private static ByteCodeNode unboxPrimitive(CompilerContext context, Class<?> unboxedType)
View Full Code Here

                block.dup(methodType.returnType())
                        .ifNotNullGoto(end)
                        .putVariable("wasNull", true);
            }
        }
        block.visitLabel(end);

        return block;
    }

    public static ByteCodeNode invoke(CompilerContext context, Binding binding)
View Full Code Here

                    .visitLabel(falseLabel)
                    .append(ifFalse)
                    .visitLabel(outLabel);
        }
        else {
            block.visitLabel(falseLabel);
        }

        block.accept(visitor);
    }
View Full Code Here

        LabelNode done = new LabelNode("done");

        Block block = new Block(context);

        // try block
        block.visitLabel(tryStart)
                .append(tryNode)
                .visitLabel(tryEnd)
                .gotoLabel(done);

        // handler block
View Full Code Here

                .append(tryNode)
                .visitLabel(tryEnd)
                .gotoLabel(done);

        // handler block
        block.visitLabel(handler)
                .append(catchNode);

        // all done
        block.visitLabel(done);
View Full Code Here

        // handler block
        block.visitLabel(handler)
                .append(catchNode);

        // all done
        block.visitLabel(done);

        block.accept(visitor);
        visitor.visitTryCatchBlock(tryStart.getLabel(), tryEnd.getLabel(), handler.getLabel(), exceptionName);
    }
View Full Code Here

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.