diff --git a/hat/docs/hat-05-accelerator-compute.md b/hat/docs/hat-05-accelerator-compute.md index 6c55bf18f6a..c282b5231fc 100644 --- a/hat/docs/hat-05-accelerator-compute.md +++ b/hat/docs/hat-05-accelerator-compute.md @@ -207,7 +207,7 @@ Here is how we extract the 'target' from such a lambda ```java public void compute(QuotableComputeContextConsumer qccc) { - Quoted quoted = qccc.quoted(); + Quoted quoted = Op.ofQuotable(qccc).orElseThrow(); LambdaOpWrapper lambda = OpTools.wrap((CoreOps.LambdaOp)quoted.op()); Method method = lambda.getQuotableComputeContextTargetMethod(); diff --git a/hat/examples/experiments/src/main/java/experiments/TestQuoted.java b/hat/examples/experiments/src/main/java/experiments/TestQuoted.java index 4f59f0e56c7..e2e7a083e3a 100644 --- a/hat/examples/experiments/src/main/java/experiments/TestQuoted.java +++ b/hat/examples/experiments/src/main/java/experiments/TestQuoted.java @@ -131,7 +131,7 @@ public void test() { } static void isMethodRef(Quotable q) { - Quoted quoted = q.quoted(); + Quoted quoted = Op.ofQuotable(q).orElseThrow();; CoreOp.LambdaOp op = (CoreOp.LambdaOp) quoted.op(); System.out.println(isMethodRef(op)); } diff --git a/hat/hat/src/main/java/hat/Accelerator.java b/hat/hat/src/main/java/hat/Accelerator.java index 11cd6b49eef..306031982e1 100644 --- a/hat/hat/src/main/java/hat/Accelerator.java +++ b/hat/hat/src/main/java/hat/Accelerator.java @@ -35,6 +35,8 @@ import java.lang.invoke.MethodHandles; import java.lang.reflect.Method; + +import jdk.incubator.code.Op; import jdk.incubator.code.Quotable; import jdk.incubator.code.Quoted; import jdk.incubator.code.op.CoreOp; @@ -147,7 +149,7 @@ public interface QuotableComputeContextConsumer extends Quotable, Consumer<Compu */ public void compute(QuotableComputeContextConsumer quotableComputeContextConsumer) { - Quoted quoted = quotableComputeContextConsumer.quoted(); + Quoted quoted = Op.ofQuotable(quotableComputeContextConsumer).orElseThrow(); LambdaOpWrapper lambda = OpWrapper.wrap((CoreOp.LambdaOp) quoted.op()); Method method = lambda.getQuotableTargetMethod(this.lookup); diff --git a/hat/hat/src/main/java/hat/ComputeContext.java b/hat/hat/src/main/java/hat/ComputeContext.java index 6192925e292..f808b0fa0a9 100644 --- a/hat/hat/src/main/java/hat/ComputeContext.java +++ b/hat/hat/src/main/java/hat/ComputeContext.java @@ -140,7 +140,7 @@ protected ComputeContext(Accelerator accelerator, Method computeMethod) { */ public void dispatchKernel(int range, QuotableKernelContextConsumer quotableKernelContextConsumer) { - Quoted quoted = quotableKernelContextConsumer.quoted(); + Quoted quoted = Op.ofQuotable(quotableKernelContextConsumer).orElseThrow(); LambdaOpWrapper lambdaOpWrapper = OpWrapper.wrap((CoreOp.LambdaOp) quoted.op()); MethodRef methodRef = lambdaOpWrapper.getQuotableTargetMethodRef(); KernelCallGraph kernelCallGraph = computeCallGraph.kernelCallGraphMap.get(methodRef);