asm merge requestshttps://gitlab.ow2.org/asm/asm/-/merge_requests2018-09-05T18:45:33Zhttps://gitlab.ow2.org/asm/asm/-/merge_requests/201Methodwriter ldc condy should generate ldc2 w if result is a long or a double2018-09-05T18:45:33ZRemi ForaxMethodwriter ldc condy should generate ldc2 w if result is a long or a doubleas said in the title, i've overlook that when ldcing a condy, the result can be a double or a long that takes two spaces on stack and needs LDC2_W to be loaded
close #317850as said in the title, i've overlook that when ldcing a condy, the result can be a double or a long that takes two spaces on stack and needs LDC2_W to be loaded
close #317850Eric BrunetonEric Brunetonhttps://gitlab.ow2.org/asm/asm/-/merge_requests/202Add parenthesis in the description of the visit calls of the ModuleVisitor to...2018-08-28T21:29:50ZRemi ForaxAdd parenthesis in the description of the visit calls of the ModuleVisitor to make the description more clearAs the title says
close #317846As the title says
close #317846Eric BrunetonEric Brunetonhttps://gitlab.ow2.org/asm/asm/-/merge_requests/203Remapper do not remap constant dynamic and handle correctly2018-09-06T20:20:41ZRemi ForaxRemapper do not remap constant dynamic and handle correctlyAdd the support of ConstantDynamic to Remapper.mapValue and fix the code for Handle.
While working on that fix i've discovered that the code that handles Handle in Remapper.mapValue suppose that the Handle descriptor is always a method ...Add the support of ConstantDynamic to Remapper.mapValue and fix the code for Handle.
While working on that fix i've discovered that the code that handles Handle in Remapper.mapValue suppose that the Handle descriptor is always a method descriptor but it's not true constant method handles that reference a field are decribed using a field descriptor.
close #317852Eric BrunetonEric Brunetonhttps://gitlab.ow2.org/asm/asm/-/merge_requests/204Resolve "Analyzer gets StackOverflowError when method has lots of jumps"2018-09-01T12:57:38ZEric BrunetonResolve "Analyzer gets StackOverflowError when method has lots of jumps"Closes #317851Closes #317851Remi ForaxRemi Foraxhttps://gitlab.ow2.org/asm/asm/-/merge_requests/205Use the OpenJDK codetools to avoid testing ASM with classes produced with ASM.2018-09-01T12:59:34ZEric BrunetonUse the OpenJDK codetools to avoid testing ASM with classes produced with ASM.Remi ForaxRemi Foraxhttps://gitlab.ow2.org/asm/asm/-/merge_requests/206Resolve "SimpleVerifier merges types incorrectly when one type is an interface"2018-09-03T18:18:59ZEric BrunetonResolve "SimpleVerifier merges types incorrectly when one type is an interface"Closes #317853. The relaxed type check was incorrectly added in isAssignableFrom() (in https://gitlab.ow2.org/asm/asm/commit/30cb84df51ddbb7672cd87fbb4c3ba5a9e04a1c2), instead of isSubTypeOf().Closes #317853. The relaxed type check was incorrectly added in isAssignableFrom() (in https://gitlab.ow2.org/asm/asm/commit/30cb84df51ddbb7672cd87fbb4c3ba5a9e04a1c2), instead of isSubTypeOf().Remi ForaxRemi Foraxhttps://gitlab.ow2.org/asm/asm/-/merge_requests/207Prepare for the next version, 7.0-beta.2018-09-06T19:58:30ZEric BrunetonPrepare for the next version, 7.0-beta.Remi ForaxRemi Foraxhttps://gitlab.ow2.org/asm/asm/-/merge_requests/208javac 12 doesn't support -source 1.6 and -target 1.6, so bump to 1.72018-09-06T20:27:49ZRemi Foraxjavac 12 doesn't support -source 1.6 and -target 1.6, so bump to 1.7javac 12 doesn't support -source 1.6 and -target 1.6, so bump the classfile version used to compile to 1.7javac 12 doesn't support -source 1.6 and -target 1.6, so bump the classfile version used to compile to 1.7Eric BrunetonEric Brunetonhttps://gitlab.ow2.org/asm/asm/-/merge_requests/209merge failure so a ref to ASM7_EXPERIMENTAL was not replaced by ASM72018-09-06T21:15:19ZRemi Foraxmerge failure so a ref to ASM7_EXPERIMENTAL was not replaced by ASM7merge failure so a ref to ASM7_EXPERIMENTAL was not replaced by ASM7merge failure so a ref to ASM7_EXPERIMENTAL was not replaced by ASM7https://gitlab.ow2.org/asm/asm/-/merge_requests/210Don't fork a JVM to run the sigtest tasks. This is more efficient and make th...2018-09-08T07:56:36ZEric BrunetonDon't fork a JVM to run the sigtest tasks. This is more efficient and make the script simpler.Remi ForaxRemi Foraxhttps://gitlab.ow2.org/asm/asm/-/merge_requests/211Delete the xml package. Since we don't update it anymore (for instance, we…2018-09-08T08:02:29ZEric BrunetonDelete the xml package. Since we don't update it anymore (for instance, we…Delete the xml package. Since we don't update it anymore (for instance, we didn't update it for constant dynamic and nest mates), we don't need to keep the code. Those who are still using it can use the latest packaged version on Maven C...Delete the xml package. Since we don't update it anymore (for instance, we didn't update it for constant dynamic and nest mates), we don't need to keep the code. Those who are still using it can use the latest packaged version on Maven Central.Remi ForaxRemi Foraxhttps://gitlab.ow2.org/asm/asm/-/merge_requests/212Add more tests to make sure visitLdcInsn() is updated when new constant types...2018-09-08T07:57:36ZEric BrunetonAdd more tests to make sure visitLdcInsn() is updated when new constant types are added.Remi ForaxRemi Foraxhttps://gitlab.ow2.org/asm/asm/-/merge_requests/213Fix the Gradle 5.0 deprecation warnings. Task.execute() will be removed, the ...2018-09-08T08:08:48ZEric BrunetonFix the Gradle 5.0 deprecation warnings. Task.execute() will be removed, the new…Fix the Gradle 5.0 deprecation warnings. Task.execute() will be removed, the new code avoids forking a JVM to retrofit the classes.Fix the Gradle 5.0 deprecation warnings. Task.execute() will be removed, the new code avoids forking a JVM to retrofit the classes.Remi ForaxRemi Foraxhttps://gitlab.ow2.org/asm/asm/-/merge_requests/214When ASM throws an UnsupportedOperationException, an error message should ind...2018-09-08T09:58:06ZRemi ForaxWhen ASM throws an UnsupportedOperationException, an error message should indicate the api level requiredWhen ASM throws an UnsupportedOperationException, an error message should indicate the api level requiredWhen ASM throws an UnsupportedOperationException, an error message should indicate the api level requiredEric BrunetonEric Brunetonhttps://gitlab.ow2.org/asm/asm/-/merge_requests/215Resolve "Bug in AdviceAdapter.java with superclass constructors"2018-09-08T11:02:08ZEric BrunetonResolve "Bug in AdviceAdapter.java with superclass constructors"Closes #317856Closes #317856Remi ForaxRemi Foraxhttps://gitlab.ow2.org/asm/asm/-/merge_requests/216Use the memory profiler only for the memory benchmarks. This reduces the time…2018-09-10T17:55:04ZEric BrunetonUse the memory profiler only for the memory benchmarks. This reduces the time…Use the memory profiler only for the memory benchmarks. This reduces the time per iteration, allowing to do more iterations. This also gives a more natural setup, without explicit gc calls between iterations. All this reduces the varianc...Use the memory profiler only for the memory benchmarks. This reduces the time per iteration, allowing to do more iterations. This also gives a more natural setup, without explicit gc calls between iterations. All this reduces the variance of the results.Remi ForaxRemi Foraxhttps://gitlab.ow2.org/asm/asm/-/merge_requests/217Fix the performance regression from 6.1 by splitting the generic cache into s...2018-09-11T18:23:02ZEric BrunetonFix the performance regression from 6.1 by splitting the generic cache into specific ones.Result of benchmarks with current code:
run1:
```
Benchmark Mode Cnt Score Error Units
AdapterBenchmark.getClassInfo_asm6_1 thrpt 30 14141,922 ± 41,536 ops/s
AdapterBenchmark.getClassI...Result of benchmarks with current code:
run1:
```
Benchmark Mode Cnt Score Error Units
AdapterBenchmark.getClassInfo_asm6_1 thrpt 30 14141,922 ± 41,536 ops/s
AdapterBenchmark.getClassInfo_asmCurrent thrpt 30 14819,696 ± 42,003 ops/s
AdapterBenchmark.read_asm6_1 thrpt 30 646,597 ± 1,359 ops/s
AdapterBenchmark.read_asmCurrent thrpt 30 628,984 ± 1,697 ops/s
```
run2:
```
Benchmark Mode Cnt Score Error Units
AdapterBenchmark.getClassInfo_asm6_1 thrpt 30 14082,588 ± 42,736 ops/s
AdapterBenchmark.getClassInfo_asmCurrent thrpt 30 14628,865 ± 35,585 ops/s
AdapterBenchmark.read_asm6_1 thrpt 30 639,519 ± 1,366 ops/s
AdapterBenchmark.read_asmCurrent thrpt 30 624,722 ± 1,665 ops/s
```
Result of benchmark with proposed change:
run1:
```
Benchmark Mode Cnt Score Error Units
AdapterBenchmark.getClassInfo_asm6_1 thrpt 30 14043,245 ± 52,400 ops/s
AdapterBenchmark.getClassInfo_asmCurrent thrpt 30 14623,223 ± 41,837 ops/s
AdapterBenchmark.read_asm6_1 thrpt 30 644,845 ± 1,593 ops/s
AdapterBenchmark.read_asmCurrent thrpt 30 645,371 ± 1,641 ops/s
```
run2:
```
Benchmark Mode Cnt Score Error Units
AdapterBenchmark.getClassInfo_asm6_1 thrpt 30 14223,612 ± 48,813 ops/s
AdapterBenchmark.getClassInfo_asmCurrent thrpt 30 15119,416 ± 47,059 ops/s
AdapterBenchmark.read_asm6_1 thrpt 30 638,051 ± 1,492 ops/s
AdapterBenchmark.read_asmCurrent thrpt 30 640,978 ± 1,493 ops/s
```Remi ForaxRemi Foraxhttps://gitlab.ow2.org/asm/asm/-/merge_requests/218Check code quality with checkstyle2018-09-15T11:46:42ZEric BrunetonCheck code quality with checkstyleI split the changes in several commits for "easier" review (you can look at them separately). I will squash them on merge.I split the changes in several commits for "easier" review (you can look at them separately). I will squash them on merge.Remi ForaxRemi Foraxhttps://gitlab.ow2.org/asm/asm/-/merge_requests/219Add more checkstyle modules2018-09-16T18:41:17ZEric BrunetonAdd more checkstyle modulesAgain, I split the changes in several commits for easier review.Again, I split the changes in several commits for easier review.Remi ForaxRemi Foraxhttps://gitlab.ow2.org/asm/asm/-/merge_requests/220when testing, do not load classes that are tagged as preview2019-01-13T23:39:08ZRemi Foraxwhen testing, do not load classes that are tagged as previewclassfiles tagged as preview (with the minor version set to 65535/-1) can not be loaded by a VM unless the VM is started with the flag --enable-preview so this patch disable the loading of preview classes during the testclassfiles tagged as preview (with the minor version set to 65535/-1) can not be loaded by a VM unless the VM is started with the flag --enable-preview so this patch disable the loading of preview classes during the testEric BrunetonEric Bruneton