Vote: YES
On Aug 6 2013, at 13:18 , 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