]> gitweb.factorcode.org Git - factor.git/commitdiff
Merge branch 'master' of git://factorcode.org/git/factor into abi-symbols
authorJoe Groff <arcata@gmail.com>
Tue, 6 Apr 2010 19:30:15 +0000 (12:30 -0700)
committerJoe Groff <arcata@gmail.com>
Tue, 6 Apr 2010 19:30:15 +0000 (12:30 -0700)
Conflicts:
basis/compiler/tests/alien.factor

1  2 
basis/compiler/codegen/codegen.factor
basis/compiler/tests/alien.factor
basis/cpu/architecture/architecture.factor
basis/cpu/ppc/ppc.factor
basis/cpu/x86/32/32.factor
basis/cpu/x86/64/64.factor
basis/cpu/x86/x86.factor

Simple merge
index c54ce443d6edd565d420ad1a4d50d164de772f86,ceac1b094c58efdb39b06a6a6f51b08bd1c7bd23..5793482a273dbc73227624770482c4831085d679
@@@ -441,13 -429,12 +441,13 @@@ STRUCT: double-rec
      } cleave ;
  
  : double-rect-callback ( -- alien )
 -    void { void* void* double-rect } "cdecl"
 +    void { void* void* double-rect } cdecl
      [ "example" set-global 2drop ] alien-callback ;
  
 -: double-rect-test ( arg callback -- arg' )
 +: double-rect-test ( arg -- arg' )
-     f f rot
+     [ f f ] 2dip
 -    void { void* void* double-rect } "cdecl" alien-indirect
 +    double-rect-callback
 +    void { void* void* double-rect } cdecl alien-indirect
      "example" get-global ;
  
  [ 1.0 2.0 3.0 4.0 ]
Simple merge
Simple merge
index 87578dd8db8300482e4bee2b3ae5a454af8bab51,4dfb250348f1a62026ccb694343494222fb9deb8..432d210bec63eef45ab7e0b86ef77daf5b37a40f
@@@ -43,14 -43,19 +43,17 @@@ M: x86.64 machine-register
  M: x86.64 %mov-vm-ptr ( reg -- )
      vm-reg MOV ;
  
- M: x86.64 %vm-field ( dst field -- )
-     [ vm-reg ] dip vm-field-offset [+] MOV ;
+ M: x86.64 %vm-field ( dst offset -- )
+     [ vm-reg ] dip [+] MOV ;
  
- M: x86.64 %vm-field-ptr ( dst field -- )
-     [ vm-reg ] dip vm-field-offset [+] LEA ;
+ M: x86.64 %set-vm-field ( src offset -- )
+     [ vm-reg ] dip [+] swap MOV ;
+ M: x86.64 %vm-field-ptr ( dst offset -- )
+     [ vm-reg ] dip [+] LEA ;
  
 -: param@ ( n -- op ) reserved-stack-space + stack@ ;
 -
  M: x86.64 %prologue ( n -- )
-     temp-reg -7 [] LEA
+     temp-reg -7 [RIP+] LEA
      dup PUSH
      temp-reg PUSH
      stack-reg swap 3 cells - SUB ;
Simple merge