Permalink
Browse files

refactor code responsible for moving data in the compiler

This is partially to address incorrect code generation for 64-bit
floating-point values on x86_32 and partially to reduce unnecessary
moves.
  • Loading branch information...
1 parent bd72745 commit 5ead8fab1714e17c8511abc429cfc14af9bce6a1 Joel Dice committed Nov 28, 2009
Showing with 398 additions and 321 deletions.
  1. +3 −4 src/assembler.h
  2. +313 −275 src/compiler.cpp
  3. +1 −4 src/jnienv.cpp
  4. +13 −12 src/powerpc.cpp
  5. +34 −26 src/x86.cpp
  6. +3 −0 test/AllFloats.java
  7. +31 −0 test/Floats.java
View
@@ -361,10 +361,9 @@ class Assembler {
unsigned bSize, uint8_t* bTypeMask, uint64_t* bRegisterMask) = 0;
virtual void planMove
- (unsigned size,
- uint8_t srcTypeMask, uint64_t srcRegisterMask,
- uint8_t dstTypeMask, uint64_t dstRegisterMask,
- uint8_t* tmpTypeMask, uint64_t* tmpRegisterMask) = 0;
+ (unsigned size, uint8_t* srcTypeMask, uint64_t* srcRegisterMask,
+ uint8_t* tmpTypeMask, uint64_t* tmpRegisterMask,
+ uint8_t dstTypeMask, uint64_t dstRegisterMask) = 0;
virtual void planSource
(TernaryOperation op,
Oops, something went wrong.

0 comments on commit 5ead8fa

Please sign in to comment.