Hi Przemek,

One observation:

I'd expect HB_CURLPAUSE_ALL to be optimized
to one integer value.

HB_CURLPAUSE_ALL is
hb_bitOr( A, B )
where
A = ( 2 ^ 0 )
B = ( 2 ^ 2 )

In the resulting pcode, hb_bitOr() is not optimized,
and it's being pushed two doubles with the (width set
to 255, 255).

Shouldn't or couldn't these values be integers, if
they can fit? Also hb_bitOr() is otherwise optimizing
doubles, but in this case it doesn't for some reason.

Brgds,
Viktor

On 2008.06.02., at 15:41, Przemyslaw Czerpak wrote:

2008-06-02 15:40 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
 * harbour/contrib/hbsqlit3/hbsqlit3.c
   ! use char * instead of LPSTR to compile in non Windows environment
   ! fixed one printf() parames
   ! fixed casting and parameter type in sqlite3_blob_open()

 * harbour/include/hbexprop.h
 * harbour/include/hbexprb.c
 * harbour/source/common/expropt1.c
 * harbour/source/common/expropt2.c
   - removed unused hb_compExprAsLong()
   + added hb_compExprAsLongNum(), hb_compExprReduceBitFunc()
   + added compiletime optimizatiob for HB_BIT*() functions:
     HB_BITAND(), HB_BITOR(), HB_BITXOR(), HB_BITSET(), HB_BITRESET()
     HB_BITSHIFT(), HB_BITNOT(), HB_BITTEST()

best regards
Przemek
_______________________________________________
Harbour mailing list
Harbour@harbour-project.org
http://lists.harbour-project.org/mailman/listinfo/harbour

_______________________________________________
Harbour mailing list
Harbour@harbour-project.org
http://lists.harbour-project.org/mailman/listinfo/harbour

Reply via email to