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
