--- 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:[