diff options
author | sundar <none@none> | 2014-03-17 18:02:00 +0530 |
---|---|---|
committer | sundar <none@none> | 2014-03-17 18:02:00 +0530 |
commit | 309992a1f232250da32a00eac20fbca68074de2f (patch) | |
tree | 4bf92bf406355a7a6eecb4896b4fc5a962528ec6 /src/jdk/nashorn/internal/objects | |
parent | 9db7d06dafe2803da9e839eea27e30e9464bc58f (diff) |
8037400: Remove getInitialMap getters and GlobalObject interface
Reviewed-by: lagergren, jlaskey, attila
Diffstat (limited to 'src/jdk/nashorn/internal/objects')
24 files changed, 170 insertions, 166 deletions
diff --git a/src/jdk/nashorn/internal/objects/AccessorPropertyDescriptor.java b/src/jdk/nashorn/internal/objects/AccessorPropertyDescriptor.java index b3388eb0..e39c5217 100644 --- a/src/jdk/nashorn/internal/objects/AccessorPropertyDescriptor.java +++ b/src/jdk/nashorn/internal/objects/AccessorPropertyDescriptor.java @@ -67,12 +67,8 @@ public final class AccessorPropertyDescriptor extends ScriptObject implements Pr // initialized by nasgen private static PropertyMap $nasgenmap$; - static PropertyMap getInitialMap() { - return $nasgenmap$; - } - AccessorPropertyDescriptor(final boolean configurable, final boolean enumerable, final Object get, final Object set, final Global global) { - super(global.getObjectPrototype(), getInitialMap()); + super(global.getObjectPrototype(), $nasgenmap$); this.configurable = configurable; this.enumerable = enumerable; this.get = get; diff --git a/src/jdk/nashorn/internal/objects/ArrayBufferView.java b/src/jdk/nashorn/internal/objects/ArrayBufferView.java index a7252fcc..7bd1d2f9 100644 --- a/src/jdk/nashorn/internal/objects/ArrayBufferView.java +++ b/src/jdk/nashorn/internal/objects/ArrayBufferView.java @@ -42,12 +42,8 @@ abstract class ArrayBufferView extends ScriptObject { // initialized by nasgen private static PropertyMap $nasgenmap$; - static PropertyMap getInitialMap() { - return $nasgenmap$; - } - private ArrayBufferView(final NativeArrayBuffer buffer, final int byteOffset, final int elementLength, final Global global) { - super(getInitialMap()); + super($nasgenmap$); checkConstructorArgs(buffer, byteOffset, elementLength); this.setProto(getPrototype(global)); this.setArray(factory().createArrayData(buffer, byteOffset, elementLength)); diff --git a/src/jdk/nashorn/internal/objects/DataPropertyDescriptor.java b/src/jdk/nashorn/internal/objects/DataPropertyDescriptor.java index 9f7d2e4f..e117c7ed 100644 --- a/src/jdk/nashorn/internal/objects/DataPropertyDescriptor.java +++ b/src/jdk/nashorn/internal/objects/DataPropertyDescriptor.java @@ -64,12 +64,8 @@ public final class DataPropertyDescriptor extends ScriptObject implements Proper // initialized by nasgen private static PropertyMap $nasgenmap$; - static PropertyMap getInitialMap() { - return $nasgenmap$; - } - DataPropertyDescriptor(final boolean configurable, final boolean enumerable, final boolean writable, final Object value, final Global global) { - super(global.getObjectPrototype(), getInitialMap()); + super(global.getObjectPrototype(), $nasgenmap$); this.configurable = configurable; this.enumerable = enumerable; this.writable = writable; diff --git a/src/jdk/nashorn/internal/objects/GenericPropertyDescriptor.java b/src/jdk/nashorn/internal/objects/GenericPropertyDescriptor.java index bfa06cb3..19cc8b6f 100644 --- a/src/jdk/nashorn/internal/objects/GenericPropertyDescriptor.java +++ b/src/jdk/nashorn/internal/objects/GenericPropertyDescriptor.java @@ -55,12 +55,8 @@ public final class GenericPropertyDescriptor extends ScriptObject implements Pro // initialized by nasgen private static PropertyMap $nasgenmap$; - static PropertyMap getInitialMap() { - return $nasgenmap$; - } - GenericPropertyDescriptor(final boolean configurable, final boolean enumerable, final Global global) { - super(global.getObjectPrototype(), getInitialMap()); + super(global.getObjectPrototype(), $nasgenmap$); this.configurable = configurable; this.enumerable = enumerable; } diff --git a/src/jdk/nashorn/internal/objects/Global.java b/src/jdk/nashorn/internal/objects/Global.java index 0d8ac5ca..9e40dbeb 100644 --- a/src/jdk/nashorn/internal/objects/Global.java +++ b/src/jdk/nashorn/internal/objects/Global.java @@ -48,7 +48,6 @@ import jdk.nashorn.internal.objects.annotations.ScriptClass; import jdk.nashorn.internal.runtime.ConsString; import jdk.nashorn.internal.runtime.Context; import jdk.nashorn.internal.runtime.GlobalFunctions; -import jdk.nashorn.internal.runtime.GlobalObject; import jdk.nashorn.internal.runtime.JSType; import jdk.nashorn.internal.runtime.NativeJavaPackage; import jdk.nashorn.internal.runtime.PropertyDescriptor; @@ -70,7 +69,7 @@ import jdk.nashorn.internal.scripts.JO; * Representation of global scope. */ @ScriptClass("Global") -public final class Global extends ScriptObject implements GlobalObject, Scope { +public final class Global extends ScriptObject implements Scope { private final InvokeByName TO_STRING = new InvokeByName("toString", ScriptObject.class); private final InvokeByName VALUE_OF = new InvokeByName("valueOf", ScriptObject.class); @@ -433,11 +432,9 @@ public final class Global extends ScriptObject implements GlobalObject, Scope { * @return the global singleton */ public static Global instance() { - ScriptObject global = Context.getGlobal(); - if (! (global instanceof Global)) { - throw new IllegalStateException("no current global instance"); - } - return (Global)global; + Global global = Context.getGlobal(); + global.getClass(); // null check + return global; } /** @@ -458,19 +455,30 @@ public final class Global extends ScriptObject implements GlobalObject, Scope { return instance().getContext(); } - // GlobalObject interface implementation + // Runtime interface to Global - @Override + /** + * Is this global of the given Context? + * @param ctxt the context + * @return true if this global belongs to the given Context + */ public boolean isOfContext(final Context ctxt) { return this.context == ctxt; } - @Override + /** + * Does this global belong to a strict Context? + * @return true if this global belongs to a strict Context + */ public boolean isStrictContext() { return context.getEnv()._strict; } - @Override + /** + * Initialize standard builtin objects like "Object", "Array", "Function" etc. + * as well as our extension builtin objects like "Java", "JSAdapter" as properties + * of the global scope object. + */ public void initBuiltinObjects() { if (this.builtinObject != null) { // already initialized, just return @@ -480,12 +488,26 @@ public final class Global extends ScriptObject implements GlobalObject, Scope { init(); } - @Override + /** + * Create a new ScriptFunction object + * + * @param name function name + * @param handle invocation handle for function + * @param scope the scope + * @param strict are we in strict mode + * + * @return new script function + */ public ScriptFunction newScriptFunction(final String name, final MethodHandle handle, final ScriptObject scope, final boolean strict) { return new ScriptFunctionImpl(name, handle, scope, null, strict ? ScriptFunctionData.IS_STRICT_CONSTRUCTOR : ScriptFunctionData.IS_CONSTRUCTOR); } - @Override + /** + * Wrap a Java object as corresponding script object + * + * @param obj object to wrap + * @return wrapped object + */ public Object wrapAsObject(final Object obj) { if (obj instanceof Boolean) { return new NativeBoolean((Boolean)obj, this); @@ -507,7 +529,14 @@ public final class Global extends ScriptObject implements GlobalObject, Scope { } } - @Override + /** + * Lookup helper for JS primitive types + * + * @param request the link request for the dynamic call site. + * @param self self reference + * + * @return guarded invocation + */ public GuardedInvocation primitiveLookup(final LinkRequest request, final Object self) { if (self instanceof String || self instanceof ConsString) { return NativeString.lookupPrimitive(request, self); @@ -519,12 +548,23 @@ public final class Global extends ScriptObject implements GlobalObject, Scope { throw new IllegalArgumentException("Unsupported primitive: " + self); } - @Override + /** + * Create a new empty script object + * + * @return the new ScriptObject + */ public ScriptObject newObject() { return new JO(getObjectPrototype(), JO.getInitialMap()); } - @Override + /** + * Default value of given type + * + * @param sobj script object + * @param typeHint type hint + * + * @return default value + */ public Object getDefaultValue(final ScriptObject sobj, final Class<?> typeHint) { // When the [[DefaultValue]] internal method of O is called with no hint, // then it behaves as if the hint were Number, unless O is a Date object @@ -584,7 +624,12 @@ public final class Global extends ScriptObject implements GlobalObject, Scope { return UNDEFINED; } - @Override + /** + * Is the given ScriptObject an ECMAScript Error object? + * + * @param sobj the object being checked + * @return true if sobj is an Error object + */ public boolean isError(final ScriptObject sobj) { final ScriptObject errorProto = getErrorPrototype(); ScriptObject proto = sobj.getProto(); @@ -597,52 +642,108 @@ public final class Global extends ScriptObject implements GlobalObject, Scope { return false; } - @Override + /** + * Create a new ECMAScript Error object. + * + * @param msg error message + * @return newly created Error object + */ public ScriptObject newError(final String msg) { return new NativeError(msg, this); } - @Override + /** + * Create a new ECMAScript EvalError object. + * + * @param msg error message + * @return newly created EvalError object + */ public ScriptObject newEvalError(final String msg) { return new NativeEvalError(msg, this); } - @Override + /** + * Create a new ECMAScript RangeError object. + * + * @param msg error message + * @return newly created RangeError object + */ public ScriptObject newRangeError(final String msg) { return new NativeRangeError(msg, this); } - @Override + /** + * Create a new ECMAScript ReferenceError object. + * + * @param msg error message + * @return newly created ReferenceError object + */ public ScriptObject newReferenceError(final String msg) { return new NativeReferenceError(msg, this); } - @Override + /** + * Create a new ECMAScript SyntaxError object. + * + * @param msg error message + * @return newly created SyntaxError object + */ public ScriptObject newSyntaxError(final String msg) { return new NativeSyntaxError(msg, this); } - @Override + /** + * Create a new ECMAScript TypeError object. + * + * @param msg error message + * @return newly created TypeError object + */ public ScriptObject newTypeError(final String msg) { return new NativeTypeError(msg, this); } - @Override + /** + * Create a new ECMAScript URIError object. + * + * @param msg error message + * @return newly created URIError object + */ public ScriptObject newURIError(final String msg) { return new NativeURIError(msg, this); } - @Override + /** + * Create a new ECMAScript GenericDescriptor object. + * + * @param configurable is the property configurable? + * @param enumerable is the property enumerable? + * @return newly created GenericDescriptor object + */ public PropertyDescriptor newGenericDescriptor(final boolean configurable, final boolean enumerable) { return new GenericPropertyDescriptor(configurable, enumerable, this); } - @Override + /** + * Create a new ECMAScript DatePropertyDescriptor object. + * + * @param value of the data property + * @param configurable is the property configurable? + * @param enumerable is the property enumerable? + * @return newly created DataPropertyDescriptor object + */ public PropertyDescriptor newDataDescriptor(final Object value, final boolean configurable, final boolean enumerable, final boolean writable) { return new DataPropertyDescriptor(configurable, enumerable, writable, value, this); } - @Override + /** + * Create a new ECMAScript AccessorPropertyDescriptor object. + * + * @param get getter function of the user accessor property + * @param set setter function of the user accessor property + * @param configurable is the property configurable? + * @param enumerable is the property enumerable? + * @return newly created AccessorPropertyDescriptor object + */ public PropertyDescriptor newAccessorDescriptor(final Object get, final Object set, final boolean configurable, final boolean enumerable) { final AccessorPropertyDescriptor desc = new AccessorPropertyDescriptor(configurable, enumerable, get == null ? UNDEFINED : get, set == null ? UNDEFINED : set, this); @@ -675,14 +776,25 @@ public final class Global extends ScriptObject implements GlobalObject, Scope { private final Map<Object, InvokeByName> namedInvokers = new ConcurrentHashMap<>(); - @Override + + /** + * Get cached InvokeByName object for the given key + * @param key key to be associated with InvokeByName object + * @param creator if InvokeByName is absent 'creator' is called to make one (lazy init) + * @return InvokeByName object associated with the key. + */ public InvokeByName getInvokeByName(final Object key, final Callable<InvokeByName> creator) { return getLazilyCreatedValue(key, creator, namedInvokers); } private final Map<Object, MethodHandle> dynamicInvokers = new ConcurrentHashMap<>(); - @Override + /** + * Get cached dynamic method handle for the given key + * @param key key to be associated with dynamic method handle + * @param creator if method handle is absent 'creator' is called to make one (lazy init) + * @return dynamic method handle associated with the key. + */ public MethodHandle getDynamicInvoker(final Object key, final Callable<MethodHandle> creator) { return getLazilyCreatedValue(key, creator, dynamicInvokers); } diff --git a/src/jdk/nashorn/internal/objects/NativeArray.java b/src/jdk/nashorn/internal/objects/NativeArray.java index cc62d23c..168a2f8a 100644 --- a/src/jdk/nashorn/internal/objects/NativeArray.java +++ b/src/jdk/nashorn/internal/objects/NativeArray.java @@ -156,10 +156,6 @@ public final class NativeArray extends ScriptObject { // initialized by nasgen private static PropertyMap $nasgenmap$; - static PropertyMap getInitialMap() { - return $nasgenmap$; - } - /* * Constructors. */ @@ -208,7 +204,7 @@ public final class NativeArray extends ScriptObject { } NativeArray(final ArrayData arrayData, final Global global) { - super(global.getArrayPrototype(), getInitialMap()); + super(global.getArrayPrototype(), $nasgenmap$); this.setArray(arrayData); this.setIsArray(); } diff --git a/src/jdk/nashorn/internal/objects/NativeArrayBuffer.java b/src/jdk/nashorn/internal/objects/NativeArrayBuffer.java index 49082498..49a61c96 100644 --- a/src/jdk/nashorn/internal/objects/NativeArrayBuffer.java +++ b/src/jdk/nashorn/internal/objects/NativeArrayBuffer.java @@ -44,10 +44,6 @@ final class NativeArrayBuffer extends ScriptObject { // initialized by nasgen private static PropertyMap $nasgenmap$; - static PropertyMap getInitialMap() { - return $nasgenmap$; - } - @Constructor(arity = 1) public static Object constructor(final boolean newObj, final Object self, final Object... args) { if (args.length == 0) { @@ -58,7 +54,7 @@ final class NativeArrayBuffer extends ScriptObject { } protected NativeArrayBuffer(final byte[] byteArray, final Global global) { - super(global.getArrayBufferPrototype(), getInitialMap()); + super(global.getArrayBufferPrototype(), $nasgenmap$); this.buffer = byteArray; } diff --git a/src/jdk/nashorn/internal/objects/NativeBoolean.java b/src/jdk/nashorn/internal/objects/NativeBoolean.java index bde6c608..f737a6c8 100644 --- a/src/jdk/nashorn/internal/objects/NativeBoolean.java +++ b/src/jdk/nashorn/internal/objects/NativeBoolean.java @@ -59,17 +59,13 @@ public final class NativeBoolean extends ScriptObject { // initialized by nasgen private static PropertyMap $nasgenmap$; - static PropertyMap getInitialMap() { - return $nasgenmap$; - } - private NativeBoolean(final boolean value, final ScriptObject proto, final PropertyMap map) { super(proto, map); this.value = value; } NativeBoolean(final boolean flag, final Global global) { - this(flag, global.getBooleanPrototype(), getInitialMap()); + this(flag, global.getBooleanPrototype(), $nasgenmap$); } NativeBoolean(final boolean flag) { diff --git a/src/jdk/nashorn/internal/objects/NativeDate.java b/src/jdk/nashorn/internal/objects/NativeDate.java index b0d12022..34e27f17 100644 --- a/src/jdk/nashorn/internal/objects/NativeDate.java +++ b/src/jdk/nashorn/internal/objects/NativeDate.java @@ -114,10 +114,6 @@ public final class NativeDate extends ScriptObject { // initialized by nasgen private static PropertyMap $nasgenmap$; - static PropertyMap getInitialMap() { - return $nasgenmap$; - } - private NativeDate(final double time, final ScriptObject proto, final PropertyMap map) { super(proto, map); final ScriptEnvironment env = Global.getEnv(); @@ -127,7 +123,7 @@ public final class NativeDate extends ScriptObject { } NativeDate(final double time, final Global global) { - this(time, global.getDatePrototype(), getInitialMap()); + this(time, global.getDatePrototype(), $nasgenmap$); } private NativeDate (final double time) { diff --git a/src/jdk/nashorn/internal/objects/NativeError.java b/src/jdk/nashorn/internal/objects/NativeError.java index e1a4730d..3dea2728 100644 --- a/src/jdk/nashorn/internal/objects/NativeError.java +++ b/src/jdk/nashorn/internal/objects/NativeError.java @@ -92,10 +92,6 @@ public final class NativeError extends ScriptObject { // initialized by nasgen private static PropertyMap $nasgenmap$; - static PropertyMap getInitialMap() { - return $nasgenmap$; - } - @SuppressWarnings("LeakingThisInConstructor") private NativeError(final Object msg, final ScriptObject proto, final PropertyMap map) { super(proto, map); @@ -108,7 +104,7 @@ public final class NativeError extends ScriptObject { } NativeError(final Object msg, final Global global) { - this(msg, global.getErrorPrototype(), getInitialMap()); + this(msg, global.getErrorPrototype(), $nasgenmap$); } private NativeError(final Object msg) { diff --git a/src/jdk/nashorn/internal/objects/NativeEvalError.java b/src/jdk/nashorn/internal/objects/NativeEvalError.java index bb11ef6c..2b343ede 100644 --- a/src/jdk/nashorn/internal/objects/NativeEvalError.java +++ b/src/jdk/nashorn/internal/objects/NativeEvalError.java @@ -62,10 +62,6 @@ public final class NativeEvalError extends ScriptObject { // initialized by nasgen private static PropertyMap $nasgenmap$; - static PropertyMap getInitialMap() { - return $nasgenmap$; - } - @SuppressWarnings("LeakingThisInConstructor") private NativeEvalError(final Object msg, final ScriptObject proto, final PropertyMap map) { super(proto, map); @@ -78,7 +74,7 @@ public final class NativeEvalError extends ScriptObject { } NativeEvalError(final Object msg, final Global global) { - this(msg, global.getEvalErrorPrototype(), getInitialMap()); + this(msg, global.getEvalErrorPrototype(), $nasgenmap$); } private NativeEvalError(final Object msg) { diff --git a/src/jdk/nashorn/internal/objects/NativeJSAdapter.java b/src/jdk/nashorn/internal/objects/NativeJSAdapter.java index ed879dc6..b71b4276 100644 --- a/src/jdk/nashorn/internal/objects/NativeJSAdapter.java +++ b/src/jdk/nashorn/internal/objects/NativeJSAdapter.java @@ -146,10 +146,6 @@ public final class NativeJSAdapter extends ScriptObject { // initialized by nasgen private static PropertyMap $nasgenmap$; - static PropertyMap getInitialMap() { - return $nasgenmap$; - } - NativeJSAdapter(final Object overrides, final ScriptObject adaptee, final ScriptObject proto, final PropertyMap map) { super(proto, map); this.adaptee = wrapAdaptee(adaptee); @@ -577,7 +573,7 @@ public final class NativeJSAdapter extends ScriptObject { proto = global.getJSAdapterPrototype(); } - return new NativeJSAdapter(overrides, (ScriptObject)adaptee, (ScriptObject)proto, getInitialMap()); + return new NativeJSAdapter(overrides, (ScriptObject)adaptee, (ScriptObject)proto, $nasgenmap$); } @Override diff --git a/src/jdk/nashorn/internal/objects/NativeJavaImporter.java b/src/jdk/nashorn/internal/objects/NativeJavaImporter.java index c86f3053..49be8a7c 100644 --- a/src/jdk/nashorn/internal/objects/NativeJavaImporter.java +++ b/src/jdk/nashorn/internal/objects/NativeJavaImporter.java @@ -60,17 +60,13 @@ public final class NativeJavaImporter extends ScriptObject { // initialized by nasgen private static PropertyMap $nasgenmap$; - static PropertyMap getInitialMap() { - return $nasgenmap$; - } - private NativeJavaImporter(final Object[] args, final ScriptObject proto, final PropertyMap map) { super(proto, map); this.args = args; } private NativeJavaImporter(final Object[] args, final Global global) { - this(args, global.getJavaImporterPrototype(), getInitialMap()); + this(args, global.getJavaImporterPrototype(), $nasgenmap$); } private NativeJavaImporter(final Object[] args) { diff --git a/src/jdk/nashorn/internal/objects/NativeNumber.java b/src/jdk/nashorn/internal/objects/NativeNumber.java index 02d9b99e..4181d205 100644 --- a/src/jdk/nashorn/internal/objects/NativeNumber.java +++ b/src/jdk/nashorn/internal/objects/NativeNumber.java @@ -90,10 +90,6 @@ public final class NativeNumber extends ScriptObject { // initialized by nasgen private static PropertyMap $nasgenmap$; - static PropertyMap getInitialMap() { - return $nasgenmap$; - } - private NativeNumber(final double value, final ScriptObject proto, final PropertyMap map) { super(proto, map); this.value = value; @@ -102,7 +98,7 @@ public final class NativeNumber extends ScriptObject { } NativeNumber(final double value, final Global global) { - this(value, global.getNumberPrototype(), getInitialMap()); + this(value, global.getNumberPrototype(), $nasgenmap$); } private NativeNumber(final double value) { diff --git a/src/jdk/nashorn/internal/objects/NativeRangeError.java b/src/jdk/nashorn/internal/objects/NativeRangeError.java index 6e0d954b..4b2bebcf 100644 --- a/src/jdk/nashorn/internal/objects/NativeRangeError.java +++ b/src/jdk/nashorn/internal/objects/NativeRangeError.java @@ -62,10 +62,6 @@ public final class NativeRangeError extends ScriptObject { // initialized by nasgen private static PropertyMap $nasgenmap$; - static PropertyMap getInitialMap() { - return $nasgenmap$; - } - @SuppressWarnings("LeakingThisInConstructor") private NativeRangeError(final Object msg, final ScriptObject proto, final PropertyMap map) { super(proto, map); @@ -78,7 +74,7 @@ public final class NativeRangeError extends ScriptObject { } NativeRangeError(final Object msg, final Global global) { - this(msg, global.getRangeErrorPrototype(), getInitialMap()); + this(msg, global.getRangeErrorPrototype(), $nasgenmap$); } private NativeRangeError(final Object msg) { diff --git a/src/jdk/nashorn/internal/objects/NativeReferenceError.java b/src/jdk/nashorn/internal/objects/NativeReferenceError.java index 052950c6..504f16ec 100644 --- a/src/jdk/nashorn/internal/objects/NativeReferenceError.java +++ b/src/jdk/nashorn/internal/objects/NativeReferenceError.java @@ -62,10 +62,6 @@ public final class NativeReferenceError extends ScriptObject { // initialized by nasgen private static PropertyMap $nasgenmap$; - static PropertyMap getInitialMap() { - return $nasgenmap$; - } - @SuppressWarnings("LeakingThisInConstructor") private NativeReferenceError(final Object msg, final ScriptObject proto, final PropertyMap map) { super(proto, map); @@ -78,7 +74,7 @@ public final class NativeReferenceError extends ScriptObject { } NativeReferenceError(final Object msg, final Global global) { - this(msg, global.getReferenceErrorPrototype(), getInitialMap()); + this(msg, global.getReferenceErrorPrototype(), $nasgenmap$); } private NativeReferenceError(final Object msg) { diff --git a/src/jdk/nashorn/internal/objects/NativeRegExp.java b/src/jdk/nashorn/internal/objects/NativeRegExp.java index abc3366d..04b828bf 100644 --- a/src/jdk/nashorn/internal/objects/NativeRegExp.java +++ b/src/jdk/nashorn/internal/objects/NativeRegExp.java @@ -70,12 +70,8 @@ public final class NativeRegExp extends ScriptObject { // initialized by nasgen private static PropertyMap $nasgenmap$; - static PropertyMap getInitialMap() { - return $nasgenmap$; - } - private NativeRegExp(final Global global) { - super(global.getRegExpPrototype(), getInitialMap()); + super(global.getRegExpPrototype(), $nasgenmap$); this.globalObject = global; } diff --git a/src/jdk/nashorn/internal/objects/NativeRegExpExecResult.java b/src/jdk/nashorn/internal/objects/NativeRegExpExecResult.java index 5d79699e..f12cea12 100644 --- a/src/jdk/nashorn/internal/objects/NativeRegExpExecResult.java +++ b/src/jdk/nashorn/internal/objects/NativeRegExpExecResult.java @@ -53,12 +53,8 @@ public final class NativeRegExpExecResult extends ScriptObject { // initialized by nasgen private static PropertyMap $nasgenmap$; - static PropertyMap getInitialMap() { - return $nasgenmap$; - } - NativeRegExpExecResult(final RegExpResult result, final Global global) { - super(global.getArrayPrototype(), getInitialMap()); + super(global.getArrayPrototype(), $nasgenmap$); setIsArray(); this.setArray(ArrayData.allocate(result.getGroups().clone())); this.index = result.getIndex(); diff --git a/src/jdk/nashorn/internal/objects/NativeString.java b/src/jdk/nashorn/internal/objects/NativeString.java index 53ae9a23..c75b2b00 100644 --- a/src/jdk/nashorn/internal/objects/NativeString.java +++ b/src/jdk/nashorn/internal/objects/NativeString.java @@ -78,16 +78,12 @@ public final class NativeString extends ScriptObject { // initialized by nasgen private static PropertyMap $nasgenmap$; - static PropertyMap getInitialMap() { - return $nasgenmap$; - } - private NativeString(final CharSequence value) { this(value, Global.instance()); } NativeString(final CharSequence value, final Global global) { - this(value, global.getStringPrototype(), getInitialMap()); + this(value, global.getStringPrototype(), $nasgenmap$); } private NativeString(final CharSequence value, final ScriptObject proto, final PropertyMap map) { diff --git a/src/jdk/nashorn/internal/objects/NativeSyntaxError.java b/src/jdk/nashorn/internal/objects/NativeSyntaxError.java index ffe1b0a7..6515f3cc 100644 --- a/src/jdk/nashorn/internal/objects/NativeSyntaxError.java +++ b/src/jdk/nashorn/internal/objects/NativeSyntaxError.java @@ -62,13 +62,9 @@ public final class NativeSyntaxError extends ScriptObject { // initialized by nasgen private static PropertyMap $nasgenmap$; - static PropertyMap getInitialMap() { - return $nasgenmap$; - } - @SuppressWarnings("LeakingThisInConstructor") NativeSyntaxError(final Object msg, final Global global) { - super(global.getSyntaxErrorPrototype(), getInitialMap()); + super(global.getSyntaxErrorPrototype(), $nasgenmap$); if (msg != UNDEFINED) { this.instMessage = JSType.toString(msg); } else { diff --git a/src/jdk/nashorn/internal/objects/NativeTypeError.java b/src/jdk/nashorn/internal/objects/NativeTypeError.java index 067139cd..f799b176 100644 --- a/src/jdk/nashorn/internal/objects/NativeTypeError.java +++ b/src/jdk/nashorn/internal/objects/NativeTypeError.java @@ -62,13 +62,9 @@ public final class NativeTypeError extends ScriptObject { // initialized by nasgen private static PropertyMap $nasgenmap$; - static PropertyMap getInitialMap() { - return $nasgenmap$; - } - @SuppressWarnings("LeakingThisInConstructor") NativeTypeError(final Object msg, final Global global) { - super(global.getTypeErrorPrototype(), getInitialMap()); + super(global.getTypeErrorPrototype(), $nasgenmap$); if (msg != UNDEFINED) { this.instMessage = JSType.toString(msg); } else { diff --git a/src/jdk/nashorn/internal/objects/NativeURIError.java b/src/jdk/nashorn/internal/objects/NativeURIError.java index 382e23f4..fd59bc8a 100644 --- a/src/jdk/nashorn/internal/objects/NativeURIError.java +++ b/src/jdk/nashorn/internal/objects/NativeURIError.java @@ -61,13 +61,9 @@ public final class NativeURIError extends ScriptObject { // initialized by nasgen private static PropertyMap $nasgenmap$; - static PropertyMap getInitialMap() { - return $nasgenmap$; - } - @SuppressWarnings("LeakingThisInConstructor") NativeURIError(final Object msg, final Global global) { - super(global.getURIErrorPrototype(), getInitialMap()); + super(global.getURIErrorPrototype(), $nasgenmap$); if (msg != UNDEFINED) { this.instMessage = JSType.toString(msg); } else { diff --git a/src/jdk/nashorn/internal/objects/PrototypeObject.java b/src/jdk/nashorn/internal/objects/PrototypeObject.java index 1fd4f60d..483f6174 100644 --- a/src/jdk/nashorn/internal/objects/PrototypeObject.java +++ b/src/jdk/nashorn/internal/objects/PrototypeObject.java @@ -57,10 +57,6 @@ public class PrototypeObject extends ScriptObject { map$ = PropertyMap.newMap(properties); } - static PropertyMap getInitialMap() { - return map$; - } - private PrototypeObject(final Global global, final PropertyMap map) { super(global.getObjectPrototype(), map != map$? map.addAll(map$) : map$); } diff --git a/src/jdk/nashorn/internal/objects/ScriptFunctionImpl.java b/src/jdk/nashorn/internal/objects/ScriptFunctionImpl.java index fe18be99..dcbc7da9 100644 --- a/src/jdk/nashorn/internal/objects/ScriptFunctionImpl.java +++ b/src/jdk/nashorn/internal/objects/ScriptFunctionImpl.java @@ -55,27 +55,11 @@ public class ScriptFunctionImpl extends ScriptFunction { // property map for non-strict, non-bound functions. private static final PropertyMap map$; - static PropertyMap getInitialMap() { - return map$; - } - - static PropertyMap getInitialAnonymousMap() { - return AnonymousFunction.getInitialMap(); - } - - static PropertyMap getInitialStrictMap() { - return strictmodemap$; - } - - static PropertyMap getInitialBoundMap() { - return boundfunctionmap$; - } - // Marker object for lazily initialized prototype object private static final Object LAZY_PROTOTYPE = new Object(); private ScriptFunctionImpl(final String name, final MethodHandle invokeHandle, final MethodHandle[] specs, final Global global) { - super(name, invokeHandle, getInitialMap(), null, specs, ScriptFunctionData.IS_BUILTIN_CONSTRUCTOR); + super(name, invokeHandle, map$, null, specs, ScriptFunctionData.IS_BUILTIN_CONSTRUCTOR); init(global); } @@ -92,7 +76,7 @@ public class ScriptFunctionImpl extends ScriptFunction { } private ScriptFunctionImpl(final String name, final MethodHandle invokeHandle, final PropertyMap map, final MethodHandle[] specs, final Global global) { - super(name, invokeHandle, map.addAll(getInitialMap()), null, specs, ScriptFunctionData.IS_BUILTIN_CONSTRUCTOR); + super(name, invokeHandle, map.addAll(map$), null, specs, ScriptFunctionData.IS_BUILTIN_CONSTRUCTOR); init(global); } @@ -110,7 +94,7 @@ public class ScriptFunctionImpl extends ScriptFunction { } private ScriptFunctionImpl(final String name, final MethodHandle methodHandle, final ScriptObject scope, final MethodHandle[] specs, final int flags, final Global global) { - super(name, methodHandle, getMap(global, isStrict(flags)), scope, specs, flags); + super(name, methodHandle, getMap(isStrict(flags)), scope, specs, flags); init(global); } @@ -128,7 +112,7 @@ public class ScriptFunctionImpl extends ScriptFunction { } private ScriptFunctionImpl(final RecompilableScriptFunctionData data, final ScriptObject scope, final Global global) { - super(data, getMap(global, data.isStrict()), scope); + super(data, getMap(data.isStrict()), scope); init(global); } @@ -148,7 +132,7 @@ public class ScriptFunctionImpl extends ScriptFunction { * @param global the global object */ ScriptFunctionImpl(final ScriptFunctionData data, final Global global) { - super(data, getInitialBoundMap(), null); + super(data, boundfunctionmap$, null); init(global); } @@ -176,8 +160,8 @@ public class ScriptFunctionImpl extends ScriptFunction { } // Choose the map based on strict mode! - private static PropertyMap getMap(final Global global, final boolean strict) { - return strict ? getInitialStrictMap() : getInitialMap(); + private static PropertyMap getMap(final boolean strict) { + return strict ? strictmodemap$ : map$; } private static PropertyMap createBoundFunctionMap(final PropertyMap strictModeMap) { @@ -191,12 +175,8 @@ public class ScriptFunctionImpl extends ScriptFunction { private static class AnonymousFunction extends ScriptFunctionImpl { private static final PropertyMap anonmap$ = PropertyMap.newMap(); - static PropertyMap getInitialMap() { - return anonmap$; - } - AnonymousFunction(final Global global) { - super("", GlobalFunctions.ANONYMOUS, getInitialAnonymousMap(), null); + super("", GlobalFunctions.ANONYMOUS, anonmap$, null); } } |