Method.st
changeset 400 1754d8edcce4
parent 391 66bb97f4e41f
child 414 be4ea3cf7748
--- a/Method.st	Wed Aug 16 20:27:03 1995 +0200
+++ b/Method.st	Thu Aug 17 18:06:04 1995 +0200
@@ -23,7 +23,7 @@
 COPYRIGHT (c) 1989 by Claus Gittinger
 	     All Rights Reserved
 
-$Header: /cvs/stx/stx/libbasic/Method.st,v 1.43 1995-08-15 18:54:38 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Method.st,v 1.44 1995-08-17 16:05:23 claus Exp $
 '!
 
 !Method class methodsFor:'documentation'!
@@ -44,7 +44,7 @@
 
 version
 "
-$Header: /cvs/stx/stx/libbasic/Method.st,v 1.43 1995-08-15 18:54:38 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Method.st,v 1.44 1995-08-17 16:05:23 claus Exp $
 "
 !
 
@@ -1379,10 +1379,11 @@
      the same semantics as the receiver, but uses interpreted bytecodes.
      Otherwise, return the receiver. The new method is not installed in
      the methodDictionary of any class - just returned.
-     Can be used to obtain a bytecode version of a machine-code method 
-     for binary storage or dynamic recompilation (which is not yet finished)."
+     Can be used to obtain a bytecode version of a machine-code method, 
+     for binary storage or dynamic recompilation (which is not yet finished)
+     or to compile lazy methods down to executable ones."
 
-    |temporaryMethod cls sourceString upd silent lazy|
+    |temporaryMethod cls sourceString upd silent lazy machineCode|
 
     byteCode notNil ifTrue:[
 	"
@@ -1410,6 +1411,7 @@
     upd := Class updateChanges:false.
     silent := Smalltalk silentLoading:true.
     lazy := Compiler compileLazy:false.
+    machineCode := Compiler stcCompilation:#never.
 
     [
 	|compiler|
@@ -1438,6 +1440,7 @@
     ] valueNowOrOnUnwindDo:[
 	Class updateChanges:upd.
 	Compiler compileLazy:lazy.
+	Compiler stcCompilation:machineCode.
 	Smalltalk silentLoading:silent.
     ].
     (temporaryMethod isNil or:[temporaryMethod == #Error]) ifTrue:[