harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Vladimir Strigun (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HARMONY-4036) [drlvm][thread] significant performance degradation (scalability problem), in particular on DaCapo:xalan (2x)
Date Thu, 14 Jun 2007 14:59:26 GMT

    [ https://issues.apache.org/jira/browse/HARMONY-4036?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12504761
] 

Vladimir Strigun commented on HARMONY-4036:
-------------------------------------------

Peter,

I'm unable to apply your last patch (reader_writer_lock_table_3.patch) to current sources:

patching file vm/thread/src/thread_native_thin_monitor.c
/usr/bin/patch: **** malformed patch at line 16:          if (RECURSION(lockword) == MAX_RECURSION)
{

With the second patch (readers_writers_lock_table_2.patch) I'm unable to build vm:

build.native.c:
       [cc] Starting dependency analysis for 16 files.
       [cc] 0 files are up to date.
       [cc] 16 files to be recompiled from dependency analysis.
       [cc] 18 total files to be compiled.
       [cc] thread_native_thin_monitor.c
       [cc] c:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_private.h(564) :
error C2061: syntax error : identifier '
pthread_cond_t'
       [cc] c:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_private.h(565) :
error C2061: syntax error : identifier '
write'
       [cc] c:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_private.h(565) :
error C2059: syntax error : ';'
       [cc] c:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_private.h(584) :
error C2059: syntax error : '}'
       [cc] c:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_private.h(600) :
error C2143: syntax error : missing '{'
before '*'
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_native_thin_monitor.c(65)
: error C2143: syntax error : m
issing '{' before '*'
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_native_thin_monitor.c(658)
: error C2223: left of '->mute
x' must point to struct/union
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_native_thin_monitor.c(658)
: error C2198: 'hymutex_lock'
: too few arguments for call through pointer-to-function
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_native_thin_monitor.c(659)
: error C2223: left of '->stat
e' must point to struct/union
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_native_thin_monitor.c(660)
: error C2223: left of '->stat
e' must point to struct/union
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_native_thin_monitor.c(660)
: error C2223: left of '->writ
ers_waiting' must point to struct/union
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_native_thin_monitor.c(661)
: error C2223: left of '->stat
e' must point to struct/union
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_native_thin_monitor.c(662)
: error C2223: left of '->read
ers_reading' must point to struct/union
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_native_thin_monitor.c(664)
: error C2223: left of '->read
ers_waiting' must point to struct/union
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_native_thin_monitor.c(665)
: error C2223: left of '->read
' must point to struct/union
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_native_thin_monitor.c(665)
: error C2223: left of '->mute
x' must point to struct/union
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_native_thin_monitor.c(665)
: error C2198: 'hycond_wait' :
 too few arguments for call through pointer-to-function
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_native_thin_monitor.c(667)
: error C2223: left of '->mute
x' must point to struct/union
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_native_thin_monitor.c(667)
: error C2198: 'hymutex_unlock
' : too few arguments for call through pointer-to-function
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_native_thin_monitor.c(671)
: error C2223: left of '->mute
x' must point to struct/union
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_native_thin_monitor.c(671)
: error C2198: 'hymutex_lock'
: too few arguments for call through pointer-to-function
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_native_thin_monitor.c(673)
: error C2223: left of '->read
ers_reading' must point to struct/union
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_native_thin_monitor.c(675)
: error C2223: left of '->read
ers_reading' must point to struct/union
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_native_thin_monitor.c(675)
: error C2223: left of '->writ
ers_waiting' must point to struct/union
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_native_thin_monitor.c(676)
: error C2223: left of '->stat
e' must point to struct/union
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_native_thin_monitor.c(677)
: error C2223: left of '->writ
ers_waiting' must point to struct/union
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_native_thin_monitor.c(678)
: error C2223: left of '->writ
e' must point to struct/union
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_native_thin_monitor.c(678)
: error C2198: 'hycond_notify'
 : too few arguments for call through pointer-to-function
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_native_thin_monitor.c(679)
: error C2223: left of '->read
ers_reading' must point to struct/union
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_native_thin_monitor.c(680)
: error C2223: left of '->stat
e' must point to struct/union
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_native_thin_monitor.c(682)
: error C2223: left of '->mute
x' must point to struct/union
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_native_thin_monitor.c(682)
: error C2198: 'hymutex_unlock
' : too few arguments for call through pointer-to-function
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_native_thin_monitor.c(686)
: error C2223: left of '->mute
x' must point to struct/union
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_native_thin_monitor.c(686)
: error C2198: 'hymutex_lock'
: too few arguments for call through pointer-to-function
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_native_thin_monitor.c(688)
: error C2223: left of '->stat
e' must point to struct/union
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_native_thin_monitor.c(689)
: error C2223: left of '->writ
ers_waiting' must point to struct/union
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_native_thin_monitor.c(690)
: error C2223: left of '->writ
e' must point to struct/union
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_native_thin_monitor.c(690)
: error C2223: left of '->mute
x' must point to struct/union
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_native_thin_monitor.c(690)
: error C2198: 'hycond_wait' :
 too few arguments for call through pointer-to-function
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_native_thin_monitor.c(692)
: error C2223: left of '->stat
e' must point to struct/union
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_native_thin_monitor.c(695)
: error C2223: left of '->mute
x' must point to struct/union
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_native_thin_monitor.c(695)
: error C2198: 'hymutex_unlock
' : too few arguments for call through pointer-to-function
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_native_thin_monitor.c(699)
: error C2223: left of '->mute
x' must point to struct/union
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_native_thin_monitor.c(699)
: error C2198: 'hymutex_lock'
: too few arguments for call through pointer-to-function
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_native_thin_monitor.c(701)
: error C2223: left of '->read
ers_reading' must point to struct/union
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_native_thin_monitor.c(702)
: error C2223: left of '->read
ers_reading' must point to struct/union
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_native_thin_monitor.c(702)
: error C2223: left of '->read
ers_waiting' must point to struct/union
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_native_thin_monitor.c(703)
: error C2223: left of '->read
ers_waiting' must point to struct/union
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_native_thin_monitor.c(704)
: error C2223: left of '->stat
e' must point to struct/union
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_native_thin_monitor.c(705)
: error C2223: left of '->read
' must point to struct/union
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_native_thin_monitor.c(705)
: error C2198: 'hycond_notify_
all' : too few arguments for call through pointer-to-function
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_native_thin_monitor.c(706)
: error C2223: left of '->writ
ers_waiting' must point to struct/union
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_native_thin_monitor.c(707)
: error C2223: left of '->writ
ers_waiting' must point to struct/union
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_native_thin_monitor.c(708)
: error C2223: left of '->writ
e' must point to struct/union
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_native_thin_monitor.c(708)
: error C2198: 'hycond_notify'
 : too few arguments for call through pointer-to-function
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_native_thin_monitor.c(710)
: error C2223: left of '->stat
e' must point to struct/union
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_native_thin_monitor.c(712)
: error C2223: left of '->mute
x' must point to struct/union
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_native_thin_monitor.c(712)
: error C2198: 'hymutex_unlock
' : too few arguments for call through pointer-to-function
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_native_thin_monitor.c(726)
: error C2223: left of '->tabl
e' must point to struct/union
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_native_thin_monitor.c(745)
: error C2223: left of '->size
' must point to struct/union
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_native_thin_monitor.c(746)
: error C2223: left of '->tabl
e' must point to struct/union
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_native_thin_monitor.c(746)
: error C2223: left of '->arra
y_cursor' must point to struct/union
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_native_thin_monitor.c(748)
: error C2223: left of '->tabl
e' must point to struct/union
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_native_thin_monitor.c(748)
: error C2223: left of '->arra
y_cursor' must point to struct/union
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_native_thin_monitor.c(752)
: error C2223: left of '->arra
y_cursor' must point to struct/union
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_native_thin_monitor.c(753)
: error C2223: left of '->arra
y_cursor' must point to struct/union
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_native_thin_monitor.c(753)
: error C2223: left of '->size
' must point to struct/union
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_native_thin_monitor.c(754)
: error C2223: left of '->arra
y_cursor' must point to struct/union
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_native_thin_monitor.c(760)
: error C2223: left of '->size
' must point to struct/union
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_native_thin_monitor.c(761)
: error C2223: left of '->size
' must point to struct/union
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_native_thin_monitor.c(762)
: error C2223: left of '->tabl
e' must point to struct/union
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_native_thin_monitor.c(762)
: error C2223: left of '->tabl
e' must point to struct/union
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_native_thin_monitor.c(763)
: error C2223: left of '->size
' must point to struct/union
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_native_thin_monitor.c(763)
: error C2198: 'realloc' : too
 few arguments for call through pointer-to-function
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_native_thin_monitor.c(766)
: error C2223: left of '->live
_objs' must point to struct/union
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_native_thin_monitor.c(766)
: error C2223: left of '->live
_objs' must point to struct/union
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_native_thin_monitor.c(767)
: error C2223: left of '->size
' must point to struct/union
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_native_thin_monitor.c(767)
: error C2198: 'realloc' : too
 few arguments for call through pointer-to-function
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_native_thin_monitor.c(770)
: error C2223: left of '->tabl
e' must point to struct/union
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_native_thin_monitor.c(771)
: error C2168: 'memset' : too
few actual parameters for intrinsic function
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_native_thin_monitor.c(772)
: error C2223: left of '->live
_objs' must point to struct/union
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_native_thin_monitor.c(773)
: error C2168: 'memset' : too
few actual parameters for intrinsic function
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_native_thin_monitor.c(775)
: error C2223: left of '->arra
y_cursor' must point to struct/union
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_native_thin_monitor.c(776)
: error C2223: left of '->tabl
e' must point to struct/union
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_native_thin_monitor.c(776)
: error C2223: left of '->arra
y_cursor' must point to struct/union
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_native_thin_monitor.c(779)
: error C2223: left of '->arra
y_cursor' must point to struct/union
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_native_thin_monitor.c(793)
: error C2223: left of '->live
_objs' must point to struct/union
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_native_thin_monitor.c(823)
: error C2223: left of '->size
' must point to struct/union
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_native_thin_monitor.c(824)
: error C2223: left of '->live
_objs' must point to struct/union
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_native_thin_monitor.c(831)
: error C2223: left of '->live
_objs' must point to struct/union
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_native_thin_monitor.c(833)
: error C2223: left of '->tabl
e' must point to struct/union
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_native_thin_monitor.c(834)
: error C2223: left of '->tabl
e' must point to struct/union
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_native_thin_monitor.c(834)
: error C2198: 'hythread_monit
or_destroy' : too few arguments for call through pointer-to-function
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_native_thin_monitor.c(835)
: error C2223: left of '->tabl
e' must point to struct/union
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_native_thin_monitor.c(854)
: error C2223: left of '->tabl
e' must point to struct/union
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_native_thin_monitor.c(855)
: error C2223: left of '->tabl
e' must point to struct/union
       [cc] thread_native_latch.c
       [cc] c:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_private.h(564) :
error C2061: syntax error : identifier '
pthread_cond_t'
       [cc] c:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_private.h(565) :
error C2061: syntax error : identifier '
write'
       [cc] c:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_private.h(565) :
error C2059: syntax error : ';'
       [cc] c:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_private.h(584) :
error C2059: syntax error : '}'
       [cc] c:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_private.h(600) :
error C2143: syntax error : missing '{'
before '*'
       [cc] thread_native_state.c
       [cc] c:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_private.h(564) :
error C2061: syntax error : identifier '
pthread_cond_t'
       [cc] c:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_private.h(565) :
error C2061: syntax error : identifier '
write'
       [cc] c:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_private.h(565) :
error C2059: syntax error : ';'
       [cc] c:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_private.h(584) :
error C2059: syntax error : '}'
       [cc] c:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_private.h(600) :
error C2143: syntax error : missing '{'
before '*'
       [cc] thread_native_semaphore.c
       [cc] c:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_private.h(564) :
error C2061: syntax error : identifier '
pthread_cond_t'
       [cc] c:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_private.h(565) :
error C2061: syntax error : identifier '
write'
       [cc] c:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_private.h(565) :
error C2059: syntax error : ';'
       [cc] c:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_private.h(584) :
error C2059: syntax error : '}'
       [cc] c:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_private.h(600) :
error C2143: syntax error : missing '{'
before '*'
       [cc] os_condvar.c
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_private.h(564) :
error C2061: syntax error : identifier '
pthread_cond_t'
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_private.h(565) :
error C2061: syntax error : identifier '
write'
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_private.h(565) :
error C2059: syntax error : ';'
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_private.h(584) :
error C2059: syntax error : '}'
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_private.h(600) :
error C2143: syntax error : missing '{'
before '*'
       [cc] thread_native_park.c
       [cc] c:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_private.h(564) :
error C2061: syntax error : identifier '
pthread_cond_t'
       [cc] c:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_private.h(565) :
error C2061: syntax error : identifier '
write'
       [cc] c:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_private.h(565) :
error C2059: syntax error : ';'
       [cc] c:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_private.h(584) :
error C2059: syntax error : '}'
       [cc] c:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_private.h(600) :
error C2143: syntax error : missing '{'
before '*'
       [cc] thread_native_condvar.c
       [cc] c:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_private.h(564) :
error C2061: syntax error : identifier '
pthread_cond_t'
       [cc] c:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_private.h(565) :
error C2061: syntax error : identifier '
write'
       [cc] c:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_private.h(565) :
error C2059: syntax error : ';'
       [cc] c:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_private.h(584) :
error C2059: syntax error : '}'
       [cc] c:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_private.h(600) :
error C2143: syntax error : missing '{'
before '*'
       [cc] thread_native_iterator.c
       [cc] c:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_private.h(564) :
error C2061: syntax error : identifier '
pthread_cond_t'
       [cc] c:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_private.h(565) :
error C2061: syntax error : identifier '
write'
       [cc] c:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_private.h(565) :
error C2059: syntax error : ';'
       [cc] c:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_private.h(584) :
error C2059: syntax error : '}'
       [cc] c:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_private.h(600) :
error C2143: syntax error : missing '{'
before '*'
       [cc] thread_native_fat_monitor.c
       [cc] c:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_private.h(564) :
error C2061: syntax error : identifier '
pthread_cond_t'
       [cc] c:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_private.h(565) :
error C2061: syntax error : identifier '
write'
       [cc] c:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_private.h(565) :
error C2059: syntax error : ';'
       [cc] c:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_private.h(584) :
error C2059: syntax error : '}'
       [cc] c:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_private.h(600) :
error C2143: syntax error : missing '{'
before '*'
       [cc] thread_native_suspend.c
       [cc] c:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_private.h(564) :
error C2061: syntax error : identifier '
pthread_cond_t'
       [cc] c:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_private.h(565) :
error C2061: syntax error : identifier '
write'
       [cc] c:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_private.h(565) :
error C2059: syntax error : ';'
       [cc] c:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_private.h(584) :
error C2059: syntax error : '}'
       [cc] c:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_private.h(600) :
error C2143: syntax error : missing '{'
before '*'
       [cc] thread_native_interrupt.c
       [cc] c:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_private.h(564) :
error C2061: syntax error : identifier '
pthread_cond_t'
       [cc] c:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_private.h(565) :
error C2061: syntax error : identifier '
write'
       [cc] c:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_private.h(565) :
error C2059: syntax error : ';'
       [cc] c:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_private.h(584) :
error C2059: syntax error : '}'
       [cc] c:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_private.h(600) :
error C2143: syntax error : missing '{'
before '*'
       [cc] thread_native_tls.c
       [cc] c:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_private.h(564) :
error C2061: syntax error : identifier '
pthread_cond_t'
       [cc] c:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_private.h(565) :
error C2061: syntax error : identifier '
write'
       [cc] c:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_private.h(565) :
error C2059: syntax error : ';'
       [cc] c:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_private.h(584) :
error C2059: syntax error : '}'
       [cc] c:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_private.h(600) :
error C2143: syntax error : missing '{'
before '*'
       [cc] thread_native_attrs.c
       [cc] c:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_private.h(564) :
error C2061: syntax error : identifier '
pthread_cond_t'
       [cc] c:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_private.h(565) :
error C2061: syntax error : identifier '
write'
       [cc] c:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_private.h(565) :
error C2059: syntax error : ';'
       [cc] c:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_private.h(584) :
error C2059: syntax error : '}'
       [cc] c:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_private.h(600) :
error C2143: syntax error : missing '{'
before '*'
       [cc] thread_native_groups.c
       [cc] c:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_private.h(564) :
error C2061: syntax error : identifier '
pthread_cond_t'
       [cc] c:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_private.h(565) :
error C2061: syntax error : identifier '
write'
       [cc] c:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_private.h(565) :
error C2059: syntax error : ';'
       [cc] c:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_private.h(584) :
error C2059: syntax error : '}'
       [cc] c:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_private.h(600) :
error C2143: syntax error : missing '{'
before '*'
       [cc] thread_init.c
       [cc] c:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_private.h(564) :
error C2061: syntax error : identifier '
pthread_cond_t'
       [cc] c:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_private.h(565) :
error C2061: syntax error : identifier '
write'
       [cc] c:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_private.h(565) :
error C2059: syntax error : ';'
       [cc] c:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_private.h(584) :
error C2059: syntax error : '}'
       [cc] c:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_private.h(600) :
error C2143: syntax error : missing '{'
before '*'
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_init.c(284) : error
C2065: 'HyFatLockTable' : undeclared
identifier
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_init.c(284) : error
C2059: syntax error : ')'
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_init.c(285) : error
C2223: left of '->table' must point t
o struct/union
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_init.c(287) : error
C2223: left of '->live_objs' must poi
nt to struct/union
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_init.c(289) : error
C2223: left of '->size' must point to
 struct/union
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_init.c(290) : error
C2223: left of '->array_cursor' must
point to struct/union
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_init.c(296) : error
C2223: left of '->mutex' must point t
o struct/union
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_init.c(296) : warning
C4047: 'function' : 'CRITICAL_SECTI
ON *' differs in levels of indirection from 'int'
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_init.c(296) : error
C2198: 'hymutex_create' : too few arg
uments for call through pointer-to-function
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_init.c(300) : error
C2223: left of '->write' must point t
o struct/union
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_init.c(300) : error
C2198: 'hycond_create' : too few argu
ments for call through pointer-to-function
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_init.c(304) : error
C2223: left of '->read' must point to
 struct/union
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_init.c(304) : error
C2198: 'hycond_create' : too few argu
ments for call through pointer-to-function
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_init.c(308) : error
C2223: left of '->readers_reading' mu
st point to struct/union
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_init.c(309) : error
C2223: left of '->readers_waiting' mu
st point to struct/union
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_init.c(310) : error
C2223: left of '->writers_waiting' mu
st point to struct/union
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_init.c(315) : error
C2061: syntax error : identifier 'des
troy_group_list'
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_init.c(315) : error
C2059: syntax error : ';'
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_init.c(315) : error
C2059: syntax error : ')'
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_init.c(365) : warning
C4142: benign redefinition of type
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_init.c(373) : warning
C4018: '<' : signed/unsigned mismat
ch
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_init.c(379) : warning
C4018: '<' : signed/unsigned mismat
ch
       [cc] os_mutex.c
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_private.h(564) :
error C2061: syntax error : identifier '
pthread_cond_t'
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_private.h(565) :
error C2061: syntax error : identifier '
write'
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_private.h(565) :
error C2059: syntax error : ';'
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_private.h(584) :
error C2059: syntax error : '}'
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_private.h(600) :
error C2143: syntax error : missing '{'
before '*'
       [cc] os_thread.c
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_private.h(564) :
error C2061: syntax error : identifier '
pthread_cond_t'
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_private.h(565) :
error C2061: syntax error : identifier '
write'
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_private.h(565) :
error C2059: syntax error : ';'
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_private.h(584) :
error C2059: syntax error : '}'
       [cc] C:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_private.h(600) :
error C2143: syntax error : missing '{'
before '*'
       [cc] thread_native_basic.c
       [cc] c:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_private.h(564) :
error C2061: syntax error : identifier '
pthread_cond_t'
       [cc] c:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_private.h(565) :
error C2061: syntax error : identifier '
write'
       [cc] c:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_private.h(565) :
error C2059: syntax error : ';'
       [cc] c:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_private.h(584) :
error C2059: syntax error : '}'
       [cc] c:\home\sva\nightly\sources\drlvm\trunk\vm\thread\src\thread_private.h(600) :
error C2143: syntax error : missing '{'
before '*'
       [cc] Generating Code...

BUILD FAILED
C:\home\sva\nightly\sources\drlvm\trunk\build\make\build.xml:481: The following error occurred
while executing this line:
C:\home\sva\nightly\sources\drlvm\trunk\build\make\build.xml:488: The following error occurred
while executing this line:
C:\home\sva\nightly\sources\drlvm\trunk\build\make\build_component.xml:73: The following error
occurred while executing this line:

C:\home\sva\nightly\sources\drlvm\trunk\build\win_ia32_msvc_release\semis\build\targets\build.native.xml:71:
cl failed with return


> [drlvm][thread] significant performance degradation (scalability problem), in particular
on DaCapo:xalan (2x)
> -------------------------------------------------------------------------------------------------------------
>
>                 Key: HARMONY-4036
>                 URL: https://issues.apache.org/jira/browse/HARMONY-4036
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>            Reporter: Evgeniya Maenkova
>            Assignee: weldon washburn
>            Priority: Critical
>         Attachments: reader_writer_lock_table.patch, reader_writer_lock_table_3.patch,
readers_writers_lock_table_2.patch, ThreadTest.java
>
>
> Significant performance degradation has been discovered. This happened between r541650-r541654.
More likely, this is r541653 (H-2742).
> 2x times degradation on Dacapo::xalan.
> I wrote the simple reproducer (see please below and to be attached) and got the following
data on a machine with 4 logical processors:
>                        1 thread     4 thread   4thr/1thr  
> 24-May          2828           9594         3.392504  (r541650)
> 31-May          2891           271394     93.87548 (r541654).
>  
> On r541654 version the system time increases significantly, cpu utilization is about
28% only. Unlike r541654 version, where things are going well (cpu utilization ~80%).
> Scale factor changed from 3.39 to 93.88.
> The test is:
> import java.io.IOException;
> public class ThreadTest extends Thread {
> 	static private void doComputing(long n)
> 			throws IOException {
> 		int res = 1;
> 		for (int i = 1; i < 1000; i ++) {
> 			res *=i;
> 		}
> 	}
> 	public void doIt() throws Exception {
> 		for (int j = 0; j < 500000; j ++) {			
> 		    doComputing(getBD());			  
> 		}
> 	}
> 	
> 	static long bd = 0;
> 	
> 	static synchronized long getBD() {
> 		bd ++;		
> 		if (bd == Long.MAX_VALUE) {
> 			bd = 1;
> 		}
> 		return bd;
> 	}
> 	
> 	public void run() {
> 		for (int i = 0; i < loops; i ++) {
> 			System.out.println(i);
> 			try {
> 			   doIt();
> 			} catch (Exception e) {
> 				e.printStackTrace();
> 			}					
> 		}
> 	}
> 	public static int loops;
> 	public static void main(String[] args) throws Exception{
> 		loops = Integer.parseInt(args[0]);		
> 		int thrNum = Integer.parseInt(args[1]);
> 		long start = System.currentTimeMillis();
> 		Thread[] threads = new Thread[thrNum];
> 		for (int i = 0;  i < thrNum; i ++) {
> 		    threads[i] = new ThreadTest();
> 		    threads[i].start();
> 		}
> 		
>         for (int i = 0;  i < thrNum; i ++) {
> 			threads[i].join();
> 		}
> 		System.out.println("result: " + (System.currentTimeMillis() - start));
> 	}
> }
> To run it: java ThreadTest <loops>  <threads number>
> (For instance, "java  -Xem:server -XX:vm.dlls=gc_cc.dll -Xmx900m -Xms900m ThreadTest
5 4" or "java -Xem:server -XX:vm.dlls=gc_cc.dll -Xmx900m -Xms900mThreadTest 5 1". These ones
are used by me to create the table mentioned above).

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message