Closed
Bug 1668238
Opened 5 years ago
Closed 5 years ago
Move initialisation out of WellKnownParserAtoms_ROM to placate Eclipse's indexer
Categories
(Core :: JavaScript Engine, task)
Core
JavaScript Engine
Tracking
()
RESOLVED
FIXED
83 Branch
| Tracking | Status | |
|---|---|---|
| firefox83 | --- | fixed |
People
(Reporter: anba, Assigned: anba)
Details
Attachments
(1 file)
Eclipse's indexer chokes on WellKnownParserAtoms_ROM's constructor. And because "ParserAtom.h" is (transitively) included in my files, the whole indexing process breaks down and needs multiple hours(!). Thankfully it looks like moving the initialisation for StaticParserAtomEntry<1> and StaticParserAtomEntry<2> into separate functions is enough to placate Eclipse.
The error log contains:
java.lang.IllegalStateException: Trying to set incomplete value
at org.eclipse.cdt.internal.core.dom.parser.IntegralValue.setSubValue(IntegralValue.java:286)
at org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalCompositeAccess.update(EvalCompositeAccess.java:53)
at org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalReference.update(EvalReference.java:122)
at org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalBinary.computeForFunctionCall(EvalBinary.java:494)
at org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.ExecExpressionStatement.executeForFunctionCall(ExecExpressionStatement.java:39)
at org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalUtil.executeStatement(EvalUtil.java:87)
at org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.ExecCompoundStatement.executeForFunctionCall(ExecCompoundStatement.java:59)
at org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.evaluateFunctionBody(EvalFunctionCall.java:350)
at org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.computeForFunctionCall(EvalFunctionCall.java:316)
at org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.ExecExpressionStatement.executeForFunctionCall(ExecExpressionStatement.java:39)
at org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalUtil.executeStatement(EvalUtil.java:87)
at org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.ExecCompoundStatement.executeForFunctionCall(ExecCompoundStatement.java:59)
at org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalUtil.executeStatement(EvalUtil.java:94)
at org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.ExecFor.executeForFunctionCall(ExecFor.java:45)
at org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalUtil.executeStatement(EvalUtil.java:94)
at org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.ExecCompoundStatement.executeForFunctionCall(ExecCompoundStatement.java:59)
at org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.evaluateFunctionBody(EvalFunctionCall.java:350)
at org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionCall.computeForFunctionCall(EvalFunctionCall.java:316)
at org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalConstructor.computeForFunctionCall(EvalConstructor.java:218)
at org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalConstructor.getValue(EvalConstructor.java:144)
at org.eclipse.cdt.internal.core.dom.parser.cpp.CPPVariable.computeInitialValue(CPPVariable.java:271)
at org.eclipse.cdt.internal.core.dom.parser.cpp.CPPVariable.getInitialValue(CPPVariable.java:248)
at org.eclipse.cdt.internal.core.pdom.PDOMWriter.resolveNames(PDOMWriter.java:441)
at org.eclipse.cdt.internal.core.pdom.PDOMWriter.addSymbols(PDOMWriter.java:284)
at org.eclipse.cdt.internal.core.pdom.AbstractIndexerTask.writeToIndex(AbstractIndexerTask.java:1295)
at org.eclipse.cdt.internal.core.pdom.AbstractIndexerTask.parseFile(AbstractIndexerTask.java:1107)
at org.eclipse.cdt.internal.core.pdom.AbstractIndexerTask.parseLinkage(AbstractIndexerTask.java:910)
at org.eclipse.cdt.internal.core.pdom.AbstractIndexerTask.runTask(AbstractIndexerTask.java:572)
at org.eclipse.cdt.internal.core.pdom.indexer.PDOMIndexerTask.run(PDOMIndexerTask.java:164)
at org.eclipse.cdt.internal.core.pdom.indexer.PDOMRebuildTask.run(PDOMRebuildTask.java:94)
at org.eclipse.cdt.internal.core.pdom.PDOMIndexerJob.run(PDOMIndexerJob.java:160)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
| Assignee | ||
Comment 1•5 years ago
|
||
Moving the initialisation into separate functions seems to workaround the Eclipse
indexer bug. I've verified with size -A dist/bin/js that the executable size
isn't negatively impacted by this change.
Pushed by ncsoregi@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/a405b9663b93
Move StaticParserAtomEntry initialisation into separate functions to placate Eclipse. r=tcampbell
Comment 3•5 years ago
|
||
| bugherder | ||
Status: ASSIGNED → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → 83 Branch
You need to log in
before you can comment on or make changes to this bug.
Description
•