author | mseledtsov |
Wed, 02 Oct 2013 15:17:20 +0200 | |
changeset 20370 | a9e8d6ee8403 |
parent 19632 | c9d704ad422e |
child 24766 | 7b54e2362c6c |
permissions | -rw-r--r-- |
16147 | 1 |
This document describes system properties that are used for internal |
2 |
debugging and instrumentation purposes, along with the system loggers, |
|
3 |
which are used for the same thing. |
|
4 |
||
5 |
This document is intended as a developer resource, and it is not |
|
6 |
needed as Nashorn documentation for normal usage. Flags and system |
|
7 |
properties described herein are subject to change without notice. |
|
8 |
||
9 |
===================================== |
|
10 |
1. System properties used internally |
|
11 |
===================================== |
|
12 |
||
13 |
This documentation of the system property flags assume that the |
|
14 |
default value of the flag is false, unless otherwise specified. |
|
15 |
||
16533
6ae708677f92
8010706: -Dnashorn.args system property to create command lines to wrapped nashorn.jar:s
lagergren
parents:
16259
diff
changeset
|
16 |
SYSTEM PROPERTY: -Dnashorn.args=<string> |
6ae708677f92
8010706: -Dnashorn.args system property to create command lines to wrapped nashorn.jar:s
lagergren
parents:
16259
diff
changeset
|
17 |
|
6ae708677f92
8010706: -Dnashorn.args system property to create command lines to wrapped nashorn.jar:s
lagergren
parents:
16259
diff
changeset
|
18 |
This property takes as its value a space separated list of Nashorn |
19632
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
19 |
command line options that should be passed to Nashorn. This might be |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
20 |
useful in environments where it is hard to tell how a nashorn.jar is |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
21 |
launched. |
16533
6ae708677f92
8010706: -Dnashorn.args system property to create command lines to wrapped nashorn.jar:s
lagergren
parents:
16259
diff
changeset
|
22 |
|
6ae708677f92
8010706: -Dnashorn.args system property to create command lines to wrapped nashorn.jar:s
lagergren
parents:
16259
diff
changeset
|
23 |
Example: |
6ae708677f92
8010706: -Dnashorn.args system property to create command lines to wrapped nashorn.jar:s
lagergren
parents:
16259
diff
changeset
|
24 |
|
6ae708677f92
8010706: -Dnashorn.args system property to create command lines to wrapped nashorn.jar:s
lagergren
parents:
16259
diff
changeset
|
25 |
> java -Dnashorn.args="--lazy-complation --log=compiler" large-java-app-with-nashorn.jar |
6ae708677f92
8010706: -Dnashorn.args system property to create command lines to wrapped nashorn.jar:s
lagergren
parents:
16259
diff
changeset
|
26 |
> ant -Dnashorn.args="--log=codegen" antjob |
6ae708677f92
8010706: -Dnashorn.args system property to create command lines to wrapped nashorn.jar:s
lagergren
parents:
16259
diff
changeset
|
27 |
|
16152
ea430b83d74d
8005789: Forgot to document -Dnashorn.unstable.relink.threshold
lagergren
parents:
16147
diff
changeset
|
28 |
SYSTEM PROPERTY: -Dnashorn.unstable.relink.threshold=x |
ea430b83d74d
8005789: Forgot to document -Dnashorn.unstable.relink.threshold
lagergren
parents:
16147
diff
changeset
|
29 |
|
ea430b83d74d
8005789: Forgot to document -Dnashorn.unstable.relink.threshold
lagergren
parents:
16147
diff
changeset
|
30 |
This property controls how many call site misses are allowed before a |
ea430b83d74d
8005789: Forgot to document -Dnashorn.unstable.relink.threshold
lagergren
parents:
16147
diff
changeset
|
31 |
callsite is relinked with "apply" semantics to never change again. |
ea430b83d74d
8005789: Forgot to document -Dnashorn.unstable.relink.threshold
lagergren
parents:
16147
diff
changeset
|
32 |
In the case of megamorphic callsites, this is necessary, or the |
ea430b83d74d
8005789: Forgot to document -Dnashorn.unstable.relink.threshold
lagergren
parents:
16147
diff
changeset
|
33 |
program would spend all its time swapping out callsite targets. Dynalink |
ea430b83d74d
8005789: Forgot to document -Dnashorn.unstable.relink.threshold
lagergren
parents:
16147
diff
changeset
|
34 |
has a default value (currently 8 relinks) for this property if it |
ea430b83d74d
8005789: Forgot to document -Dnashorn.unstable.relink.threshold
lagergren
parents:
16147
diff
changeset
|
35 |
is not explicitly set. |
ea430b83d74d
8005789: Forgot to document -Dnashorn.unstable.relink.threshold
lagergren
parents:
16147
diff
changeset
|
36 |
|
16147 | 37 |
|
16227
1bafb74d17b2
8007956: Wrong or obsolete system properties in docs/DEVELOPER_README
hannesw
parents:
16201
diff
changeset
|
38 |
SYSTEM PROPERTY: -Dnashorn.compiler.splitter.threshold=x |
16168
f0c208287983
8005976: Break out AccessSpecializer into one pass before CodeGenerator instead of iterative applications from CodeGenerator
lagergren
parents:
16152
diff
changeset
|
39 |
|
f0c208287983
8005976: Break out AccessSpecializer into one pass before CodeGenerator instead of iterative applications from CodeGenerator
lagergren
parents:
16152
diff
changeset
|
40 |
This will change the node weight that requires a subgraph of the IR to |
f0c208287983
8005976: Break out AccessSpecializer into one pass before CodeGenerator instead of iterative applications from CodeGenerator
lagergren
parents:
16152
diff
changeset
|
41 |
be split into several classes in order not to run out of bytecode space. |
f0c208287983
8005976: Break out AccessSpecializer into one pass before CodeGenerator instead of iterative applications from CodeGenerator
lagergren
parents:
16152
diff
changeset
|
42 |
The default value is 0x8000 (32768). |
f0c208287983
8005976: Break out AccessSpecializer into one pass before CodeGenerator instead of iterative applications from CodeGenerator
lagergren
parents:
16152
diff
changeset
|
43 |
|
f0c208287983
8005976: Break out AccessSpecializer into one pass before CodeGenerator instead of iterative applications from CodeGenerator
lagergren
parents:
16152
diff
changeset
|
44 |
|
16227
1bafb74d17b2
8007956: Wrong or obsolete system properties in docs/DEVELOPER_README
hannesw
parents:
16201
diff
changeset
|
45 |
SYSTEM PROPERTY: -Dnashorn.compiler.intarithmetic |
16147 | 46 |
|
19632
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
47 |
(and integer arithmetic in general) |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
48 |
|
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
49 |
<currently disabled - this is being refactored for update releases> |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
50 |
|
16147 | 51 |
Arithmetic operations in Nashorn (except bitwise ones) typically |
52 |
coerce the operands to doubles (as per the JavaScript spec). To switch |
|
53 |
this off and remain in integer mode, for example for "var x = a&b; var |
|
54 |
y = c&d; var z = x*y;", use this flag. This will force the |
|
55 |
multiplication of variables that are ints to be done with the IMUL |
|
56 |
bytecode and the result "z" to become an int. |
|
57 |
||
58 |
WARNING: Note that is is experimental only to ensure that type support |
|
59 |
exists for all primitive types. The generated code is unsound. This |
|
60 |
will be the case until we do optimizations based on it. There is a CR |
|
61 |
in Nashorn to do better range analysis, and ensure that this is only |
|
62 |
done where the operation can't overflow into a wider type. Currently |
|
63 |
no overflow checking is done, so at the moment, until range analysis |
|
64 |
has been completed, this option is turned off. |
|
65 |
||
66 |
We've experimented by using int arithmetic for everything and putting |
|
67 |
overflow checks afterwards, which would recompute the operation with |
|
68 |
the correct precision, but have yet to find a configuration where this |
|
69 |
is faster than just using doubles directly, even if the int operation |
|
70 |
does not overflow. Getting access to a JVM intrinsic that does branch |
|
71 |
on overflow would probably alleviate this. |
|
72 |
||
19632
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
73 |
The future: |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
74 |
|
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
75 |
We are transitioning to an optimistic type system that uses int |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
76 |
arithmetic everywhere until proven wrong. The problem here is mostly |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
77 |
catch an overflow exception and rolling back the state to a new method |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
78 |
with less optimistic assumptions for an operation at a particular |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
79 |
program point. This will most likely not be in the Java 8.0 release |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
80 |
but likely end up in an update release |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
81 |
|
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
82 |
For Java 8, several java.lang.Math methods like addExact, subExact and |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
83 |
mulExact are available to help us. Experiments intrinsifying these |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
84 |
show a lot of promise, and we have devised a system that basically |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
85 |
does on stack replacement with exceptions in bytecode to revert |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
86 |
erroneous assumptions. An explanation of how this works and what we |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
87 |
are doing can be found here: |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
88 |
http://www.slideshare.net/lagergren/lagergren-jvmls2013final |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
89 |
|
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
90 |
Experiments with this show significant ~x2-3 performance increases on |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
91 |
pretty much everything, provided that optimistic assumptions don't |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
92 |
fail much. It will affect warmup time negatively, depending on how |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
93 |
many erroneous too optimistic assumptions are placed in the code at |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
94 |
compile time. We don't think this will be much of an issue. |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
95 |
|
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
96 |
For example for a small benchmark that repeatedly executes this |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
97 |
method taken from the Crypto Octane benchmark |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
98 |
|
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
99 |
function am3(i,x,w,j,c,n) { |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
100 |
var this_array = this.array; |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
101 |
var w_array = w.array; |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
102 |
var xl = x&0x3fff, xh = x>>14; |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
103 |
while(--n >= 0) { |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
104 |
var l = this_array[i]&0x3fff; |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
105 |
var h = this_array[i++]>>14; |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
106 |
var m = xh*l+h*xl; |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
107 |
l = xl*l+((m&0x3fff)<<14)+w_array[j]+c; |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
108 |
c = (l>>28)+(m>>14)+xh*h; |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
109 |
w_array[j++] = l&0xfffffff; |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
110 |
} |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
111 |
|
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
112 |
return c; |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
113 |
} |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
114 |
|
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
115 |
The performance increase more than doubles. We are also working hard |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
116 |
with the code generation team in the Java Virtual Machine to fix |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
117 |
things that are lacking in invokedynamic performance, which is another |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
118 |
area where a lot of ongoing performance work takes place |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
119 |
|
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
120 |
"Pessimistic" bytecode for am3, guaranteed to be semantically correct: |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
121 |
|
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
122 |
// access flags 0x9 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
123 |
public static am3(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
124 |
L0 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
125 |
LINENUMBER 12 L0 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
126 |
ALOAD 0 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
127 |
INVOKEDYNAMIC dyn:getProp|getElem|getMethod:array(Ljava/lang/Object;)Ljava/lang/Object; [ |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
128 |
// handle kind 0x6 : INVOKESTATIC |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
129 |
jdk/nashorn/internal/runtime/linker/Bootstrap.bootstrap((Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;I)Ljava/lang/invoke/CallSite;) |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
130 |
// arguments: |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
131 |
0 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
132 |
] |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
133 |
ASTORE 8 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
134 |
L1 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
135 |
LINENUMBER 13 L1 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
136 |
ALOAD 3 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
137 |
INVOKEDYNAMIC dyn:getProp|getElem|getMethod:array(Ljava/lang/Object;)Ljava/lang/Object; [ |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
138 |
// handle kind 0x6 : INVOKESTATIC |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
139 |
jdk/nashorn/internal/runtime/linker/Bootstrap.bootstrap((Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;I)Ljava/lang/invoke/CallSite;) |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
140 |
// arguments: |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
141 |
0 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
142 |
] |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
143 |
ASTORE 9 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
144 |
L2 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
145 |
LINENUMBER 14 L2 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
146 |
ALOAD 2 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
147 |
INVOKESTATIC jdk/nashorn/internal/runtime/JSType.toInt32 (Ljava/lang/Object;)I |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
148 |
SIPUSH 16383 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
149 |
IAND |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
150 |
ISTORE 10 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
151 |
ALOAD 2 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
152 |
INVOKESTATIC jdk/nashorn/internal/runtime/JSType.toInt32 (Ljava/lang/Object;)I |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
153 |
BIPUSH 14 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
154 |
ISHR |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
155 |
ISTORE 11 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
156 |
L3 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
157 |
LINENUMBER 15 L3 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
158 |
GOTO L4 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
159 |
L5 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
160 |
LINENUMBER 16 L5 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
161 |
FRAME FULL [java/lang/Object java/lang/Object java/lang/Object java/lang/Object java/lang/Object java/lang/Object java/lang/Double T java/lang/Object java/lang/Object I I] [] |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
162 |
ALOAD 8 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
163 |
ALOAD 1 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
164 |
INVOKEDYNAMIC dyn:getElem|getProp|getMethod(Ljava/lang/Object;Ljava/lang/Object;)I [ |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
165 |
// handle kind 0x6 : INVOKESTATIC |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
166 |
jdk/nashorn/internal/runtime/linker/Bootstrap.bootstrap((Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;I)Ljava/lang/invoke/CallSite;) |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
167 |
// arguments: |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
168 |
0 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
169 |
] |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
170 |
SIPUSH 16383 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
171 |
IAND |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
172 |
INVOKESTATIC java/lang/Integer.valueOf (I)Ljava/lang/Integer; |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
173 |
ASTORE 12 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
174 |
L6 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
175 |
LINENUMBER 17 L6 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
176 |
ALOAD 8 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
177 |
ALOAD 1 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
178 |
INVOKESTATIC jdk/nashorn/internal/runtime/JSType.toNumber (Ljava/lang/Object;)D |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
179 |
DUP2 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
180 |
DCONST_1 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
181 |
DADD |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
182 |
INVOKESTATIC java/lang/Double.valueOf (D)Ljava/lang/Double; |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
183 |
ASTORE 1 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
184 |
INVOKEDYNAMIC dyn:getElem|getProp|getMethod(Ljava/lang/Object;D)I [ |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
185 |
// handle kind 0x6 : INVOKESTATIC |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
186 |
jdk/nashorn/internal/runtime/linker/Bootstrap.bootstrap((Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;I)Ljava/lang/invoke/CallSite;) |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
187 |
// arguments: |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
188 |
0 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
189 |
] |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
190 |
BIPUSH 14 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
191 |
ISHR |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
192 |
ISTORE 13 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
193 |
L7 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
194 |
LINENUMBER 18 L7 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
195 |
ILOAD 11 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
196 |
I2D |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
197 |
ALOAD 12 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
198 |
INVOKESTATIC jdk/nashorn/internal/runtime/JSType.toNumber (Ljava/lang/Object;)D |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
199 |
DMUL |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
200 |
ILOAD 13 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
201 |
I2D |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
202 |
ILOAD 10 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
203 |
I2D |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
204 |
DMUL |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
205 |
DADD |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
206 |
DSTORE 14 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
207 |
L8 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
208 |
LINENUMBER 19 L8 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
209 |
ILOAD 10 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
210 |
I2D |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
211 |
ALOAD 12 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
212 |
INVOKESTATIC jdk/nashorn/internal/runtime/JSType.toNumber (Ljava/lang/Object;)D |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
213 |
DMUL |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
214 |
DLOAD 14 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
215 |
INVOKESTATIC jdk/nashorn/internal/runtime/JSType.toInt32 (D)I |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
216 |
SIPUSH 16383 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
217 |
IAND |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
218 |
BIPUSH 14 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
219 |
ISHL |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
220 |
I2D |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
221 |
DADD |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
222 |
ALOAD 9 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
223 |
ALOAD 4 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
224 |
INVOKEDYNAMIC dyn:getElem|getProp|getMethod(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; [ |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
225 |
// handle kind 0x6 : INVOKESTATIC |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
226 |
jdk/nashorn/internal/runtime/linker/Bootstrap.bootstrap((Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;I)Ljava/lang/invoke/CallSite;) |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
227 |
// arguments: |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
228 |
0 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
229 |
] |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
230 |
INVOKEDYNAMIC ADD:ODO_D(DLjava/lang/Object;)Ljava/lang/Object; [ |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
231 |
// handle kind 0x6 : INVOKESTATIC |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
232 |
jdk/nashorn/internal/runtime/linker/Bootstrap.runtimeBootstrap((Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;) |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
233 |
// arguments: none |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
234 |
] |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
235 |
ALOAD 5 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
236 |
INVOKEDYNAMIC ADD:OOO_I(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; [ |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
237 |
// handle kind 0x6 : INVOKESTATIC |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
238 |
jdk/nashorn/internal/runtime/linker/Bootstrap.runtimeBootstrap((Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;) |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
239 |
// arguments: none |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
240 |
] |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
241 |
ASTORE 12 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
242 |
L9 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
243 |
LINENUMBER 20 L9 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
244 |
ALOAD 12 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
245 |
INVOKESTATIC jdk/nashorn/internal/runtime/JSType.toInt32 (Ljava/lang/Object;)I |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
246 |
BIPUSH 28 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
247 |
ISHR |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
248 |
I2D |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
249 |
DLOAD 14 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
250 |
INVOKESTATIC jdk/nashorn/internal/runtime/JSType.toInt32 (D)I |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
251 |
BIPUSH 14 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
252 |
ISHR |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
253 |
I2D |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
254 |
DADD |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
255 |
ILOAD 11 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
256 |
I2D |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
257 |
ILOAD 13 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
258 |
I2D |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
259 |
DMUL |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
260 |
DADD |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
261 |
INVOKESTATIC java/lang/Double.valueOf (D)Ljava/lang/Double; |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
262 |
ASTORE 5 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
263 |
L10 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
264 |
LINENUMBER 21 L10 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
265 |
ALOAD 9 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
266 |
ALOAD 4 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
267 |
INVOKESTATIC jdk/nashorn/internal/runtime/JSType.toNumber (Ljava/lang/Object;)D |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
268 |
DUP2 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
269 |
DCONST_1 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
270 |
DADD |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
271 |
INVOKESTATIC java/lang/Double.valueOf (D)Ljava/lang/Double; |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
272 |
ASTORE 4 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
273 |
ALOAD 12 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
274 |
INVOKESTATIC jdk/nashorn/internal/runtime/JSType.toInt32 (Ljava/lang/Object;)I |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
275 |
LDC 268435455 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
276 |
IAND |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
277 |
INVOKEDYNAMIC dyn:setElem|setProp(Ljava/lang/Object;DI)V [ |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
278 |
// handle kind 0x6 : INVOKESTATIC |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
279 |
jdk/nashorn/internal/runtime/linker/Bootstrap.bootstrap((Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;I)Ljava/lang/invoke/CallSite;) |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
280 |
// arguments: |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
281 |
0 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
282 |
] |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
283 |
L4 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
284 |
FRAME FULL [java/lang/Object java/lang/Object java/lang/Object java/lang/Object java/lang/Object java/lang/Object java/lang/Object T java/lang/Object java/lang/Object I I] [] |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
285 |
ALOAD 6 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
286 |
INVOKESTATIC jdk/nashorn/internal/runtime/JSType.toNumber (Ljava/lang/Object;)D |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
287 |
LDC -1.0 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
288 |
DADD |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
289 |
DUP2 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
290 |
INVOKESTATIC java/lang/Double.valueOf (D)Ljava/lang/Double; |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
291 |
ASTORE 6 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
292 |
DCONST_0 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
293 |
DCMPL |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
294 |
IFGE L5 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
295 |
L11 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
296 |
LINENUMBER 24 L11 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
297 |
ALOAD 5 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
298 |
ARETURN |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
299 |
|
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
300 |
"Optimistic" bytecode that requires invalidation on e.g overflow. Factor |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
301 |
x2-3 speedup: |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
302 |
|
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
303 |
public static am3(Ljava/lang/Object;IILjava/lang/Object;III)I |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
304 |
L0 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
305 |
LINENUMBER 12 L0 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
306 |
ALOAD 0 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
307 |
INVOKEDYNAMIC dyn:getProp|getElem|getMethod:array(Ljava/lang/Object;)Ljava/lang/Object; [ |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
308 |
// handle kind 0x6 : INVOKESTATIC |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
309 |
jdk/nashorn/internal/runtime/linker/Bootstrap.bootstrap((Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;I)Ljava/lang/invoke/CallSite;) |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
310 |
// arguments: |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
311 |
0 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
312 |
] |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
313 |
ASTORE 8 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
314 |
L1 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
315 |
LINENUMBER 13 L1 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
316 |
ALOAD 3 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
317 |
INVOKEDYNAMIC dyn:getProp|getElem|getMethod:array(Ljava/lang/Object;)Ljava/lang/Object; [ |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
318 |
// handle kind 0x6 : INVOKESTATIC |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
319 |
jdk/nashorn/internal/runtime/linker/Bootstrap.bootstrap((Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;I)Ljava/lang/invoke/CallSite;) |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
320 |
// arguments: |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
321 |
0 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
322 |
] |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
323 |
ASTORE 9 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
324 |
L2 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
325 |
LINENUMBER 14 L2 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
326 |
ILOAD 2 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
327 |
SIPUSH 16383 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
328 |
IAND |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
329 |
ISTORE 10 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
330 |
ILOAD 2 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
331 |
BIPUSH 14 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
332 |
ISHR |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
333 |
ISTORE 11 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
334 |
L3 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
335 |
LINENUMBER 15 L3 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
336 |
GOTO L4 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
337 |
L5 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
338 |
LINENUMBER 16 L5 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
339 |
FRAME FULL [java/lang/Object I I java/lang/Object I I I T java/lang/Object java/lang/Object I I] [] |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
340 |
ALOAD 8 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
341 |
ILOAD 1 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
342 |
INVOKEDYNAMIC dyn:getElem|getProp|getMethod(Ljava/lang/Object;I)I [ |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
343 |
// handle kind 0x6 : INVOKESTATIC |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
344 |
jdk/nashorn/internal/runtime/linker/Bootstrap.bootstrap((Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;I)Ljava/lang/invoke/CallSite;) |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
345 |
// arguments: |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
346 |
0 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
347 |
] |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
348 |
SIPUSH 16383 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
349 |
IAND |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
350 |
ISTORE 12 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
351 |
L6 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
352 |
LINENUMBER 17 L6 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
353 |
ALOAD 8 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
354 |
ILOAD 1 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
355 |
DUP |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
356 |
ICONST_1 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
357 |
IADD |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
358 |
ISTORE 1 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
359 |
INVOKEDYNAMIC dyn:getElem|getProp|getMethod(Ljava/lang/Object;I)I [ |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
360 |
// handle kind 0x6 : INVOKESTATIC |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
361 |
jdk/nashorn/internal/runtime/linker/Bootstrap.bootstrap((Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;I)Ljava/lang/invoke/CallSite;) |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
362 |
// arguments: |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
363 |
0 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
364 |
] |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
365 |
BIPUSH 14 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
366 |
ISHR |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
367 |
ISTORE 13 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
368 |
L7 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
369 |
LINENUMBER 18 L7 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
370 |
ILOAD 11 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
371 |
ILOAD 12 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
372 |
BIPUSH 8 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
373 |
INVOKESTATIC jdk/nashorn/internal/runtime/JSType.mulExact (III)I |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
374 |
ILOAD 13 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
375 |
ILOAD 10 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
376 |
BIPUSH 9 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
377 |
INVOKESTATIC jdk/nashorn/internal/runtime/JSType.mulExact (III)I |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
378 |
IADD |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
379 |
ISTORE 14 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
380 |
L8 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
381 |
LINENUMBER 19 L8 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
382 |
ILOAD 10 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
383 |
ILOAD 12 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
384 |
BIPUSH 11 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
385 |
INVOKESTATIC jdk/nashorn/internal/runtime/JSType.mulExact (III)I |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
386 |
ILOAD 14 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
387 |
SIPUSH 16383 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
388 |
IAND |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
389 |
BIPUSH 14 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
390 |
ISHL |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
391 |
IADD |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
392 |
ALOAD 9 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
393 |
ILOAD 4 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
394 |
INVOKEDYNAMIC dyn:getElem|getProp|getMethod(Ljava/lang/Object;I)I [ |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
395 |
// handle kind 0x6 : INVOKESTATIC |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
396 |
jdk/nashorn/internal/runtime/linker/Bootstrap.bootstrap((Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;I)Ljava/lang/invoke/CallSite;) |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
397 |
// arguments: |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
398 |
0 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
399 |
] |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
400 |
IADD |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
401 |
ILOAD 5 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
402 |
IADD |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
403 |
ISTORE 12 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
404 |
L9 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
405 |
LINENUMBER 20 L9 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
406 |
ILOAD 12 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
407 |
BIPUSH 28 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
408 |
ISHR |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
409 |
ILOAD 14 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
410 |
BIPUSH 14 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
411 |
ISHR |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
412 |
IADD |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
413 |
ILOAD 11 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
414 |
ILOAD 13 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
415 |
BIPUSH 21 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
416 |
INVOKESTATIC jdk/nashorn/internal/runtime/JSType.mulExact (III)I |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
417 |
IADD |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
418 |
ISTORE 5 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
419 |
L10 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
420 |
LINENUMBER 21 L10 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
421 |
ALOAD 9 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
422 |
ILOAD 4 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
423 |
DUP |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
424 |
ICONST_1 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
425 |
IADD |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
426 |
ISTORE 4 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
427 |
ILOAD 12 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
428 |
LDC 268435455 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
429 |
IAND |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
430 |
INVOKEDYNAMIC dyn:setElem|setProp(Ljava/lang/Object;II)V [ |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
431 |
// handle kind 0x6 : INVOKESTATIC |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
432 |
jdk/nashorn/internal/runtime/linker/Bootstrap.bootstrap((Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;I)Ljava/lang/invoke/CallSite;) |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
433 |
// arguments: |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
434 |
0 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
435 |
] |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
436 |
L4 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
437 |
FRAME SAME |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
438 |
ILOAD 6 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
439 |
ICONST_M1 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
440 |
IADD |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
441 |
DUP |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
442 |
ISTORE 6 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
443 |
ICONST_0 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
444 |
IF_ICMPGE L5 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
445 |
L11 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
446 |
LINENUMBER 24 L11 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
447 |
ILOAD 5 |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
448 |
IRETURN |
16147 | 449 |
|
450 |
||
451 |
SYSTEM PROPERTY: -Dnashorn.codegen.debug, -Dnashorn.codegen.debug.trace=<x> |
|
452 |
||
453 |
See the description of the codegen logger below. |
|
454 |
||
455 |
||
456 |
SYSTEM_PROPERTY: -Dnashorn.fields.debug |
|
457 |
||
458 |
See the description on the fields logger below. |
|
459 |
||
460 |
||
461 |
SYSTEM PROPERTY: -Dnashorn.fields.dual |
|
462 |
||
463 |
When this property is true, Nashorn will attempt to use primitive |
|
464 |
fields for AccessorProperties (currently just AccessorProperties, not |
|
465 |
spill properties). Memory footprint for script objects will increase, |
|
466 |
as we need to maintain both a primitive field (a long) as well as an |
|
467 |
Object field for the property value. Ints are represented as the 32 |
|
468 |
low bits of the long fields. Doubles are represented as the |
|
469 |
doubleToLongBits of their value. This way a single field can be used |
|
470 |
for all primitive types. Packing and unpacking doubles to their bit |
|
471 |
representation is intrinsified by the JVM and extremely fast. |
|
472 |
||
473 |
While dual fields in theory runs significantly faster than Object |
|
474 |
fields due to reduction of boxing and memory allocation overhead, |
|
475 |
there is still work to be done to make this a general purpose |
|
476 |
solution. Research is ongoing. |
|
477 |
||
478 |
In the future, this might complement or be replaced by experimental |
|
479 |
feature sun.misc.TaggedArray, which has been discussed on the mlvm |
|
480 |
mailing list. TaggedArrays are basically a way to share data space |
|
481 |
between primitives and references, and have the GC understand this. |
|
482 |
||
483 |
As long as only primitive values are written to the fields and enough |
|
484 |
type information exists to make sure that any reads don't have to be |
|
485 |
uselessly boxed and unboxed, this is significantly faster than the |
|
486 |
standard "Objects only" approach that currently is the default. See |
|
487 |
test/examples/dual-fields-micro.js for an example that runs twice as |
|
488 |
fast with dual fields as without them. Here, the compiler, can |
|
489 |
determine that we are dealing with numbers only throughout the entire |
|
490 |
property life span of the properties involved. |
|
491 |
||
492 |
If a "real" object (not a boxed primitive) is written to a field that |
|
493 |
has a primitive representation, its callsite is relinked and an Object |
|
494 |
field is used forevermore for that particular field in that |
|
495 |
PropertyMap and its children, even if primitives are later assigned to |
|
496 |
it. |
|
497 |
||
498 |
As the amount of compile time type information is very small in a |
|
499 |
dynamic language like JavaScript, it is frequently the case that |
|
500 |
something has to be treated as an object, because we don't know any |
|
501 |
better. In reality though, it is often a boxed primitive is stored to |
|
502 |
an AccessorProperty. The fastest way to handle this soundly is to use |
|
503 |
a callsite typecheck and avoid blowing the field up to an Object. We |
|
504 |
never revert object fields to primitives. Ping-pong:ing back and forth |
|
505 |
between primitive representation and Object representation would cause |
|
506 |
fatal performance overhead, so this is not an option. |
|
507 |
||
508 |
For a general application the dual fields approach is still slower |
|
509 |
than objects only fields in some places, about the same in most cases, |
|
510 |
and significantly faster in very few. This is due the program using |
|
511 |
primitives, but we still can't prove it. For example "local_var a = |
|
512 |
call(); field = a;" may very well write a double to the field, but the |
|
513 |
compiler dare not guess a double type if field is a local variable, |
|
514 |
due to bytecode variables being strongly typed and later non |
|
515 |
interchangeable. To get around this, the entire method would have to |
|
516 |
be replaced and a continuation retained to restart from. We believe |
|
517 |
that the next steps we should go through are instead: |
|
518 |
||
519 |
1) Implement method specialization based on callsite, as it's quite |
|
520 |
frequently the case that numbers are passed around, but currently our |
|
521 |
function nodes just have object types visible to the compiler. For |
|
522 |
example "var b = 17; func(a,b,17)" is an example where two parameters |
|
523 |
can be specialized, but the main version of func might also be called |
|
524 |
from another callsite with func(x,y,"string"). |
|
525 |
||
526 |
2) This requires lazy jitting as the functions have to be specialized |
|
527 |
per callsite. |
|
528 |
||
529 |
Even though "function square(x) { return x*x }" might look like a |
|
530 |
trivial function that can always only take doubles, this is not |
|
531 |
true. Someone might have overridden the valueOf for x so that the |
|
532 |
toNumber coercion has side effects. To fulfil JavaScript semantics, |
|
533 |
the coercion has to run twice for both terms of the multiplication |
|
534 |
even if they are the same object. This means that call site |
|
535 |
specialization is necessary, not parameter specialization on the form |
|
536 |
"function square(x) { var xd = (double)x; return xd*xd; }", as one |
|
537 |
might first think. |
|
538 |
||
539 |
Generating a method specialization for any variant of a function that |
|
540 |
we can determine by types at compile time is a combinatorial explosion |
|
541 |
of byte code (try it e.g. on all the variants of am3 in the Octane |
|
542 |
benchmark crypto.js). Thus, this needs to be lazy |
|
543 |
||
19632
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
544 |
3) Optimistic callsite writes, something on the form |
16147 | 545 |
|
546 |
x = y; //x is a field known to be a primitive. y is only an object as |
|
547 |
far as we can tell |
|
548 |
||
549 |
turns into |
|
550 |
||
551 |
try { |
|
552 |
x = (int)y; |
|
553 |
} catch (X is not an integer field right now | ClassCastException e) { |
|
554 |
x = y; |
|
555 |
} |
|
556 |
||
557 |
Mini POC shows that this is the key to a lot of dual field performance |
|
558 |
in seemingly trivial micros where one unknown object, in reality |
|
559 |
actually a primitive, foils it for us. Very common pattern. Once we |
|
560 |
are "all primitives", dual fields runs a lot faster than Object fields |
|
561 |
only. |
|
562 |
||
563 |
We still have to deal with objects vs primitives for local bytecode |
|
564 |
slots, possibly through code copying and versioning. |
|
565 |
||
19632
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
566 |
The Future: |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
567 |
|
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
568 |
We expect the usefulness of dual fields to increase significantly |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
569 |
after the optimistic type system described in the section on |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
570 |
integer arithmetic above is implemented. |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
571 |
|
16147 | 572 |
|
16201
889ddb179cdf
8007062: Split Lower up into Lower/Attr/FinalizeTypes. Integrate AccessSpecalizer into FinalizeTypes.
lagergren
parents:
16168
diff
changeset
|
573 |
SYSTEM PROPERTY: -Dnashorn.compiler.symbol.trace=[<x>[,*]], |
889ddb179cdf
8007062: Split Lower up into Lower/Attr/FinalizeTypes. Integrate AccessSpecalizer into FinalizeTypes.
lagergren
parents:
16168
diff
changeset
|
574 |
-Dnashorn.compiler.symbol.stacktrace=[<x>[,*]] |
16147 | 575 |
|
576 |
When this property is set, creation and manipulation of any symbol |
|
577 |
named "x" will show information about when the compiler changes its |
|
578 |
type assumption, bytecode local variable slot assignment and other |
|
579 |
data. This is useful if, for example, a symbol shows up as an Object, |
|
580 |
when you believe it should be a primitive. Usually there is an |
|
581 |
explanation for this, for example that it exists in the global scope |
|
16201
889ddb179cdf
8007062: Split Lower up into Lower/Attr/FinalizeTypes. Integrate AccessSpecalizer into FinalizeTypes.
lagergren
parents:
16168
diff
changeset
|
582 |
and type analysis has to be more conservative. |
889ddb179cdf
8007062: Split Lower up into Lower/Attr/FinalizeTypes. Integrate AccessSpecalizer into FinalizeTypes.
lagergren
parents:
16168
diff
changeset
|
583 |
|
889ddb179cdf
8007062: Split Lower up into Lower/Attr/FinalizeTypes. Integrate AccessSpecalizer into FinalizeTypes.
lagergren
parents:
16168
diff
changeset
|
584 |
Several symbols names to watch can be specified by comma separation. |
889ddb179cdf
8007062: Split Lower up into Lower/Attr/FinalizeTypes. Integrate AccessSpecalizer into FinalizeTypes.
lagergren
parents:
16168
diff
changeset
|
585 |
|
889ddb179cdf
8007062: Split Lower up into Lower/Attr/FinalizeTypes. Integrate AccessSpecalizer into FinalizeTypes.
lagergren
parents:
16168
diff
changeset
|
586 |
If no variable name is specified (and no equals sign), all symbols |
889ddb179cdf
8007062: Split Lower up into Lower/Attr/FinalizeTypes. Integrate AccessSpecalizer into FinalizeTypes.
lagergren
parents:
16168
diff
changeset
|
587 |
will be watched |
889ddb179cdf
8007062: Split Lower up into Lower/Attr/FinalizeTypes. Integrate AccessSpecalizer into FinalizeTypes.
lagergren
parents:
16168
diff
changeset
|
588 |
|
889ddb179cdf
8007062: Split Lower up into Lower/Attr/FinalizeTypes. Integrate AccessSpecalizer into FinalizeTypes.
lagergren
parents:
16168
diff
changeset
|
589 |
By using "stacktrace" instead of or together with "trace", stack |
889ddb179cdf
8007062: Split Lower up into Lower/Attr/FinalizeTypes. Integrate AccessSpecalizer into FinalizeTypes.
lagergren
parents:
16168
diff
changeset
|
590 |
traces will be displayed upon symbol changes according to the same |
889ddb179cdf
8007062: Split Lower up into Lower/Attr/FinalizeTypes. Integrate AccessSpecalizer into FinalizeTypes.
lagergren
parents:
16168
diff
changeset
|
591 |
semantics. |
16147 | 592 |
|
593 |
||
19632
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
594 |
SYSTEM PROPERTY: -Dnashorn.lexer.xmlliterals |
16147 | 595 |
|
596 |
If this property it set, it means that the Lexer should attempt to |
|
597 |
parse XML literals, which would otherwise generate syntax |
|
598 |
errors. Warning: there are currently no unit tests for this |
|
599 |
functionality. |
|
600 |
||
601 |
XML literals, when this is enabled, end up as standard LiteralNodes in |
|
602 |
the IR. |
|
603 |
||
604 |
||
19632
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
605 |
SYSTEM_PROPERTY: -Dnashorn.debug |
16147 | 606 |
|
607 |
If this property is set to true, Nashorn runs in Debug mode. Debug |
|
608 |
mode is slightly slower, as for example statistics counters are enabled |
|
609 |
during the run. Debug mode makes available a NativeDebug instance |
|
610 |
called "Debug" in the global space that can be used to print property |
|
611 |
maps and layout for script objects, as well as a "dumpCounters" method |
|
612 |
that will print the current values of the previously mentioned stats |
|
613 |
counters. |
|
614 |
||
615 |
These functions currently exists for Debug: |
|
616 |
||
617 |
"map" - print(Debug.map(x)) will dump the PropertyMap for object x to |
|
618 |
stdout (currently there also exist functions called "embedX", where X |
|
619 |
is a value from 0 to 3, that will dump the contents of the embed pool |
|
620 |
for the first spill properties in any script object and "spill", that |
|
621 |
will dump the contents of the growing spill pool of spill properties |
|
622 |
in any script object. This is of course subject to change without |
|
623 |
notice, should we change the script object layout. |
|
624 |
||
625 |
"methodHandle" - this method returns the method handle that is used |
|
626 |
for invoking a particular script function. |
|
627 |
||
628 |
"identical" - this method compares two script objects for reference |
|
629 |
equality. It is a == Java comparison |
|
630 |
||
631 |
"dumpCounters" - will dump the debug counters' current values to |
|
632 |
stdout. |
|
633 |
||
634 |
Currently we count number of ScriptObjects in the system, number of |
|
635 |
Scope objects in the system, number of ScriptObject listeners added, |
|
636 |
removed and dead (without references). |
|
637 |
||
638 |
We also count number of ScriptFunctions, ScriptFunction invocations |
|
639 |
and ScriptFunction allocations. |
|
640 |
||
641 |
Furthermore we count PropertyMap statistics: how many property maps |
|
642 |
exist, how many times were property maps cloned, how many times did |
|
643 |
the property map history cache hit, prevent new allocations, how many |
|
644 |
prototype invalidations were done, how many time the property map |
|
645 |
proto cache hit. |
|
646 |
||
647 |
Finally we count callsite misses on a per callsite bases, which occur |
|
648 |
when a callsite has to be relinked, due to a previous assumption of |
|
649 |
object layout being invalidated. |
|
650 |
||
651 |
||
19632
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
652 |
SYSTEM PROPERTY: -Dnashorn.methodhandles.debug, |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
653 |
-Dnashorn.methodhandles.debug=create |
16147 | 654 |
|
655 |
If this property is enabled, each MethodHandle related call that uses |
|
656 |
the java.lang.invoke package gets its MethodHandle intercepted and an |
|
657 |
instrumentation printout of arguments and return value appended to |
|
658 |
it. This shows exactly which method handles are executed and from |
|
659 |
where. (Also MethodTypes and SwitchPoints). This can be augmented with |
|
660 |
more information, for example, instance count, by subclassing or |
|
661 |
further extending the TraceMethodHandleFactory implementation in |
|
662 |
MethodHandleFactory.java. |
|
663 |
||
664 |
If the property is specialized with "=create" as its option, |
|
665 |
instrumentation will be shown for method handles upon creation time |
|
666 |
rather than at runtime usage. |
|
667 |
||
668 |
||
19632
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
669 |
SYSTEM PROPERTY: -Dnashorn.methodhandles.debug.stacktrace |
16147 | 670 |
|
671 |
This does the same as nashorn.methodhandles.debug, but when enabled |
|
672 |
also dumps the stack trace for every instrumented method handle |
|
673 |
operation. Warning: This is enormously verbose, but provides a pretty |
|
674 |
decent "grep:able" picture of where the calls are coming from. |
|
675 |
||
676 |
See the description of the codegen logger below for a more verbose |
|
677 |
description of this option |
|
678 |
||
679 |
||
19632
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
680 |
SYSTEM PROPERTY: -Dnashorn.scriptfunction.specialization.disable |
16147 | 681 |
|
682 |
There are several "fast path" implementations of constructors and |
|
683 |
functions in the NativeObject classes that, in their original form, |
|
684 |
take a variable amount of arguments. Said functions are also declared |
|
685 |
to take Object parameters in their original form, as this is what the |
|
686 |
JavaScript specification mandates. |
|
687 |
However, we often know quite a lot more at a callsite of one of these |
|
688 |
functions. For example, Math.min is called with a fixed number (2) of |
|
689 |
integer arguments. The overhead of boxing these ints to Objects and |
|
690 |
folding them into an Object array for the generic varargs Math.min |
|
691 |
function is an order of magnitude slower than calling a specialized |
|
692 |
implementation of Math.min that takes two integers. Specialized |
|
693 |
functions and constructors are identified by the tag |
|
694 |
@SpecializedFunction and @SpecializedConstructor in the Nashorn |
|
695 |
code. The linker will link in the most appropriate (narrowest types, |
|
696 |
right number of types and least number of arguments) specialization if |
|
697 |
specializations are available. |
|
698 |
||
699 |
Every ScriptFunction may carry specializations that the linker can |
|
700 |
choose from. This framework will likely be extended for user defined |
|
701 |
functions. The compiler can often infer enough parameter type info |
|
702 |
from callsites for in order to generate simpler versions with less |
|
703 |
generic Object types. This feature depends on future lazy jitting, as |
|
704 |
there tend to be many calls to user defined functions, some where the |
|
705 |
callsite can be specialized, some where we mostly see object |
|
706 |
parameters even at the callsite. |
|
707 |
||
708 |
If this system property is set to true, the linker will not attempt to |
|
709 |
use any specialized function or constructor for native objects, but |
|
710 |
just call the generic one. |
|
711 |
||
712 |
||
19632
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
713 |
SYSTEM PROPERTY: -Dnashorn.tcs.miss.samplePercent=<x> |
16147 | 714 |
|
715 |
When running with the trace callsite option (-tcs), Nashorn will count |
|
716 |
and instrument any callsite misses that require relinking. As the |
|
717 |
number of relinks is large and usually produces a lot of output, this |
|
718 |
system property can be used to constrain the percentage of misses that |
|
719 |
should be logged. Typically this is set to 1 or 5 (percent). 1% is the |
|
720 |
default value. |
|
721 |
||
722 |
||
19632
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
723 |
SYSTEM_PROPERTY: -Dnashorn.profilefile=<filename> |
16147 | 724 |
|
725 |
When running with the profile callsite options (-pcs), Nashorn will |
|
726 |
dump profiling data for all callsites to stderr as a shutdown hook. To |
|
727 |
instead redirect this to a file, specify the path to the file using |
|
728 |
this system property. |
|
729 |
||
730 |
||
19632
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
731 |
SYSTEM_PROPERTY: -Dnashorn.regexp.impl=[jdk|joni] |
16259
bb504280c322
8006028: Integrate Joni regexp engine with Nashorn
hannesw
parents:
16227
diff
changeset
|
732 |
|
bb504280c322
8006028: Integrate Joni regexp engine with Nashorn
hannesw
parents:
16227
diff
changeset
|
733 |
This property defines the regular expression engine to be used by |
19632
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
734 |
Nashorn. Set this flag to "jdk" to get an implementation based on the |
16259
bb504280c322
8006028: Integrate Joni regexp engine with Nashorn
hannesw
parents:
16227
diff
changeset
|
735 |
JDK's java.util.regex package. Set this property to "joni" to install |
bb504280c322
8006028: Integrate Joni regexp engine with Nashorn
hannesw
parents:
16227
diff
changeset
|
736 |
an implementation based on Joni, the regular expression engine used by |
19632
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
737 |
the JRuby project. The default value for this flag is "joni" |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
738 |
|
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
739 |
|
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
740 |
SYSTEM PROPERTY: -Dnashorn.time |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
741 |
|
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
742 |
This enables timers for various phases of script compilation. The timers |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
743 |
will be dumped when the Nashorn process exits. We see a percentage value |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
744 |
of how much time was spent not executing bytecode (i.e. compilation and |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
745 |
internal tasks) at the end of the report. |
16259
bb504280c322
8006028: Integrate Joni regexp engine with Nashorn
hannesw
parents:
16227
diff
changeset
|
746 |
|
19632
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
747 |
Here is an example: |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
748 |
|
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
749 |
[JavaScript Parsing] 61 ms |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
750 |
[Constant Folding] 11 ms |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
751 |
[Control Flow Lowering] 26 ms |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
752 |
[Type Attribution] 81 ms |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
753 |
[Range Analysis] 0 ms |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
754 |
[Code Splitting] 29 ms |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
755 |
[Type Finalization] 19 ms |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
756 |
[Bytecode Generation] 189 ms |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
757 |
[Code Installation] 7 ms |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
758 |
Total runtime: 508 ms (Non-runtime: 423 ms [83%]) |
16259
bb504280c322
8006028: Integrate Joni regexp engine with Nashorn
hannesw
parents:
16227
diff
changeset
|
759 |
|
16147 | 760 |
=============== |
761 |
2. The loggers. |
|
762 |
=============== |
|
763 |
||
16201
889ddb179cdf
8007062: Split Lower up into Lower/Attr/FinalizeTypes. Integrate AccessSpecalizer into FinalizeTypes.
lagergren
parents:
16168
diff
changeset
|
764 |
It is very simple to create your own logger. Use the DebugLogger class |
889ddb179cdf
8007062: Split Lower up into Lower/Attr/FinalizeTypes. Integrate AccessSpecalizer into FinalizeTypes.
lagergren
parents:
16168
diff
changeset
|
765 |
and give the subsystem name as a constructor argument. |
889ddb179cdf
8007062: Split Lower up into Lower/Attr/FinalizeTypes. Integrate AccessSpecalizer into FinalizeTypes.
lagergren
parents:
16168
diff
changeset
|
766 |
|
16147 | 767 |
The Nashorn loggers can be used to print per-module or per-subsystem |
768 |
debug information with different levels of verbosity. The loggers for |
|
769 |
a given subsystem are available are enabled by using |
|
770 |
||
771 |
--log=<systemname>[:<level>] |
|
772 |
||
773 |
on the command line. |
|
774 |
||
775 |
Here <systemname> identifies the name of the subsystem to be logged |
|
776 |
and the optional colon and level argument is a standard |
|
777 |
java.util.logging.Level name (severe, warning, info, config, fine, |
|
778 |
finer, finest). If the level is left out for a particular subsystem, |
|
779 |
it defaults to "info". Any log message logged as the level or a level |
|
780 |
that is more important will be output to stderr by the logger. |
|
781 |
||
782 |
Several loggers can be enabled by a single command line option, by |
|
783 |
putting a comma after each subsystem/level tuple (or each subsystem if |
|
784 |
level is unspecified). The --log option can also be given multiple |
|
785 |
times on the same command line, with the same effect. |
|
786 |
||
787 |
For example: --log=codegen,fields:finest is equivalent to |
|
788 |
--log=codegen:info --log=fields:finest |
|
789 |
||
790 |
The subsystems that currently support logging are: |
|
791 |
||
792 |
||
793 |
* compiler |
|
794 |
||
795 |
The compiler is in charge of turning source code and function nodes |
|
796 |
into byte code, and installs the classes into a class loader |
|
797 |
controlled from the Context. Log messages are, for example, about |
|
798 |
things like new compile units being allocated. The compiler has global |
|
799 |
settings that all the tiers of codegen (e.g. Lower and CodeGenerator) |
|
16201
889ddb179cdf
8007062: Split Lower up into Lower/Attr/FinalizeTypes. Integrate AccessSpecalizer into FinalizeTypes.
lagergren
parents:
16168
diff
changeset
|
800 |
use.s |
16147 | 801 |
|
802 |
||
803 |
* codegen |
|
804 |
||
805 |
The code generator is the emitter stage of the code pipeline, and |
|
806 |
turns the lowest tier of a FunctionNode into bytecode. Codegen logging |
|
807 |
shows byte codes as they are being emitted, line number information |
|
808 |
and jumps. It also shows the contents of the bytecode stack prior to |
|
809 |
each instruction being emitted. This is a good debugging aid. For |
|
810 |
example: |
|
811 |
||
812 |
[codegen] #41 line:2 (f)_afc824e |
|
813 |
[codegen] #42 load symbol x slot=2 |
|
814 |
[codegen] #43 {1:O} load int 0 |
|
815 |
[codegen] #44 {2:I O} dynamic_runtime_call GT:ZOI_I args=2 returnType=boolean |
|
816 |
[codegen] #45 signature (Ljava/lang/Object;I)Z |
|
817 |
[codegen] #46 {1:Z} ifeq ternary_false_5402fe28 |
|
818 |
[codegen] #47 load symbol x slot=2 |
|
819 |
[codegen] #48 {1:O} goto ternary_exit_107c1f2f |
|
820 |
[codegen] #49 ternary_false_5402fe28 |
|
821 |
[codegen] #50 load symbol x slot=2 |
|
822 |
[codegen] #51 {1:O} convert object -> double |
|
823 |
[codegen] #52 {1:D} neg |
|
824 |
[codegen] #53 {1:D} convert double -> object |
|
825 |
[codegen] #54 {1:O} ternary_exit_107c1f2f |
|
826 |
[codegen] #55 {1:O} return object |
|
827 |
||
828 |
shows a ternary node being generated for the sequence "return x > 0 ? |
|
829 |
x : -x" |
|
830 |
||
831 |
The first number on the log line is a unique monotonically increasing |
|
832 |
emission id per bytecode. There is no guarantee this is the same id |
|
833 |
between runs. depending on non deterministic code |
|
834 |
execution/compilation, but for small applications it usually is. If |
|
835 |
the system variable -Dnashorn.codegen.debug.trace=<x> is set, where x |
|
836 |
is a bytecode emission id, a stack trace will be shown as the |
|
837 |
particular bytecode is about to be emitted. This can be a quick way to |
|
838 |
determine where it comes from without attaching the debugger. "Who |
|
839 |
generated that neg?" |
|
840 |
||
841 |
The --log=codegen option is equivalent to setting the system variable |
|
842 |
"nashorn.codegen.debug" to true. |
|
843 |
||
19632
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
844 |
* fold |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
845 |
|
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
846 |
Shows constant folding taking place before lowering |
16147 | 847 |
|
848 |
* lower |
|
849 |
||
16201
889ddb179cdf
8007062: Split Lower up into Lower/Attr/FinalizeTypes. Integrate AccessSpecalizer into FinalizeTypes.
lagergren
parents:
16168
diff
changeset
|
850 |
This is the first lowering pass. |
889ddb179cdf
8007062: Split Lower up into Lower/Attr/FinalizeTypes. Integrate AccessSpecalizer into FinalizeTypes.
lagergren
parents:
16168
diff
changeset
|
851 |
|
889ddb179cdf
8007062: Split Lower up into Lower/Attr/FinalizeTypes. Integrate AccessSpecalizer into FinalizeTypes.
lagergren
parents:
16168
diff
changeset
|
852 |
Lower is a code generation pass that turns high level IR nodes into |
889ddb179cdf
8007062: Split Lower up into Lower/Attr/FinalizeTypes. Integrate AccessSpecalizer into FinalizeTypes.
lagergren
parents:
16168
diff
changeset
|
853 |
lower level one, for example substituting comparisons to RuntimeNodes |
889ddb179cdf
8007062: Split Lower up into Lower/Attr/FinalizeTypes. Integrate AccessSpecalizer into FinalizeTypes.
lagergren
parents:
16168
diff
changeset
|
854 |
and inlining finally blocks. |
889ddb179cdf
8007062: Split Lower up into Lower/Attr/FinalizeTypes. Integrate AccessSpecalizer into FinalizeTypes.
lagergren
parents:
16168
diff
changeset
|
855 |
|
889ddb179cdf
8007062: Split Lower up into Lower/Attr/FinalizeTypes. Integrate AccessSpecalizer into FinalizeTypes.
lagergren
parents:
16168
diff
changeset
|
856 |
Lower is also responsible for determining control flow information |
889ddb179cdf
8007062: Split Lower up into Lower/Attr/FinalizeTypes. Integrate AccessSpecalizer into FinalizeTypes.
lagergren
parents:
16168
diff
changeset
|
857 |
like end points. |
889ddb179cdf
8007062: Split Lower up into Lower/Attr/FinalizeTypes. Integrate AccessSpecalizer into FinalizeTypes.
lagergren
parents:
16168
diff
changeset
|
858 |
|
889ddb179cdf
8007062: Split Lower up into Lower/Attr/FinalizeTypes. Integrate AccessSpecalizer into FinalizeTypes.
lagergren
parents:
16168
diff
changeset
|
859 |
|
889ddb179cdf
8007062: Split Lower up into Lower/Attr/FinalizeTypes. Integrate AccessSpecalizer into FinalizeTypes.
lagergren
parents:
16168
diff
changeset
|
860 |
* attr |
889ddb179cdf
8007062: Split Lower up into Lower/Attr/FinalizeTypes. Integrate AccessSpecalizer into FinalizeTypes.
lagergren
parents:
16168
diff
changeset
|
861 |
|
16147 | 862 |
The lowering annotates a FunctionNode with symbols for each identifier |
863 |
and transforms high level constructs into lower level ones, that the |
|
864 |
CodeGenerator consumes. |
|
865 |
||
866 |
Lower logging typically outputs things like post pass actions, |
|
867 |
insertions of casts because symbol types have been changed and type |
|
868 |
specialization information. Currently very little info is generated by |
|
869 |
this logger. This will probably change. |
|
870 |
||
871 |
||
16201
889ddb179cdf
8007062: Split Lower up into Lower/Attr/FinalizeTypes. Integrate AccessSpecalizer into FinalizeTypes.
lagergren
parents:
16168
diff
changeset
|
872 |
* finalize |
16147 | 873 |
|
16201
889ddb179cdf
8007062: Split Lower up into Lower/Attr/FinalizeTypes. Integrate AccessSpecalizer into FinalizeTypes.
lagergren
parents:
16168
diff
changeset
|
874 |
This --log=finalize log option outputs information for type finalization, |
889ddb179cdf
8007062: Split Lower up into Lower/Attr/FinalizeTypes. Integrate AccessSpecalizer into FinalizeTypes.
lagergren
parents:
16168
diff
changeset
|
875 |
the third tier of the compiler. This means things like placement of |
889ddb179cdf
8007062: Split Lower up into Lower/Attr/FinalizeTypes. Integrate AccessSpecalizer into FinalizeTypes.
lagergren
parents:
16168
diff
changeset
|
876 |
specialized scope nodes or explicit conversions. |
16147 | 877 |
|
878 |
||
879 |
* fields |
|
880 |
||
881 |
The --log=fields option (at info level) is equivalent to setting the |
|
882 |
system variable "nashorn.fields.debug" to true. At the info level it |
|
883 |
will only show info about type assumptions that were invalidated. If |
|
884 |
the level is set to finest, it will also trace every AccessorProperty |
|
885 |
getter and setter in the program, show arguments, return values |
|
886 |
etc. It will also show the internal representation of respective field |
|
887 |
(Object in the normal case, unless running with the dual field |
|
16168
f0c208287983
8005976: Break out AccessSpecializer into one pass before CodeGenerator instead of iterative applications from CodeGenerator
lagergren
parents:
16152
diff
changeset
|
888 |
representation) |
19632
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
889 |
|
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
890 |
|
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
891 |
======================= |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
892 |
3. Undocumented options |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
893 |
======================= |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
894 |
|
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
895 |
Here follows a short description of undocumented options for Nashorn. |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
896 |
To see a list of all undocumented options, use the (undocumented) flag |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
897 |
"-xhelp". |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
898 |
|
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
899 |
i.e. jjs -xhelp or java -jar nashorn.jar -xhelp |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
900 |
|
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
901 |
Undocumented options are not guaranteed to work, run correctly or be |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
902 |
bug free. They are experimental and for internal or debugging use. |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
903 |
They are also subject to change without notice. |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
904 |
|
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
905 |
In practice, though, all options below not explicitly documented as |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
906 |
EXPERIMENTAL can be relied upon, for example --dump-on-error is useful |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
907 |
for any JavaScript/Nashorn developer, but there is no guarantee. |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
908 |
|
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
909 |
A short summary follows: |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
910 |
|
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
911 |
-D (-Dname=value. Set a system property. This option can be repeated.) |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
912 |
|
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
913 |
-ccs, --class-cache-size (Size of the Class cache size per global scope.) |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
914 |
|
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
915 |
-cp, -classpath (-cp path. Specify where to find user class files.) |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
916 |
|
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
917 |
-co, --compile-only (Compile script without running. Exit after compilation) |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
918 |
param: [true|false] default: false |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
919 |
|
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
920 |
-d, --dump-debug-dir (specify a destination directory to dump class files. |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
921 |
This must be combined with the --compile-only option to work) |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
922 |
param: <path> |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
923 |
|
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
924 |
--debug-lines (Generate line number table in .class files.) |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
925 |
param: [true|false] default: true |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
926 |
|
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
927 |
--debug-locals (Generate local variable table in .class files.) |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
928 |
param: [true|false] default: false |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
929 |
|
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
930 |
-doe, -dump-on-error (Dump a stack trace on errors.) |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
931 |
param: [true|false] default: false |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
932 |
|
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
933 |
--early-lvalue-error (invalid lvalue expressions should be reported as early errors.) |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
934 |
param: [true|false] default: true |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
935 |
|
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
936 |
--empty-statements (Preserve empty statements in AST.) |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
937 |
param: [true|false] default: false |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
938 |
|
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
939 |
-fv, -fullversion (Print full version info of Nashorn.) |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
940 |
param: [true|false] default: false |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
941 |
|
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
942 |
--function-statement-error (Report an error when function declaration is used as a statement.) |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
943 |
param: [true|false] default: false |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
944 |
|
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
945 |
--function-statement-warning (Warn when function declaration is used as a statement.) |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
946 |
param: [true|false] default: false |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
947 |
|
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
948 |
-fx (Launch script as an fx application.) |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
949 |
param: [true|false] default: false |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
950 |
|
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
951 |
--global-per-engine (Use single Global instance per script engine instance.) |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
952 |
param: [true|false] default: false |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
953 |
|
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
954 |
-h, -help (Print help for command line flags.) |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
955 |
param: [true|false] default: false |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
956 |
|
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
957 |
--lazy-compilation (EXPERIMENTAL: Use lazy code generation strategies - do not compile |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
958 |
the entire script at once.) |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
959 |
param: [true|false] default: false |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
960 |
|
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
961 |
--loader-per-compile (Create a new class loader per compile.) |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
962 |
param: [true|false] default: true |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
963 |
|
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
964 |
-l, --locale (Set Locale for script execution.) |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
965 |
param: <locale> default: en-US |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
966 |
|
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
967 |
--log (Enable logging of a given level for a given number of sub systems. |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
968 |
[for example: --log=fields:finest,codegen:info]) |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
969 |
param: <module:level>,* |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
970 |
|
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
971 |
-nj, --no-java (No Java support) |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
972 |
param: [true|false] default: false |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
973 |
|
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
974 |
-nse, --no-syntax-extensions (No non-standard syntax extensions) |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
975 |
param: [true|false] default: false |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
976 |
|
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
977 |
-nta, --no-typed-arrays (No Typed arrays support) |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
978 |
param: [true|false] default: false |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
979 |
|
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
980 |
--parse-only (Parse without compiling.) |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
981 |
param: [true|false] default: false |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
982 |
|
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
983 |
--print-ast (Print abstract syntax tree.) |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
984 |
param: [true|false] default: false |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
985 |
|
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
986 |
--print-code (Print bytecode.) |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
987 |
param: [true|false] default: false |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
988 |
|
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
989 |
--print-lower-ast (Print lowered abstract syntax tree.) |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
990 |
param: [true|false] default: false |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
991 |
|
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
992 |
--print-lower-parse (Print the parse tree after lowering.) |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
993 |
param: [true|false] default: false |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
994 |
|
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
995 |
--print-mem-usage (Print memory usage of IR after each compile stage.) |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
996 |
param: [true|false] default: false |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
997 |
|
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
998 |
--print-no-newline (Print function will not print new line char.) |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
999 |
param: [true|false] default: false |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
1000 |
|
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
1001 |
--print-parse (Print the parse tree.) |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
1002 |
param: [true|false] default: false |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
1003 |
|
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
1004 |
--print-symbols (Print the symbol table.) |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
1005 |
param: [true|false] default: false |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
1006 |
|
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
1007 |
-pcs, --profile-callsites (Dump callsite profile data.) |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
1008 |
param: [true|false] default: false |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
1009 |
|
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
1010 |
--range-analysis (EXPERIMENTAL: Do range analysis using known compile time types, |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
1011 |
and try to narrow number types) |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
1012 |
param: [true|false] default: false |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
1013 |
|
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
1014 |
-scripting (Enable scripting features.) |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
1015 |
param: [true|false] default: false |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
1016 |
|
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
1017 |
--specialize-calls (EXPERIMENTAL: Specialize all or a set of method according |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
1018 |
to callsite parameter types) |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
1019 |
param: [=function_1,...,function_n] |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
1020 |
|
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
1021 |
--stderr (Redirect stderr to a filename or to another tty, e.g. stdout) |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
1022 |
param: <output console> |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
1023 |
|
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
1024 |
--stdout (Redirect stdout to a filename or to another tty, e.g. stderr) |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
1025 |
param: <output console> |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
1026 |
|
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
1027 |
-strict (Run scripts in strict mode.) |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
1028 |
param: [true|false] default: false |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
1029 |
|
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
1030 |
-t, -timezone (Set timezone for script execution.) |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
1031 |
param: <timezone> default: Europe/Stockholm |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
1032 |
|
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
1033 |
-tcs, --trace-callsites (Enable callsite trace mode. Options are: miss [trace callsite misses] |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
1034 |
enterexit [trace callsite enter/exit], objects [print object properties]) |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
1035 |
param: [=[option,]*] |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
1036 |
|
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
1037 |
--verify-code (Verify byte code before running.) |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
1038 |
param: [true|false] default: false |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
1039 |
|
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
1040 |
-v, -version (Print version info of Nashorn.) |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
1041 |
param: [true|false] default: false |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
1042 |
|
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
1043 |
-xhelp (Print extended help for command line flags.) |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
1044 |
param: [true|false] default: false |
c9d704ad422e
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.
lagergren
parents:
16533
diff
changeset
|
1045 |