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:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user