Mercurial > hg > truffle
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 |