comparison truffle/com.oracle.truffle.api.vm/src/com/oracle/truffle/api/vm/TruffleVM.java @ 22246:bc3be6efa1cc

Truffle/Instrumentation: move the registration if a newly loaded language's DefaultASTProber earlier in the language setup sequence
author Michael Van De Vanter <michael.van.de.vanter@oracle.com>
date Wed, 23 Sep 2015 17:24:59 -0700
parents f78c72e2e0b6
children 3986598b6aa0
comparison
equal deleted inserted replaced
22245:c1f9d1ea057c 22246:bc3be6efa1cc
790 } 790 }
791 791
792 TruffleLanguage<?> getImpl(boolean create) { 792 TruffleLanguage<?> getImpl(boolean create) {
793 getEnv(create); 793 getEnv(create);
794 TruffleLanguage<?> impl = info.getImpl(false); 794 TruffleLanguage<?> impl = info.getImpl(false);
795 if (impl != null) { 795 return impl;
796 }
797
798 TruffleLanguage.Env getEnv(boolean create) {
799 if (env == null && create) {
800 final TruffleLanguage<?> impl = info.getImpl(true);
796 ASTProber prober = SPI.getDefaultASTProber(impl); 801 ASTProber prober = SPI.getDefaultASTProber(impl);
797 if (prober != null) { 802 if (prober != null) {
798 instrumenter.registerASTProber(prober); 803 instrumenter.registerASTProber(prober);
799 } 804 }
800 } 805 env = SPI.attachEnv(TruffleVM.this, impl, out, err, in, TruffleVM.this.instrumenter);
801 return impl;
802 }
803
804 TruffleLanguage.Env getEnv(boolean create) {
805 if (env == null && create) {
806 env = SPI.attachEnv(TruffleVM.this, info.getImpl(true), out, err, in, TruffleVM.this.instrumenter);
807 } 806 }
808 return env; 807 return env;
809 } 808 }
810 809
811 @Override 810 @Override