log
graph
tags
bookmarks
branches
changeset
browse
help
Mercurial
>
hg
>
Members
>
kono
>
jpf-core
log
Find changesets by keywords (author, files, the commit message), revision number or hash, or
revset expression
.
less
more
| rev 34:
(0)
tip
age
author
description
2017-12-19
Shinji KONO
cyclic dependency ...
default
tip
java9-try
2017-12-19
Shinji KONO
add modules
2017-02-07
nastaran
Extended the model class sun.misc.SharedSecrets to make it compatible with the updates in jdk8u121. The update caused the test gov.nasa.jpf.test.java.io.ObjectStreamTest to fail.
2016-05-25
nastaran
Updated the model class sun.misc.SharedSecrets to make it compatible with the recent updates in jdk8u75. New methods added to sun.misc.SharedSecrets are used by clinit in java.io.ObjectInputStream which caused JPF to throw java.lang.NoSuchMethodException.
2016-05-25
nastaran
Fixed a bug in AtomicLong native peer.
2015-10-16
nastaran
Fixed a bug in the implementation for lambda support. Now, every invocation of invokedynamic that is associated with a lamabda expression including free variables leads to a new instance of a function object.
2015-06-25
nastaran
Provided support for double colon operator used for lamabda expressions. Fixed a bug related to generating names for funcation object classes (by supporting double colon operator, a new stragety needed to generate unique names for function objects. To achive that the bootstrap ids are incorporated into names). Finally modified the method that retrieves the SAM from functional interfaces.
2015-05-11
Peter Mehlitz
fixed the missing class init status update for native clinits. Since we moved
2015-05-05
Peter Mehlitz
moved NonShared + checker listener over from old jpf-aprop. Note this is still a JVM specific listener but it could be VM agnostic
2015-04-22
Peter Mehlitz
added class name to warning for ambiguous native methods (without MJI signatures)
2015-04-21
Peter Mehlitz
the fix I would have liked to avoid - apparently hotspot internally does nested locking during class init, which can lead to deadlocks such as described in http://ternarysearch.blogspot.ru/2013/07/static-initialization-deadlock.html. Actually, it's not a regular deadlock since core dumps still list the threads as runnable, althouth it doesn't seem to be a livelock either. In any case, it can be simulated by nested locking and clinit execution, and it is such a serious defect that we want to be able to catch it. The general mechanism is to replace the disparate (but properly ordered) direct clinit calls of the generic ClassInfo.initializeClass() with a single sythetic method that includes all required locking (bottom up), clinit calls / class status change (top down), and unlocking (top down). We also need to add a synthetic insn to defer changing the class status of classes that don't have clinits(), or otherwise the correct lock/unlock order will not amount to anything if the hierarchy is entered through one of the clinit-absent classes. Now we get proper deadlocks if there are concurrent cyclic dependencies during class resolution. However, this can be such a state exploder that we certainly don't want this as the default behavior, especially since it probably is hotspot specific. Nested class init locking is therefore controlled by jvm.nested_init and respective jvm.nested_init.include/exclude options. Added a NestedInitTest to demonstrate use. Thanks to Lilia Abdulina for bringing this long forgotten issue up
2015-04-16
Peter Mehlitz
streamlined class init, which was a mixed case of registerClass()/initializeClass() and pushRequiredClinits(). Now it is a single initializeClass(ti) method which combines the previous initializeClass(), pushRequiredClinits() and pushClinit() methods. The reason for combining these is the forthcoming replacement of separately locked clinits from different DirectCallStackFrames with a single synthetic frame that calls clinits from nested synchronized blocks. This is required to model hotspot, which does cause deadlocks with concurrent init of classes that cause subclass init during their clinit executions.
2015-04-14
Peter Mehlitz
fixed JPF_.._Verify.registerChoiceGenerator() to not break and ignore the
2015-04-11
Peter Mehlitz
reshuffled Event hierarchy, introducing SystemEvent, with CheckEvent and
2015-04-06
Peter Mehlitz
changed EventForest to derive from EventTree, which kills three birds with one
2015-04-01
Peter Mehlitz
!!! NOTE: this marks the beginning of Java 8 dependency for jpf-core compilation.
2015-03-31
Peter Mehlitz
moved LogConsole to .jpf.tool package
2015-03-23
Peter Mehlitz
added a @NoJPFExecution annotation, which sets a NoJPFExec system attr on marked
2015-03-20
Peter Mehlitz
fixed forgotten ClInitRequired check in DateFormat - thanks to Jiri Vahala
2015-03-18
Peter Mehlitz
some minor syntax fixes to make IntelliJ happy
2015-03-17
Peter Mehlitz
bug caused by using the wrong index during scheduler.updateArraySharedness() -
2015-03-13
Peter Mehlitz
replaced ThreadInfo.yield() (which was bypassing SyncPolicy) with SyncPolicy.setsRescheduleCG(). The current use is only for the corner case where the last transition in the last non-daemon triggers a defect in a still runnable daemon, which we want to detect before the daemon is shut down.
2015-03-12
Peter Mehlitz
modified PathOutputMonitor to allow in-situ path specs. If the pom.{all|any|none} value starts with a double quote it is taken as the output spec. Also added a VerbatimOutputSpec in case we don't want regex matching
2015-02-25
Peter Mehlitz
PairPermutationGenerator didn't have public ctor
2015-02-25
nastaran
Made getRunnableCG add GlobalSchedulingPoint as an attribute to global choice generators that capture choices from multiple processes.
2015-02-14
Peter Mehlitz
added choice getters for EventChoiceGenerator
2015-02-12
Peter Mehlitz
added single element List optimization
2015-02-07
Peter Mehlitz
added a @JPFAttribute(TYPE_NAME,...) annotation for model classes (class, field and method target), which causes JPF to automatically set attribute objects that are instantiated from the provided type name args. Note that the respective attribute classes need to have a public default constructor. Added a JPFAttrAnnotationTest to show how to use it. This is the generic mechanism to use if we need to mark ClassInfos, MethodInfos and FieldInfos either from sources (using annotations), or from config files (type names/matchers used from listeners etc.) - base the processing on attributes, and set them from annotations via @JPFAttribute
2015-02-06
Peter Mehlitz
added a UniqueRandomPermGenerator that makes sure we don't return duplicates. It also checks the (unlikely and pointless) case that we request more permutations than N! and caps the number of samples accordingly
2015-02-06
Peter Mehlitz
slight fix of RandomPermutationGenerator, which should re-shuffle the original
2015-02-06
Peter Mehlitz
added some infrastructure to pull-generate permutations (total, random and
2015-02-03
Peter Mehlitz
added inverse matching in StringSetMatcher. Since this is not easy to do in regexes, it's at the next hight level in StringSetMatcher
2015-01-25
Peter Mehlitz
second part of the jpf-statechart motivated event interface overhaul, providing dynamic (context specific) expansion of EventTrees from within EventChoiceGenerators. This adds a EventContext mechanism that can replace events on-the-fly during advance() (e.g. expand wildcard patterns)
2015-01-23
Peter Mehlitz
first set of post v7 patches
2015-01-23
Peter Mehlitz
initial v8 import (history reset)
less
more
| rev 34:
(0)
tip