hotspot/src/share/vm/logging/logFileStreamOutput.cpp
changeset 42886 9d8028808e78
parent 42067 34b99c8faa51
child 46560 388aa8d67c80
equal deleted inserted replaced
42885:d85e387adbb6 42886:9d8028808e78
    27 #include "logging/logFileStreamOutput.hpp"
    27 #include "logging/logFileStreamOutput.hpp"
    28 #include "logging/logMessageBuffer.hpp"
    28 #include "logging/logMessageBuffer.hpp"
    29 #include "memory/allocation.inline.hpp"
    29 #include "memory/allocation.inline.hpp"
    30 
    30 
    31 static bool initialized;
    31 static bool initialized;
    32 static char stdoutmem[sizeof(LogStdoutOutput)];
    32 static union {
    33 static char stderrmem[sizeof(LogStderrOutput)];
    33   char stdoutmem[sizeof(LogStdoutOutput)];
       
    34   jlong dummy;
       
    35 } aligned_stdoutmem;
       
    36 static union {
       
    37   char stderrmem[sizeof(LogStderrOutput)];
       
    38   jlong dummy;
       
    39 } aligned_stderrmem;
    34 
    40 
    35 LogStdoutOutput &StdoutLog = reinterpret_cast<LogStdoutOutput&>(stdoutmem);
    41 LogStdoutOutput &StdoutLog = reinterpret_cast<LogStdoutOutput&>(aligned_stdoutmem.stdoutmem);
    36 LogStderrOutput &StderrLog = reinterpret_cast<LogStderrOutput&>(stderrmem);
    42 LogStderrOutput &StderrLog = reinterpret_cast<LogStderrOutput&>(aligned_stderrmem.stderrmem);
    37 
    43 
    38 LogFileStreamInitializer::LogFileStreamInitializer() {
    44 LogFileStreamInitializer::LogFileStreamInitializer() {
    39   if (!initialized) {
    45   if (!initialized) {
    40     ::new (&StdoutLog) LogStdoutOutput();
    46     ::new (&StdoutLog) LogStdoutOutput();
    41     ::new (&StderrLog) LogStderrOutput();
    47     ::new (&StderrLog) LogStderrOutput();