Issue 24561 - adding a private member function void VtableFactory::flushCode( unsigned char * begin, unsigned char * end);
Summary: adding a private member function void VtableFactory::flushCode( unsigned cha...
Status: CLOSED FIXED
Alias: None
Product: udk
Classification: Code
Component: code (show other issues)
Version: current
Hardware: All Linux, all
: P3 Trivial (vote)
Target Milestone: OOo 2.0
Assignee: khendricks
QA Contact: issues@udk
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-01-19 15:22 UTC by khendricks
Modified: 2007-06-18 10:41 UTC (History)
2 users (show)

See Also:
Issue Type: ENHANCEMENT
Latest Confirmation in: ---
Developer Difficulty: ---


Attachments

Note You need to log in before you can comment on or make changes to this issue.
Description khendricks 2004-01-19 15:22:18 UTC
Hi Stephan, 
 
As requested, I have created an issue to ask you to modify the multiple inheritance bridge code 
to offer a private member function 
 
   void VtableFactory::flushCode( 
       unsigned char * begin, unsigned char * end); 
 
to be implemented by each platform, called from the shared code once for  
each generated vtable.   
 
I have modified the flush_range code on my copy of the bridge code for gcc3_linux_powerpc to 
batch the instruction cache store and invalidate instructions across a contiguous region of 
memory and then do only one "expensive" sync and isync at the end. 
 
This will be a big performance win for smp systems and systems with fast processors that 
piepeline starvation really impacts harshly. 
 
Once you have the new hook in place, I will implement this for PPC Linux and MacOSX. 
 
Thanks, 
 
Kevin
Comment 1 Stephan Bergmann 2004-01-19 16:07:58 UTC
accepted
Comment 2 Stephan Bergmann 2004-02-04 16:52:00 UTC
set target milestone
Comment 3 Stephan Bergmann 2004-02-11 16:18:42 UTC
sb->khendricks:  Function has been added on cws_src680_sb15:
  bridges/inc/bridges/cpp_uno/shared/vtablefactory.hxx 1.2.4.1
  bridges/source/cpp_uno/shared/vtablefactory.cxx 1.2.4.1
Please add definitions of that function to gcc3_linux_powerpc and
gcc3_macosx_powerpc.
Comment 4 khendricks 2004-02-11 18:38:03 UTC
Hi Stephabn,

Thanks,

I will do so for both PPC Linux and MacOSX.

and commit it back to your tree after test builds of m24 complete.

Kevin
Comment 5 Stephan Bergmann 2004-02-24 08:31:27 UTC
Filed issue 25819 to fix (Solaris) SPARC bridge to also flush instruction cache
(once it is clear how to do so).
Comment 6 Stephan Bergmann 2004-03-02 09:10:51 UTC
verified
Comment 7 joerg.skottke 2004-03-03 11:56:47 UTC
do we have a spec for this?
Comment 8 Stephan Bergmann 2004-03-29 07:50:31 UTC
integrated in SRC680m32
Comment 9 davidfraser 2005-04-17 18:28:33 UTC
How is the status on this NEW when the resolution is FIXED?
Comment 10 thorsten.ziehm 2005-04-26 10:39:39 UTC
=> set this task to teh correct state 'resolved/fixed'
=> please check, if the fix is integrated and set it to 'verified' and close
this task
Comment 11 kay.ramme 2007-06-18 10:41:53 UTC
This issue has been "RESOLVED" for quite a time, I assume I can close it ...