comparison graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/typesystem/TypeSystemCodeGenerator.java @ 13275:bd5c996b5d25

Truffle-DSL: fixed wrong transferToInterpreter with transferToInterpreterAndInvalidate.
author Christian Humer <christian.humer@gmail.com>
date Thu, 05 Dec 2013 13:39:08 +0100
parents 8e8347ecabbc
children bd28da642eea
comparison
equal deleted inserted replaced
13274:e4862151eefd 13275:bd5c996b5d25
219 builder.end(); 219 builder.end();
220 builder.end(); 220 builder.end();
221 } 221 }
222 222
223 builder.startElseBlock(); 223 builder.startElseBlock();
224 builder.startStatement().startStaticCall(getContext().getTruffleTypes().getCompilerDirectives(), "transferToInterpreter").end().end(); 224 builder.startStatement().startStaticCall(getContext().getTruffleTypes().getCompilerDirectives(), "transferToInterpreterAndInvalidate").end().end();
225 builder.startThrow().startNew(getContext().getType(IllegalArgumentException.class)).doubleQuote("Illegal type ").end().end(); 225 builder.startThrow().startNew(getContext().getType(IllegalArgumentException.class)).doubleQuote("Illegal type ").end().end();
226 builder.end(); 226 builder.end();
227 return method; 227 return method;
228 } 228 }
229 229
246 builder.startReturn().typeLiteral(sourceType.getPrimitiveType()).end(); 246 builder.startReturn().typeLiteral(sourceType.getPrimitiveType()).end();
247 builder.end(); 247 builder.end();
248 } 248 }
249 249
250 builder.startElseBlock(); 250 builder.startElseBlock();
251 builder.startStatement().startStaticCall(getContext().getTruffleTypes().getCompilerDirectives(), "transferToInterpreter").end().end(); 251 builder.startStatement().startStaticCall(getContext().getTruffleTypes().getCompilerDirectives(), "transferToInterpreterAndInvalidate").end().end();
252 builder.startThrow().startNew(getContext().getType(IllegalArgumentException.class)).doubleQuote("Illegal type ").end().end(); 252 builder.startThrow().startNew(getContext().getType(IllegalArgumentException.class)).doubleQuote("Illegal type ").end().end();
253 builder.end(); 253 builder.end();
254 254
255 return method; 255 return method;
256 } 256 }