2011-05-13 04:05 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)

* harbour/include/hbstack.h
  * harbour/src/vm/hvm.c
    ! fixed stack preloading in hb_vmRequestReenterExt() when new stack has to be allocated
This commit is contained in:
Przemyslaw Czerpak
2011-05-13 02:05:59 +00:00
parent 6050ad83be
commit 0889e6b43e
3 changed files with 13 additions and 4 deletions

View File

@@ -16,6 +16,11 @@
The license applies to all entries newer than 2009-04-28.
*/
2011-05-13 04:05 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbstack.h
* harbour/src/vm/hvm.c
! fixed stack preloading in hb_vmRequestReenterExt() when new stack has to be allocated
2011-05-12 18:45 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
% avoid duplicate requests for GT in .c stub

View File

@@ -245,11 +245,12 @@ typedef struct
# endif
# if defined( HB_STACK_PRELOAD ) && !defined( HB_USE_TLS )
# if defined( hb_stack_ptr_get )
# define HB_STACK_TLS_PRELOAD PHB_STACK _hb_stack_ptr_ = ( PHB_STACK ) hb_stack_ptr_get();
# define HB_STACK_TLS_RELOAD _hb_stack_ptr_ = ( PHB_STACK ) hb_stack_ptr_get();
# undef hb_stack_ptr
# else
# define HB_STACK_TLS_PRELOAD PHB_STACK _hb_stack_ptr_ = hb_stack_ptr;
# define HB_STACK_TLS_RELOAD _hb_stack_ptr_ = hb_stack_ptr;
# endif
# define HB_STACK_TLS_PRELOAD PHB_STACK HB_STACK_TLS_RELOAD
# define hb_stack ( * _hb_stack_ptr_ )
# define hb_stack_ref() ( _hb_stack_ptr_ )
# else
@@ -266,6 +267,7 @@ typedef struct
#if !defined( HB_STACK_TLS_PRELOAD )
# if defined( HB_STACK_PRELOAD )
# define HB_STACK_TLS_PRELOAD
# define HB_STACK_TLS_RELOAD
# undef HB_STACK_PRELOAD
# elif defined( _HB_STACK_MACROS_ )
# define HB_STACK_TLS_PRELOAD

View File

@@ -8824,13 +8824,15 @@ HB_BOOL hb_vmRequestReenterExt( void )
return HB_FALSE;
else
{
HB_STACK_TLS_PRELOAD
#if defined( HB_MT_VM )
HB_STACK_TLS_PRELOAD
HB_USHORT uiAction = hb_stackId() == NULL ? HB_VMSTACK_REQUESTED : 0;
if( uiAction )
{
hb_vmThreadInit( NULL );
HB_STACK_TLS_RELOAD
}
else
hb_stackPushReturn();