Request for review(XL): 6958292 C1: Enable parallel compilation

Igor Veresov igor.veresov at oracle.com
Thu Jun 3 18:24:15 PDT 2010


On 6/3/10 6:20 PM, Tom Rodriguez wrote:
> In Compiler::initialize_all, this line appears useless too:
>
> +  BufferBlob* buffer_blob = CompilerThread::current()->get_buffer_blob();

But Runtime1::initialize(buffer_blob) needs it.

igor

>
> tom
>
> On Jun 3, 2010, at 6:07 PM, Igor Veresov wrote:
>
>> On 6/3/10 5:18 PM, Vladimir Kozlov wrote:
>>>
>>> c1_Compiler.cpp:
>>>
>>> Should you save arena in Compiler::initialize_all()?
>>>
>>> 49 // note: to use more than on instance
>>> ^ one ?
>>>
>> Right. Thanks.
>>
>>> In Compiler::initialize() why you read ciEnv::current()?
>>
>> Didn't notice that, no reason why we should.
>>
>>>
>>>
>>> c1_Compilation.hpp:
>>>
>>> Did you try to remove new(size_t size) and leave only one with arena to
>>> find all places which use 'new'
>>> and replace then with new(arena) ?
>>>
>>> ! void* operator new(size_t size) { return
>>> Compilation::current()->arena()->Amalloc(size); }
>>> ! void* operator new(size_t size, Arena* arena) {
>>> ! return arena->Amalloc(size);
>>> ! }
>>>
>>> For example, I see in IR::IR() you can use new(compilation->arena())
>>> IRScope(.
>>
>> Good point. I'll do that. Thanks!
>>
>> igor
>>
>>
>>>
>>> Vladimir
>>>
>>> Tom Rodriguez wrote:
>>>> Just to summarize the changes:
>>>>
>>>> Refactor the initialization steps into global setup to allocate some
>>>> persistent pieces, and per compilation setup.
>>>>
>>>> Move state out of static fields into per thread structures.
>>>>
>>>> Convert visitor patterns that used functions to use closures.
>>>>
>>>> Remove the machinery that allowed the appearance of multithreading in
>>>> the tiered world when it wasn't really supported.
>>>>
>>>> tom
>>>>
>>>> On Jun 3, 2010, at 11:45 AM, Igor Veresov wrote:
>>>>
>>>>> I'd like to push this Tom's implementation of parallel compilation in
>>>>> C1.
>>>>>
>>>>> Webrev: http://cr.openjdk.java.net/~iveresov/6958292/webrev/
>>>>>
>>>>> Thanks,
>>>>> igor
>>>>
>>
>



More information about the hotspot-compiler-dev mailing list