<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>

<channel>
	<title>Dawn Perchik</title>
	<atom:link href="http://blogs.embarcadero.com/dperchik/feed/" rel="self" type="application/rss+xml" />
	<link>http://blogs.embarcadero.com/dperchik</link>
	<description>Just another Embarcadero Blogs weblog</description>
	<pubDate>Wed, 20 Jan 2010 20:25:25 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.2</generator>
	<language>en</language>
			<item>
		<title>Bcc&#8217;s -CX option</title>
		<link>http://blogs.embarcadero.com/dperchik/2010/01/20/bccs-cx-option/</link>
		<comments>http://blogs.embarcadero.com/dperchik/2010/01/20/bccs-cx-option/#comments</comments>
		<pubDate>Wed, 20 Jan 2010 20:07:24 +0000</pubDate>
		<dc:creator>dperchik</dc:creator>
		
		<category><![CDATA[C_Builder]]></category>

		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blogs.embarcadero.com/dperchik/?p=18</guid>
		<description><![CDATA[Ever run into an "out of memory" error in BCB during a compile, or ran into an "Internal Compiler Error" which seems to be related to source file size?  We&#8217;ve added a compiler option -CX where you can specify how much memory to reserve for SAVE_MEM (that&#8217;s the memory which is reserved for use by [...]]]></description>
			<content:encoded><![CDATA[<p>Ever run into an "out of memory" error in BCB during a compile, or ran into an "Internal Compiler Error" which seems to be related to source file size?  We&#8217;ve added a compiler option -CX where you can specify how much memory to reserve for SAVE_MEM (that&#8217;s the memory which is reserved for use by the pre-compiled headers and other relocatable entities).  Use -CXn where the amount to reserve is (n * 0&#215;100000) bytes.  The default (and minimum) setting is 64.  The maximum is 512.  The option can be set in the IDE via "Additional options to pass to the compiler".</p>
<p><span style="font-size: x-small">Since the address space is shared with the IDE, you don&#8217;t want to set the value higher than necessary.  Finally, no matter how much space you reserve, you can always run out of memory.<br />
</span></p>
<p><span style="font-size: x-small">Dawn&#8217;s theorem of BCC memory usage:<br />
Let M = amount of memory reserved for compiler.<br />
Let S = source file.<br />
For each M, we can find an S such that bcc32 -CXM S results in an ICE.<br />
Proof: left to the BCB user as an excercise.<br />
QED.</span></p>
<p> <img src='http://blogs.embarcadero.com/dperchik/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /></p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.embarcadero.com/dperchik/2010/01/20/bccs-cx-option/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Getting the IP in Gcc, OSX vs. Linux</title>
		<link>http://blogs.embarcadero.com/dperchik/2010/01/15/getting-the-ip-in-gcc-osx-vs-linux/</link>
		<comments>http://blogs.embarcadero.com/dperchik/2010/01/15/getting-the-ip-in-gcc-osx-vs-linux/#comments</comments>
		<pubDate>Fri, 15 Jan 2010 19:00:37 +0000</pubDate>
		<dc:creator>dperchik</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blogs.embarcadero.com/dperchik/?p=16</guid>
		<description><![CDATA[Gcc on Linux uses thunks to find the current IP address when generating PIC code.
So, while Gcc on Mac OS X might generate:
0:       call   5
5:       pop    %ebx
6:       add    $(GOT - 5),%ebx
Gcc on Linux would generate:
0:       call   16 &#60;__i686.get_pc_thunk.bx&#62;
5:       add    $(GOT - 5),%ebx
00000016 &#60;__i686.get_pc_thunk.bx&#62;:
16:       mov    (%esp),%ebx
19:       ret
Why???
]]></description>
			<content:encoded><![CDATA[<p>Gcc on Linux uses thunks to find the current IP address when generating PIC code.<br />
So, while Gcc on Mac OS X might generate:</p>
<p>0:       call   5<br />
5:       pop    %ebx<br />
6:       add    $(GOT - 5),%ebx</p>
<p>Gcc on Linux would generate:</p>
<p>0:       call   16 &lt;__i686.get_pc_thunk.bx&gt;<br />
5:       add    $(GOT - 5),%ebx</p>
<p>00000016 &lt;__i686.get_pc_thunk.bx&gt;:<br />
16:       mov    (%esp),%ebx<br />
19:       ret</p>
<p>Why???</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.embarcadero.com/dperchik/2010/01/15/getting-the-ip-in-gcc-osx-vs-linux/feed/</wfw:commentRss>
		</item>
		<item>
		<title>re: Alan Taylor&#8217;s question about remote Methods</title>
		<link>http://blogs.embarcadero.com/dperchik/2009/10/28/re-alan-taylors-question-about-remote-methods/</link>
		<comments>http://blogs.embarcadero.com/dperchik/2009/10/28/re-alan-taylors-question-about-remote-methods/#comments</comments>
		<pubDate>Wed, 28 Oct 2009 18:51:16 +0000</pubDate>
		<dc:creator>dperchik</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blogs.embarcadero.com/dperchik/?p=14</guid>
		<description><![CDATA[I assume you are refering to datasnap?  It&#8217;s on our priority list, and we are currently in the planning stages for the next release.
]]></description>
			<content:encoded><![CDATA[<p>I assume you are refering to datasnap?  It&#8217;s on our priority list, and we are currently in the planning stages for the next release.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.embarcadero.com/dperchik/2009/10/28/re-alan-taylors-question-about-remote-methods/feed/</wfw:commentRss>
		</item>
		<item>
		<title>replies to comments</title>
		<link>http://blogs.embarcadero.com/dperchik/2009/10/28/replies-to-comments/</link>
		<comments>http://blogs.embarcadero.com/dperchik/2009/10/28/replies-to-comments/#comments</comments>
		<pubDate>Wed, 28 Oct 2009 16:52:23 +0000</pubDate>
		<dc:creator>dperchik</dc:creator>
		
		<category><![CDATA[C_Builder]]></category>

		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blogs.embarcadero.com/dperchik/?p=12</guid>
		<description><![CDATA[To: Chris Bruner  Re: refactoring
We haven&#8217;t had the time and resources to produce a product that meets our quality and performance standards.  C++ is a very complex language as you know, and we won&#8217;t release a feature until we know we have something that will handle the complexities of the language without sacrificing usability.
To: Chee [...]]]></description>
			<content:encoded><![CDATA[<p>To: Chris Bruner  Re: refactoring</p>
<p>We haven&#8217;t had the time and resources to produce a product that meets our quality and performance standards.  C++ is a very complex language as you know, and we won&#8217;t release a feature until we know we have something that will handle the complexities of the language without sacrificing usability.</p>
<p>To: Chee Wee Chua Re: Sanjay</p>
<p>He left the company about 2 years ago.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.embarcadero.com/dperchik/2009/10/28/replies-to-comments/feed/</wfw:commentRss>
		</item>
		<item>
		<title>about me</title>
		<link>http://blogs.embarcadero.com/dperchik/2009/10/27/about-me/</link>
		<comments>http://blogs.embarcadero.com/dperchik/2009/10/27/about-me/#comments</comments>
		<pubDate>Tue, 27 Oct 2009 20:02:37 +0000</pubDate>
		<dc:creator>dperchik</dc:creator>
		
		<category><![CDATA[C_Builder]]></category>

		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blogs.embarcadero.com/dperchik/?p=3</guid>
		<description><![CDATA[Hello, I maintain the C++ compiler front-end here at Embarcadero.  I am responsible for all things C++ compiler related, including the preprocessor, evaluator, code completion, refactoring, class browser, modeling callbacks,  editor callbacks, and of course the compiler itself.
I first joined Borland in 1999 to work on compiler optimizations for a new back-end we were developing [...]]]></description>
			<content:encoded><![CDATA[<p>Hello, I maintain the C++ compiler front-end here at Embarcadero.  I am responsible for all things C++ compiler related, including the preprocessor, evaluator, code completion, refactoring, class browser, modeling callbacks,  editor callbacks, and of course the compiler itself.</p>
<p>I first joined Borland in 1999 to work on compiler optimizations for a new back-end we were developing in-house to host our tools on other platforms besides Windows.   Many years, a few company names, and many projects later, I&#8217;m still here doing my part to ensure our tools, now owned by Embarcadero, are truely RAD.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.embarcadero.com/dperchik/2009/10/27/about-me/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
