-Xint: template or c++ interpreter?

Francis ANDRE francis.andre.kampbell at orange.fr
Mon Oct 28 11:17:37 PDT 2013


Le 28/10/2013 15:18, Bob Vandette a écrit :
> I don't think we'd want to change the version string to include this type of implementation specific detail.
> If this is just for testing, how about looking for symbols specific to the interpreter implementation in the JVM?
The purpose is to provide an evidence that the interpreter is the template based 
or the cpp based interpreter -- I am working to align the cpp interpreter on 
WXP/Cygwin/VS2010 and with the patches I will provide also the jtreg test 
reports for proving that the cpp interpreter is working -- but I need a way to 
identify the cpp interpreter as simple string somewhere in the jtreg report. I 
was thinking that a slight change to the -version option would be accepted. So 
how could be provided this information? Through an addition keyword?

> nm -C libjvm.so | grep TemplateTable::initialize
> or
> nm -C libjvm.so |  grep CppInterpreter::initialize
> Bob.
> On Oct 27, 2013, at 2:41 PM, Francis ANDRE <francis.andre.kampbell at orange.fr> wrote:
>> Hi Volker
>> Le 27/10/2013 18:06, Volker Simonis a écrit :
>>> Hi Francis,
>>> as Bob pointed out, choosing the C++ vs. the Template Interpreter is
>>> currently a compile time decision. And I think
>>> it won't be easy to change that, because you will probably get name
>>> clashes with the current source code.
>> I have no problem with the decision of choosing the C++ vs the template interpreter at compile time. My initial question was related to the fact that the hotspot code is relatively complex to understand at large and I wanted to be sure of running either the cpp interpreter either the template interpreter with may be an additional internal parameter. So the define CC_INTERP makes the choice and that's ok.
>>> Regards,
>>> Volker
>>> PS: by the way, your example is still compile time.
>> Yes, it is compile time but that information is produced running java -version and would be useful as a tracker of which interpreter is used. I want to identify the interpreter used in the jdk jtreg tests to avoid uncertainty.
>> Francis
>>> On Sun, Oct 27, 2013 at 3:56 PM, Francis ANDRE
>>> <francis.andre.kampbell at orange.fr> wrote:
>>>> Bob
>>>> I would like to distinguished at run time the kind of interpreter used.
>>>> Would something like that be acceptable or is there another way to publish
>>>> it? (may be the wording is bad, but that's an idea).
>>>> const char* Abstract_VM_Version::vm_info_string() {
>>>>    switch (Arguments::mode()) {
>>>>      case Arguments::_int:
>>>> #ifdef CC_INTERP
>>>>        return UseSharedSpaces ? "code base interpreted mode, sharing" : "code
>>>> base interpreted mode";
>>>> #else
>>>>        return UseSharedSpaces ? "template interpreted mode, sharing" :
>>>> "template interpreted mode";
>>>> #endif // CC_INTERP
>>>>      case Arguments::_mixed:
>>>>        return UseSharedSpaces ? "mixed mode, sharing"       : "mixed mode";
>>>>      case Arguments::_comp:
>>>>        return UseSharedSpaces ? "compiled mode, sharing"    : "compiled
>>>> mode";
>>>>    };
>>>> Francis
>>>> Le 26/10/2013 23:27, Bob Vandette a écrit :
>>>>> Compiling Hotspot with CC_INTERP does exclude the template interpreter.
>>>>> You either build a template Interpreter or C++ Interpreter.
>>>>> Bob.
>>>>> On Oct 26, 2013, at 4:19 PM, Francis ANDRE
>>>>> <francis.andre.kampbell at orange.fr> wrote:
>>>>>> Hi
>>>>>> The -Xint option specifies to the JVM to run only in interpreted mode,
>>>>>> but since compiling the JVM with CC_INTERP do not exclude the template
>>>>>> Interpreter, I am wondering if there is an option to specify that only the
>>>>>> template Interpreter or only the C++ Interpreter be used?
>>>>>> Francis

More information about the hotspot-dev mailing list