Elford, Chris L wrote:
Of course the inline is a hint rather than a directive (see
http://www.codeproject.com/cpp/Macros_vs_Inlines.asp), you need to expect
variability.
I think one should expect compiler to compiler differences when one uses the
c++ features like the inline directive. I don't think that there is any
guarantee that you will get an external symbol for an inlined implementation
[After all, you may decide to have 10 different inline implementations in 10
different files and cause all sorts of confusion]... One tends to do this with
putting inlined accessor methods within the header files. If the methods get
too big, you start to see compiler to compiler and platform to platform
variation at [dynamic] link time.
This behavior suggests that the Intel compiler is more aggressive at optimization than the MS compiler. This isn't too surprising and certainly doesn't imply that either is "incorrect". As more compilers on more platforms are used to compile DRLVM and the native class library components, I fully expect more latent bugs like this in the source code to show up.
I absolutely don't understand how you can claim a "hint" like "inline"
can be considered a bug in the source when the sourcebase is being
compiled by the same compiler. can you explain?
geir
Thanks,
Chris
-----Original Message-----
From: Mikhail Fursov [mailto:[EMAIL PROTECTED]
Sent: Thursday, November 30, 2006 7:01 AM
To: [email protected]
Subject: Re: [build] HWA doesn't work
IMO I think this is a "feature" of Intel compiler - here it's incompatible
with MS.
If method is marked as inline only in cpp file ICC inlines it and could not
produce body for the method in object file. Since method is public object
loader (MS one) looks for this method and fails.
PS. making this method not inlined does not affect performance at all.
On 11/30/06, Dmitry Irlyanov <[EMAIL PROTECTED]> wrote:
Geir, Evgueni
May be you are right, I've just explained my own opinion :)
Of course, missing stability due to inlining is a bug
But I don't know the compiler optimisation features and refer to a
compiler
as a universal product that can be used ererywhere - so we should apply it
with all it's features-bugs.
2006/11/30, Evgueni Brevnov <[EMAIL PROTECTED]>:
Sorry - I don't understand either. Could you explain please?
Evgueni
On 11/30/06, Geir Magnusson Jr. <[EMAIL PROTECTED]> wrote:
Sorry - how can it be a classloader bug if every other compiler we've
built with doesn't have a problem?
geir
Dmitry Irlyanov wrote:
Geir,
I think it is rather a classloader bug.
JIRA №2375 has been created (
http://issues.apache.org/jira/browse/HARMONY-2375)
________________
With Best Regards,
Irlyanov Dmitry
Intel Corporation
Middleware Products Division
2006/11/29, Geir Magnusson Jr. <[EMAIL PROTECTED]>:
Just can't wait to see the JIRA... what is the solution? is this
an
Intel compiler bug?
geir
Dmitry Irlyanov wrote:
Tested on Revision: 480581
before any changes:
./java Hello
Failed to open JVM DLL:
/harmony/trunk/working_vm/build/lnx_ia32_icc_release/deploy/jre/bin/default/harmonyvm
(harmony/trunk/working_vm/build/lnx_ia32_icc_release/deploy/jre/bin/default/libharmonyvm.so:
undefined symbol:
_ZN20BootstrapClassLoader13SetBCPElementEPKcP10apr_pool_t)
after removing inline option of SetBCPElement in
\harmony\trunk\working_vm\vm\vmcore\src\class_support\classloader.cpp
./java Hello
Hello
Thank you, Mikhail!
Now I'm preparing the patch and creating a JIRA issue.
2006/11/29, Dmitry Irlyanov <[EMAIL PROTECTED]>:
I think, it is the most likely reason :)
Now I'll test this issue and after the testing inform the
result.
2006/11/29, Mikhail Fursov <[EMAIL PROTECTED]>:
Actually I do not understand why this method is marked as
"inline" in
cpp.
Could it be the reason?
On 11/29/06, Dmitry Irlyanov <[EMAIL PROTECTED]> wrote:
Compiler: icc (ICC) 9.0 20051020
OS:SuSE Linux 9.2 (i586)
2006/11/29, Geir Magnusson Jr. < [EMAIL PROTECTED]>:
What toolset?
Dmitry Irlyanov wrote:
Mikhail,
The system was built from the very beginning (svn co))
This error received after the following command:
./java -classpath . Hello
May be this exotic output is happen by reason of exotic
compiler?
2006/11/29, Mikhail Fursov < [EMAIL PROTECTED]>:
Dmitry,
SetBCPElement has become public inside of vmcore module
after
H2008
is
applied. This is the only change I remember for this
method.
Also it's very strange that you can link DRLVM and get
this
error
on
runtime
: this method is vmcore library local.
Did you try clean build?
On 11/29/06, Dmitry Irlyanov < [EMAIL PROTECTED]>
wrote:
Good day!
I've successfully build class libraries and DRLVM on
Linux,
but
the
build
doesn't work.
After starting Hello World Application the followinng
exceptionis
thrown:
Failed to open JVM
DLL:/drlvm/trunk/build/lnx_ia32_icc_release/deploy/jre/bin/default/harmonyvm(/drlvm/trunk/build/lnx_ia32_icc_release/deploy/jre/bin/default/libharmonyvm.so:
undefined symbol:
_ZN20BootstrapClassLoader13SetBCPElementEPKcP10apr_pool_t)
Do you know the cause of this error?
Should I add this to JIRA or it is my fault?
_______________
With Best Regards,
Irlyanov Dmitry
Intel Corporation
Middleware Products Division
--
Mikhail Fursov
_______________
With Best Regards,
Irlyanov Dmitry
Intel Corporation
Middleware Products Division
--
_______________
With Best Regards,
Irlyanov Dmitry
Intel Corporation
Middleware Products Division
--
Mikhail Fursov
--
_______________
With Best Regards,
Irlyanov Dmitry
Intel Corporation
Middleware Products Division
--
_______________
With Best Regards,
Irlyanov Dmitry
Intel Corporation
Middleware Products Division