Vote: YES
On 8/7/2013 5:18 AM, Mike Duigou wrote:
I hereby nominate Marcus Lagergren to jdk8 Committer.
Marcus is a Reviewer on the Nashorn project with many contributed changesets
which are now incorporated in the JDK8 repo. He has also completed many reviews
of Nashorn changes by other committers.
Changesets (in jdk8/nashorn repo):
hg log -M -u lagergren --template "{desc}\n" | grep "^[0-9]\{7,7\}: "
8020124: In the case of an eval switch, we might need explicit conversions of
the tag store, as it was not known in the surrounding environment.
8019983: Void returns combined with return with expression picked the wrong
return type
8019821: allInteger switches were confused by boolean cases, as they are a
narrower type than int
8019811: Static calls - self referential functions needed a return type
conversion if they were specialized, as they can't use the same mechanism as
indy calls
8019585: Sometimes a var declaration using itself in its init wasn't declared
as canBeUndefined, causing erroneous bytecode
8017082: Long array literals were slightly broken
8016667: Wrong bytecode when testing/setting due to null check shortcut
checking against primitive too
8016235: Use in catch block that may not have been executed in try block caused
illegal byte code to be generated
8016226: backing out test without third party license approval
8015892: canBeUndefined too conservative for some use before declaration cases
8011023: Math round didn't conform to ECMAScript 5 spec
8015447: Octane harness fixes for rhino and entire test runs: ant octane, ant
octane-v8, ant octane-rhino
8014219: Make the run-octane harness more deterministic by not measuring
elapsed time every iteration. Also got rid of most of the run logic in base.js
and call benchmarks directly for the same purpose
8012522: Clean up lexical contexts - split out stack based functionality in
CodeGenerator and generify NodeVisitors based on their LexicalContext type to
avoid casts
8012083: Array literal constant folding issue
8006069: Range analysis first iteration, runtime specializations
8013919: Original exception no longer thrown away when a finally rethrows
8014426: Original exception no longer thrown away when a finally rethrows
8014329: Slim down the label stack structure in CodeGenerator
8013914: Removed explicit LineNumberNodes that were too brittle when code moves
around, and also introduced unnecessary footprint. Introduced the Statement
node and fixed dead code elimination issues that were discovered by the absense
of labels for LineNumberNodes.
8013913: Removed Source field from all nodes except FunctionNode in order to
save footprint
8013871: mem usage histograms enabled with compiler logging level set to more
specific than or equals to info when --print-mem-usage flag is used
8013477: Node.setSymbol needs to be copy on write - enable IR snapshots for
recompilation based on callsite type specialization.
8013533: Increase code coverage report for types and logging
8010701: Immutable nodes - final iteration
8010995: The bug ID 8010710 accidentally got two digits transposed in the
checkin and unit test name
8010706: -Dnashorn.args system property to create command lines to wrapped
nashorn.jar:s
8017010: index evaluation to a temporary location for index operator much
change temporaries to slots, but never scoped vars
8010147: Forgot to add EXPECTED files for lazy and eager sunspider test
8009982: Lazy execution bugfix. Added lazy sunspider unit test. Added mandreel
to compile-octane test. Fixed warnings
8009718: Lazy execution architecture continued - ScriptFunctionData is either
final or recompilable. Moved ScriptFunctionData creation logic away from
runtime to compile time. Prepared for method generation/specialization. Got rid
of ScriptFunctionImplTrampoline whose semantics could be done as part of the
relinking anyway. Merge with the lookup package change.
8007002: Replace implicit exception throwing methods with explicit throws -
simplify control flow and remove useless code
8008575: Re-integrate code coverage
8008554: load was broken for URLs
8008648: Lazy JIT scope and callee semantics bugfixes. Broke out wallclock
timer.
8008166: URL handling was broken on windows, causing "load" to malfunction
8008239: Unpublicized parts of the code generator package that were only
package internal.
8008206: The allInteger case for SwitchNode generation in CodeGenerator assumes
integer LITERALS only.
8008199: Lazy compilation and trampoline implementation
8007215: Varargs broken for the case of passing more than the arg limit
arguments.
8007062: Split Lower up into Lower/Attr/FinalizeTypes. Integrate
AccessSpecalizer into FinalizeTypes.
8005976: Break out AccessSpecializer into one pass before CodeGenerator instead
of iterative applications from CodeGenerator
8005971: runsunspider.js should check results of benchmarks
8005842: Loops in ASTWriter. Corrected @Reference and @Ignore node annotation
for IR nodes
8005843: refSymbols lookup of unbound variable could cause NullPointerException
in Lower
8005788: Loggers and their corresponding system properties not working correctly
8005789: Forgot to document -Dnashorn.unstable.relink.threshold
Votes are due by 2359 PDT, August 20, 2013.
Only current jdk8 Committers [1] are eligible to vote on this nomination. Votes
must be cast in the open by replying to this mailing list.
For Lazy Consensus voting instructions, see [2].
-Mike
[1] http://openjdk.java.net/census
[2] http://openjdk.java.net/projects/#committer-vote