equal
deleted
inserted
replaced
192 (JavaVM classForName:'stx.libjava.tools.environment.Environment') shared cleanup. |
192 (JavaVM classForName:'stx.libjava.tools.environment.Environment') shared cleanup. |
193 |
193 |
194 oldClass subclassesDo:[:cls | |
194 oldClass subclassesDo:[:cls | |
195 JavaVM registry unregisterClass: cls |
195 JavaVM registry unregisterClass: cls |
196 ]. |
196 ]. |
197 JavaVM registry classesDo:[:cls| |
197 JavaVM registry allClassesDo:[:cls| |
198 "/ JV: Q: Should we remove all users of the interface? Let's do it, but not |
198 "/ JV: Q: Should we remove all users of the interface? Let's do it, but not |
199 "/ sure if that's necessary/desirable |
199 "/ sure if that's necessary/desirable |
200 | ifaces | |
200 | ifaces | |
201 |
201 |
202 ifaces := cls getInterfaces. |
202 ifaces := cls getInterfaces. |
214 ]. |
214 ]. |
215 cls constantPool invalidateForClass: oldClass binaryName |
215 cls constantPool invalidateForClass: oldClass binaryName |
216 ] |
216 ] |
217 |
217 |
218 "Created: / 14-09-2013 / 15:53:48 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
218 "Created: / 14-09-2013 / 15:53:48 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
219 "Modified: / 14-10-2013 / 23:59:51 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
219 "Modified: / 09-04-2014 / 18:43:33 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
220 ! ! |
220 ! ! |
221 |
221 |
222 !JavaClassReloader methodsFor:'reloading-requests'! |
222 !JavaClassReloader methodsFor:'reloading-requests'! |
223 |
223 |
224 requestRecompile:aJavaClass |
224 requestRecompile:aJavaClass |
268 invalidate |
268 invalidate |
269 |
269 |
270 | anyInvalidated | |
270 | anyInvalidated | |
271 |
271 |
272 anyInvalidated := false. |
272 anyInvalidated := false. |
273 JavaVM registry classesDo:[:class| |
273 JavaVM registry allClassesDo:[:class| |
274 anyInvalidated := (self invalidateClass: class) | anyInvalidated. |
274 anyInvalidated := (self invalidateClass: class) | anyInvalidated. |
275 ]. |
275 ]. |
276 anyInvalidated ifTrue:[ObjectMemory flushCaches]. |
276 anyInvalidated ifTrue:[ObjectMemory flushCaches]. |
277 |
277 |
278 " |
278 " |
284 " |
284 " |
285 "/JavaCompiler recompileErroneousClassesReferringTo: newClass ignoring: oldClass. |
285 "/JavaCompiler recompileErroneousClassesReferringTo: newClass ignoring: oldClass. |
286 |
286 |
287 "Created: / 21-02-2012 / 09:47:36 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
287 "Created: / 21-02-2012 / 09:47:36 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
288 "Modified: / 02-10-2013 / 23:27:59 / Marcel Hlopko <marcel.hlopko@fit.cvut.cz>" |
288 "Modified: / 02-10-2013 / 23:27:59 / Marcel Hlopko <marcel.hlopko@fit.cvut.cz>" |
289 "Modified: / 17-10-2013 / 09:53:45 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
289 "Modified: / 09-04-2014 / 18:43:43 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
290 ! |
290 ! |
291 |
291 |
292 invalidateClass: javaClass |
292 invalidateClass: javaClass |
293 ^ javaClass ~~ oldClass and:[javaClass constantPool invalidateForClass: oldClass binaryName] |
293 ^ javaClass ~~ oldClass and:[javaClass constantPool invalidateForClass: oldClass binaryName] |
294 |
294 |
543 ! ! |
543 ! ! |
544 |
544 |
545 !JavaClassReloader::SingleClassReloader methodsFor:'reloading-requests'! |
545 !JavaClassReloader::SingleClassReloader methodsFor:'reloading-requests'! |
546 |
546 |
547 requestRecompileSendersOf: givenMethod |
547 requestRecompileSendersOf: givenMethod |
548 JavaVM registry classesDo:[:cls| |
548 JavaVM registry allClassesDo:[:cls| |
549 | recompile | |
549 | recompile | |
550 recompile := cls constantPool contains:[:entry | |
550 recompile := cls constantPool contains:[:entry | |
551 entry isJavaRef |
551 entry isJavaRef |
552 and:[ entry isJavaMethodRef |
552 and:[ entry isJavaMethodRef |
553 and:[entry classRef name = givenMethod javaClass binaryName |
553 and:[entry classRef name = givenMethod javaClass binaryName |
556 self requestRecompile: cls. |
556 self requestRecompile: cls. |
557 ]. |
557 ]. |
558 ]. |
558 ]. |
559 |
559 |
560 "Created: / 15-10-2013 / 01:52:57 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
560 "Created: / 15-10-2013 / 01:52:57 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
561 "Modified: / 09-04-2014 / 18:43:49 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
561 ! ! |
562 ! ! |
562 |
563 |
563 !JavaClassReloader::SingleClassReloader::FieldMapping class methodsFor:'instance creation'! |
564 !JavaClassReloader::SingleClassReloader::FieldMapping class methodsFor:'instance creation'! |
564 |
565 |
565 old: old new:new |
566 old: old new:new |