Mercurial > hg > graal-compiler
diff graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/generator/SpecializedNodeFactory.java @ 18758:3912400fc33a
Truffle-DSL: remove type system singleton
author | Christian Humer <christian.humer@gmail.com> |
---|---|
date | Mon, 29 Dec 2014 23:38:42 +0100 |
parents | 59bf50cc5a32 |
children | a665483c3881 |
line wrap: on
line diff
--- a/graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/generator/SpecializedNodeFactory.java Mon Dec 29 23:38:39 2014 +0100 +++ b/graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/generator/SpecializedNodeFactory.java Mon Dec 29 23:38:42 2014 +0100 @@ -492,11 +492,13 @@ if (targetType == null || sourceType == null) { builder.tree(returnBuilder.getRoot()); } else if (sourceType.needsCastTo(targetType)) { - String castMethodName = TypeSystemCodeGenerator.expectTypeMethodName(targetType); - if (!executable.hasUnexpectedValue(context)) { - castMethodName = TypeSystemCodeGenerator.asTypeMethodName(targetType); + CodeTree cast; + if (executable.hasUnexpectedValue(context)) { + cast = TypeSystemCodeGenerator.expect(targetType, returnBuilder.getRoot()); + } else { + cast = TypeSystemCodeGenerator.cast(targetType, returnBuilder.getRoot()); } - builder.tree(createCallTypeSystemMethod(parent, node, castMethodName, returnBuilder.getRoot())); + builder.tree(cast); } else { builder.tree(returnBuilder.getRoot()); }