Categories:
Audio (13)
Biotech (29)
Bytecode (36)
Database (77)
Framework (7)
Game (7)
General (507)
Graphics (53)
I/O (35)
IDE (2)
JAR Tools (102)
JavaBeans (21)
JDBC (121)
JDK (426)
JSP (20)
Logging (108)
Mail (58)
Messaging (8)
Network (84)
PDF (97)
Report (7)
Scripting (84)
Security (32)
Server (121)
Servlet (26)
SOAP (24)
Testing (54)
Web (15)
XML (322)
Collections:
Other Resources:
JDK 11 jdk.scripting.nashorn.jmod - Scripting Nashorn Module
JDK 11 jdk.scripting.nashorn.jmod is the JMOD file for JDK 11 Scripting Nashorn module.
JDK 11 Scripting Nashorn module compiled class files are stored in \fyicenter\jdk-11.0.1\jmods\jdk.scripting.nashorn.jmod.
JDK 11 Scripting Nashorn module compiled class files are also linked and stored in the \fyicenter\jdk-11.0.1\lib\modules JImage file.
JDK 11 Scripting Nashorn module source code files are stored in \fyicenter\jdk-11.0.1\lib\src.zip\jdk.scripting.nashorn.
You can click and view the content of each source code file in the list below.
✍: FYIcenter
⏎ jdk/nashorn/internal/runtime/PropertySwitchPoints.java
/*
* Copyright (c) 2010, 2017, Oracle and/or its affiliates. All rights reserved.
* ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/
package jdk.nashorn.internal.runtime;
import java.lang.invoke.SwitchPoint;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
import java.util.WeakHashMap;
import java.util.concurrent.atomic.LongAdder;
/**
* Helper class for tracking and invalidation of switchpoints for inherited properties.
*/
public class PropertySwitchPoints {
private final Map<Object, WeakSwitchPointSet> switchPointMap = new HashMap<>();
private final static SwitchPoint[] EMPTY_SWITCHPOINT_ARRAY = new SwitchPoint[0];
// These counters are updated in debug mode
private static LongAdder switchPointsAdded;
private static LongAdder switchPointsInvalidated;
static {
if (Context.DEBUG) {
switchPointsAdded = new LongAdder();
switchPointsInvalidated = new LongAdder();
}
}
/**
* Copy constructor
*
* @param switchPoints Proto switchpoints to copy
*/
private PropertySwitchPoints(final PropertySwitchPoints switchPoints) {
if (switchPoints != null) {
// We need to copy the nested weak sets in order to avoid concurrent modification issues, see JDK-8146274
synchronized (switchPoints) {
for (final Map.Entry<Object, WeakSwitchPointSet> entry : switchPoints.switchPointMap.entrySet()) {
this.switchPointMap.put(entry.getKey(), new WeakSwitchPointSet(entry.getValue()));
}
}
}
}
/**
* Return aggregate switchpoints added to all ProtoSwitchPoints
* @return the number of switchpoints added
*/
public static long getSwitchPointsAdded() {
return switchPointsAdded.longValue();
}
/**
* Return aggregate switchPointMap invalidated in all ProtoSwitchPoints
* @return the number of switchpoints invalidated
*/
public static long getSwitchPointsInvalidated() {
return switchPointsInvalidated.longValue();
}
/**
* Return number of property switchPoints added to a ScriptObject.
* @param obj the object
* @return the switchpoint count
*/
public static int getSwitchPointCount(final ScriptObject obj) {
return obj.getMap().getSwitchPointCount();
}
/**
* Return the number of switchpoints added to this ProtoSwitchPoints instance.
* @return the switchpoint count;
*/
int getSwitchPointCount() {
return switchPointMap.size();
}
/**
* Add {@code switchPoint} to the switchpoints for for property {@code key}, creating
* and returning a new {@code ProtoSwitchPoints} instance if the switchpoint was not already contained
*
* @param oldSwitchPoints the original PropertySwitchPoints instance. May be null
* @param key the property key
* @param switchPoint the switchpoint to be added
* @return the new PropertySwitchPoints instance, or this instance if switchpoint was already contained
*/
static PropertySwitchPoints addSwitchPoint(final PropertySwitchPoints oldSwitchPoints, final String key, final SwitchPoint switchPoint) {
if (oldSwitchPoints == null || !oldSwitchPoints.contains(key, switchPoint)) {
final PropertySwitchPoints newSwitchPoints = new PropertySwitchPoints(oldSwitchPoints);
newSwitchPoints.add(key, switchPoint);
return newSwitchPoints;
}
return oldSwitchPoints;
}
/**
* Checks whether {@code switchPoint} is contained in {@code key}'s set.
*
* @param key the property key
* @param switchPoint the switchPoint
* @return true if switchpoint is already contained for key
*/
private synchronized boolean contains(final String key, final SwitchPoint switchPoint) {
final WeakSwitchPointSet set = this.switchPointMap.get(key);
return set != null && set.contains(switchPoint);
}
private synchronized void add(final String key, final SwitchPoint switchPoint) {
if (Context.DEBUG) {
switchPointsAdded.increment();
}
WeakSwitchPointSet set = this.switchPointMap.get(key);
if (set == null) {
set = new WeakSwitchPointSet();
this.switchPointMap.put(key, set);
}
set.add(switchPoint);
}
Set<SwitchPoint> getSwitchPoints(final Object key) {
WeakSwitchPointSet switchPointSet = switchPointMap.get(key);
if (switchPointSet != null) {
return switchPointSet.elements();
}
return Collections.emptySet();
}
/**
* Invalidate all switchpoints for the given property. This is called when that
* property is created, deleted, or modified in a script object.
*
* @param prop The property to invalidate.
*/
synchronized void invalidateProperty(final Property prop) {
final WeakSwitchPointSet set = switchPointMap.get(prop.getKey());
if (set != null) {
if (Context.DEBUG) {
switchPointsInvalidated.add(set.size());
}
final SwitchPoint[] switchPoints = set.elements().toArray(EMPTY_SWITCHPOINT_ARRAY);
SwitchPoint.invalidateAll(switchPoints);
this.switchPointMap.remove(prop.getKey());
}
}
/**
* Invalidate all switchpoints except those defined in {@code map}. This is called
* when the prototype of a script object is changed.
*
* @param map map of properties to exclude from invalidation
*/
synchronized void invalidateInheritedProperties(final PropertyMap map) {
for (final Map.Entry<Object, WeakSwitchPointSet> entry : switchPointMap.entrySet()) {
if (map.findProperty(entry.getKey()) != null) {
continue;
}
if (Context.DEBUG) {
switchPointsInvalidated.add(entry.getValue().size());
}
final SwitchPoint[] switchPoints = entry.getValue().elements().toArray(EMPTY_SWITCHPOINT_ARRAY);
SwitchPoint.invalidateAll(switchPoints);
}
switchPointMap.clear();
}
private static class WeakSwitchPointSet {
private final WeakHashMap<SwitchPoint, Void> map;
WeakSwitchPointSet() {
map = new WeakHashMap<>();
}
WeakSwitchPointSet(final WeakSwitchPointSet set) {
map = new WeakHashMap<>(set.map);
}
void add(final SwitchPoint switchPoint) {
map.put(switchPoint, null);
}
boolean contains(final SwitchPoint switchPoint) {
return map.containsKey(switchPoint);
}
Set<SwitchPoint> elements() {
return map.keySet();
}
int size() {
return map.size();
}
}
}
⏎ jdk/nashorn/internal/runtime/PropertySwitchPoints.java
Or download all of them as a single archive file:
File name: jdk.scripting.nashorn-11.0.1-src.zip File size: 1390965 bytes Release date: 2018-11-04 Download
⇒ JDK 11 jdk.scripting.nashorn.shell.jmod - Scripting Nashorn Shell Module
2020-04-25, ≈222🔥, 0💬
Popular Posts:
ANTLR is a powerful parser generator for multiple programming languages including Java. ANTLR contai...
JDK 11 java.management.jmod is the JMOD file for JDK 11 Management module. JDK 11 Management module ...
JDK 11 jdk.internal.vm.compiler .jmodis the JMOD file for JDK 11 Internal VM Compiler module. JDK 11...
Jetty provides an HTTP server, HTTP client, and javax.servlet container. These components are open s...
Java Cryptography Extension 1.6 JAR File Size and Download Location: File name: jce.jar, jce-1.6.jar...