[Squeak home] [English] [Japanese]

Squeak: An additional note for "Hacking Squeak With Apple MPW"

Squeak!
Updated: Jun 8, 1999.
  1. $BA0$b$C$FFI$s$G$*$/%Z!<%8(B
  2. $BMQ0U$9$k$b$N(B
  3. $B=`Hw(B
  4. $B$G$O9T$C$F$_$h$&(B!
    1. $B%=!<%9%3!<%I$N@8@.(B
    2. MPW $B$G%j%3%s%Q%$%k(B
    3. $BHO0O8!::$K%Q%C%AEv$F(B
  5. $B$G$-$?(B!
  6. $B%Y%s%A%^!<%/(B

Sat, 5 Jun 1999 22:10:52 -0400, Andrew C. Greenberg $B$5$s$K$h$k(B "Hacking Squeak With Apple MPW," $B$,(B Squeak-ML $B$K%]%9%H$5$l$^$7$?!#(B $B%o%?%/%7$N2H$K$O%j%s%I%&$J$i$L%S%s%\%&$N2V$,:i$$$F$$$k$0$i$$$G!"(B CodeWarrior $B$r;}$C$F$$$^$;$s!#(B $B$3$l9,$$$H;n$7$F$_$?$i!"$9$s$J$j$H$&$^$/9T$-$^$7$?!#(B $B$=$NE?Kv$r0J2<$K7G$2$^$9!#(B MPW 3.4.3, Squeak 2.4b VM and 2.4c image $B$r;HMQ$7$^$7$?!#(B

$BA0$b$C$FFI$s$G$*$/%Z!<%8(B

FAQ: Building PowerPC Squeak VMs with MPW by Andrew C. Greenberg.

$BMQ0U$9$k$b$N(B

  1. MPW (Macintosh Programmer's Workshop)
    $B;HMQ$7$?$N$O(B MPW-GM (Golden Master means "final") version with MPW Shell version 3.4.3 (Oct 14, 1998) $B$H$$$&HG$G$9!#(B MPW-PR (Pre-Release) $B%;%C%H$O;}$C$F$$$^$;$s!#(B
  2. Squeak 2.4 base
    VM; 2.4b, image; 2.4c
  3. MPWInterpreterBuilder.cs
    FAQ: Building PowerPC Squeak VMs with MPW by Andrew C. Greenberg.

$B=`Hw(B

MPW shell $B$N%a%b%j3dEv$N%G%U%)%k%H$O(B 8MB $B$G$9!#(B $B$3$l$r:GDc(B 24MB $B0J>e3d$jEv$F$^$9!#(B $B%G%U%)%k%H$N$N$^$^$@$H!"(B"interp.c" $B$N%3%s%Q%$%kCf$K%a%b%j$r;H$$2L$?$7$F!"%3%s%Q%$%k$,CfCG$5$l$F$7$^$$$^$9!#(B

$B$G$O9T$C$F$_$h$&(B!

$B%=!<%9%3!<%I$N@8@.(B

  1. Squeak $B$rN)$A>e$2!"(B "MPWInterpreterBuilder.cs" $B$r(B filein $B$7$^$9!#(B
  2. $B?7$7$$%=!<%9%3!<%I$r@8@.$9$k$?$a$K!"0J2<$rI>2A$7$^$9!#(B30 $B8D0J>e$N%U%!%$%k$,$G$-$^$9!#(B
    1. InterpreterSupportCode writeMacMPWSourceFiles.
    2. Interpreter translate: 'interp.c' doInlining: true.
    3. B3DEnginePlugin translateB3D.
  3. Squeak $B$r=*N;$7$^$9!#(B

MPW $B$G%j%3%s%Q%$%k(B

  1. MPW $BMQ$N:n6H%G%#%l%/%H%j$r:n$j$^$9!#$3$3$G$O(B MPWsq $B$H$$$&L>>N$rM?$($^$7$?!#(B
  2. MPWsq $B$K%5%V!&%G%#%l%/%H%j$r7!$j$^$9!#(B src, obj, squeak, doc $B$N(B 4 $B$D$G$9!#(B
  3. Squeak $B$,@8@.$7$?%U%!%$%k$N$&$A!"(B *.c, *.h, *.r $B$r(B src $B%G%#%l%/%H%j$K0\F0$7$^$9!#(B
  4. "readme" $B$O(B doc $B%G%#%l%/%H%j$K0\F0$7$^$9!#(B
  5. makefile $B$r>/$7$P$+$j=$@5$7$^$9!#(B
    MPWsqueak.make
    SqueakSources = :src:
    SqueakFolder = :squeak:
    ObjDir„PPC = :obj:
    MPWsqueak3D.make
    SqueakSources = :src:
    SqueakFolder = :squeak:
    ObjDir„PPC = :obj:
  6. MPW $B$rN)$A>e$2$F!"%j%3%s%Q%$%k$7$^$9!#(B
    MPWsqueak $B$r:n$k$K$O(B...
    "Build" $B%a%K%e!<$+$i(B "Build..." $B$rA*$S!"%@%$%"%m%0>e$G(B "MPWsqueak" $B$HF~NO$7$^$9!#(B
    MPWSqueak3D shlb $B$r:n$k$K$O(B...
    $BF1MM$K(B "MPWSqueak3D" $B$HF~NO$7$^$9!#(B

$BHO0O8!::$K%Q%C%AEv$F(B

  1. $B2<5-$rI>2A$7$^$9(B;
    1. Interpreter patchInterp: 'MPWsqueak'.
Interpreter (c) >> patchInterp: $B$N(B 2 $BHVL\$N%3%a%s%H(B
This will patch out the unneccesary range check (a compare and branch) in the inner interpreter dispatch loop.

$B$G$-$?(B!

$B?7$7$$(B VM $B$H(B 3D Engine $B%i%$%V%i%j$G$9(B.

mpw directory

$B?7(B VM $B$O(B BNDL $B%j%=!<%9$r;}$C$F$$$^$9(B.

mpwsq has new BNDL resource

$B%Y%s%A%^!<%/(B

benchmark result


Created: Jun 8, 1999
[Squeak home] [English] [Japanese]