History log of /openjdk9/nashorn/docs/DEVELOPER_README
Revision Date Author Comments
# 1756:ee77c6b3713a 07-Aug-2016 hannesw

8162955: Activate anonymous class loading for small sources
Reviewed-by: sundar


# 1504:252538e8c232 09-Nov-2015 attila

8141550: Introduce a command line option instead of nashorn.unstable.relink.threshold system property
Reviewed-by: hannesw, sundar


# 1245:c55ce3738888 10-Apr-2015 hannesw

8067215: Disable dual fields when not using optimistic types
Reviewed-by: attila, lagergren


# 1074:41b5976633aa 23-Oct-2014 hannesw

8059813: Type Info Cache flag must must be documented
Reviewed-by: attila, jlaskey


# 866:6e915a39b248 27-May-2014 lagergren

8044012: Integrate the latest best known performance flags int ant octane jobs, and make sure that it's easy to compare 'ant octane-nashorn' and 'ant octane-v8' at the push of a button. (or rather; the entry of a command line)
Reviewed-by: jlaskey, sundar


# 865:5b017d6edef6 21-May-2014 lagergren

8043632: Parallelize class installation and various script fixes.
Reviewed-by: sundar, attila


# 525:eb7b8340ce3a 23-Aug-2013 lagergren

8023454: Updated DEVELOPER_README and command line flags, ensuring that undocumented flags that aren't guaranteed to work (disabled by default) and that are work in progress show up with an EXPERIMENTAL tag.
Reviewed-by: attila, jlaskey


# 146:43e40c08e7f8 26-Mar-2013 lagergren

8010706: -Dnashorn.args system property to create command lines to wrapped nashorn.jar:s
Reviewed-by: hannesw, sundar


# 114:e42fd1640ff9 22-Feb-2013 hannesw

8006028: Integrate Joni regexp engine with Nashorn
Reviewed-by: lagergren, attila


# 82:774a0f349cc0 12-Feb-2013 hannesw

8007956: Wrong or obsolete system properties in docs/DEVELOPER_README
Reviewed-by: attila, jlaskey


# 56:59970b70ebb5 29-Jan-2013 lagergren

8007062: Split Lower up into Lower/Attr/FinalizeTypes. Integrate AccessSpecalizer into FinalizeTypes.
Summary: Lower suffered from being a "God class" trying to do everything at once. As Nashorn code generation has grown, so has Lower. It does several post processing passes, tries to do several things at once even though all type information isn't in place, adjusting state afterwards and so on. It also performs control flow analysis, type attribution and constant folding, and everything else code generation related before byte code emission. I have now separated the compilation process into Lower (create low level nodes from high level ones, copy code such as finally block inlining etc), Attr (assign types and symbols to all nodes - freeze slot and scope information) and FinalizeTypes (insert explicit casts, specialize invoke dynamic types for scope accesses). I've removed the kludgy AccessSpecializer, as this now integrates naturally with typing. Everything is now much easier to read and each module performs only one thing. I have added separate loggers for the separate tiers. In the process I have also fixed: (1) problems with type coercion (see test/script/basic/typecoercion.js, basically our coercion was too late and our symbol inference was erroneous. This only manifested itself in very rare occasions where toNumber coercion has side effects, such as for example when valueOf is overridden) (2) copying literal nodes (literal copy did not use the superclass copy, which made all the Node specific fields not to be copied (3) erroneous literal tokenization (literals shouldn't always just inherit token information from whatever node that creates them) (4) splitter weighnodes - unary nodes were considered weightless (4) removed the hateful and kludgy "VarNode.shouldAppend", which really isn't needed when we have an attribution phase that determines self reference symbols (the only thing it was used for) (5) duplicate line number issues in the parser (6) convert bug in CodeGenerator for intermediate results of scope accesses (see test/script/basic/access-specializer.js) ... Several of these things just stopped being problems with the new architecture "can't happen anymore" and are not bug fixes per se. All tests run. No performance regressions exist that I've been able to measure. Some increases in performance were measured, but in the statistical margin of error (which is very wide as HotSpot currently has warmup issues with LambdaForms/invoke dynamic). Compile speed has not measurably increased.
Reviewed-by: jlaskey, attila


# 23:2a4769fcd13f 11-Jan-2013 lagergren

8005976: Break out AccessSpecializer into one pass before CodeGenerator instead of iterative applications from CodeGenerator
Summary: Now scope and slot information is guaranteed to be fixed AND NOT CHANGE before CodeGeneration. We want to keep it that way to build future type specializations and bring all type work out of CodeGenerator.
Reviewed-by: attila, hannesw


# 7:1e3f411f47bf 07-Jan-2013 lagergren

8005789: Forgot to document -Dnashorn.unstable.relink.threshold
Summary: Added documentation to DEVELOPER_README, fixed code convention warnings
Reviewed-by: attila


# 2:da1e581c933b 21-Dec-2012 jlaskey

8005403: Open-source Nashorn
Reviewed-by: attila, hannesw, lagergren, sundar
Contributed-by: james.laskey@oracle.com, akhil.arora@oracle.com, andreas.woess@jku.at, attila.szegedi@oracle.com, hannes.wallnoefer@oracle.com, henry.jen@oracle.com, marcus.lagergren@oracle.com, pavel.semenov@oracle.com, pavel.stepanov@oracle.com, petr.hejl@oracle.com, petr.pisl@oracle.com, sundararajan.athijegannathan@oracle.com