Index: src/PNaClTranslator.cpp |
diff --git a/src/PNaClTranslator.cpp b/src/PNaClTranslator.cpp |
index be88b7f67a92db12680349191606dd91dccfa248..65b8a5c8ae7e277fd4dcd925971a58dcf416e1a9 100644 |
--- a/src/PNaClTranslator.cpp |
+++ b/src/PNaClTranslator.cpp |
@@ -2995,7 +2995,8 @@ public: |
ModuleParser(unsigned BlockID, TopLevelParser *Context) |
: BlockParserBaseClass(BlockID, Context), |
Timer(Ice::TimerStack::TT_parseModule, |
- Context->getTranslator().getContext()) {} |
+ Context->getTranslator().getContext()), |
+ IsParseParallel(Ice::GlobalContext::Flags.isParseParallel()) {} |
~ModuleParser() override = default; |
const char *getBlockName() const override { return "module"; } |
NaClBitstreamCursor &getCursor() const { return Record.GetCursor(); } |
@@ -3007,6 +3008,7 @@ private: |
bool GlobalDeclarationNamesAndInitializersInstalled = false; |
// True if we have already processed the symbol table for the module. |
bool FoundValuesymtab = false; |
+ const bool IsParseParallel; |
// Generates names for unnamed global addresses (i.e. functions and global |
// variables). Then lowers global variable declaration initializers to the |
@@ -3148,7 +3150,7 @@ bool ModuleParser::ParseBlock(unsigned BlockID) { |
Ice::GlobalContext *Ctx = Context->getTranslator().getContext(); |
uint32_t SeqNumber = Context->getTranslator().getNextSequenceNumber(); |
NaClBcIndexSize_t FcnId = Context->getNextFunctionBlockValueID(); |
- if (Ctx->getFlags().getParseParallel()) { |
+ if (IsParseParallel) { |
// Skip the block and copy into a buffer. Note: We copy into a buffer |
// using the top-level parser to make sure that the underlying |
// buffer reading from the data streamer is not thread safe. |