Commit Graph

  • 87098efef5 optimized notConstant case, for methods that first get and then put a field jochen 1999-04-01 11:02:10 +0000
  • 74ac101d57 remove compile from co.all jochen 1999-04-01 10:55:27 +0000
  • c8785ae837 added some copyright message jochen 1999-04-01 10:52:27 +0000
  • f7eee72ea3 changed copyright comment jochen 1999-04-01 10:52:26 +0000
  • 5ff87a1e0a reachableIdentifier fixed for classes jochen 1999-04-01 10:50:51 +0000
  • 8007f5401f fix double/long locals, fix jsr remove stores without locads jochen 1999-04-01 10:50:18 +0000
  • f184ef9b97 match method and fields with wildcards jochen 1999-04-01 10:49:43 +0000
  • 7e0a3c2c23 added analyzeIdentifier, which marks an Identifier for later analyze jochen 1999-04-01 10:49:00 +0000
  • 41abc177e9 removed dummy assign (noticed by jode.obfuscator.LocalOptimizer ;-) jochen 1999-04-01 10:48:11 +0000
  • 72244b562e bug fix in analyzeStack jochen 1999-04-01 10:47:33 +0000
  • 36834d3fcc mapStackToLocal: fix jochen 1999-04-01 10:46:55 +0000
  • 2e354c7d5b don't replace pop2 with if (stack == stack) /*empty*/, since this can lead to type errors jochen 1999-04-01 10:46:23 +0000
  • 303d5b2fe1 more verbose error messages changed copyright comment jochen 1999-04-01 10:46:01 +0000
  • 346300a6a8 set jump.stackMap changed copyright comment jochen 1999-04-01 10:45:48 +0000
  • 23e89665b7 update jump.stackMap give return address a type jochen 1999-04-01 10:44:36 +0000
  • 69db3adb88 setType of pushedLocal (mainly for stackSize) jochen 1999-04-01 10:43:38 +0000
  • 73985b87a4 update jump.stackMap if jump != null jochen 1999-04-01 10:43:13 +0000
  • 295632ab86 fixed a bug, where some jumps were neither resolved nor put on remaining list in resolveSomeJumps END_OF_METHOD no longer can have predecessors mapStackToLocals is more verbose on errors jochen 1999-04-01 10:40:24 +0000
  • ebbdf1e44f simplify values jochen 1999-04-01 10:39:18 +0000
  • 20091fa56d Initial revision jochen 1999-04-01 10:35:47 +0000
  • c0c72ebfec Use a CodeAnalyzer use SoftReference under jdk1.2 clean up unused fields jochen 1999-04-01 10:34:20 +0000
  • 6837d30c69 added analyze method jochen 1999-04-01 10:33:22 +0000
  • c8f5ba46ac Save constant, isNotConstant information jochen 1999-04-01 10:32:45 +0000
  • 4b6fdba442 fix in checkcast Use Reference simplification of opcodes jochen 1999-04-01 10:30:47 +0000
  • 7cbfee8e50 use reference jochen 1999-04-01 10:30:08 +0000
  • a5db396a49 use Reference MethodType changed jochen 1999-04-01 10:29:51 +0000
  • 6cd193db25 Use Reference jochen 1999-04-01 10:29:17 +0000
  • 23986f67c1 MethodType changed ., jochen 1999-04-01 10:29:07 +0000
  • 968e24ed1f fixes for switch blocks jochen 1999-04-01 10:28:34 +0000
  • 15b9ad802a MethodType changed jochen 1999-04-01 10:28:19 +0000
  • 0585583c26 use getConstant instead of reading ConstantValue attribute ourself jochen 1999-04-01 10:27:55 +0000
  • e4407e4c47 clear tmpInfo after analyzing jochen 1999-04-01 10:27:37 +0000
  • 543f1cc3d4 some methods added to add/remove/show/modify instructions jochen 1999-04-01 10:26:02 +0000
  • ba69dc47cb Reference instead of String[3[ jochen 1999-04-01 10:25:48 +0000
  • 33e95a8713 read ConstantValue attribute jochen 1999-04-01 10:25:23 +0000
  • 08f7ce61e5 Reference instead of String[3] jochen 1999-04-01 10:24:40 +0000
  • 66ca7ba07a WeakReferences for JDK1.2 jochen 1999-04-01 10:24:05 +0000
  • 8ebe96a5ac added copyright debugging messages big rewrites jochen 1999-04-01 10:23:25 +0000
  • 50add9944b changed copyright jochen 1999-04-01 10:22:58 +0000
  • f2c7562eaf hex optimized jochen 1999-04-01 10:22:26 +0000
  • 4150e5c3aa getDefaultValue added WeakReferences for jdk1.2 jochen 1999-04-01 10:22:01 +0000
  • 521eaf3f22 added copyright is now a subclass of Type staticFlag removed jochen 1999-04-01 10:21:30 +0000
  • 83d1b39a7d added copyright getDefaultValue added jochen 1999-04-01 10:21:03 +0000
  • 3c368f3a9b Initial revision jochen 1999-04-01 10:20:51 +0000
  • 715af096ca added copyright jochen 1999-04-01 10:20:21 +0000
  • 021b54977d ci addHeader.pl jochen 1999-04-01 10:20:17 +0000
  • 6ea2cfece6 ci TODO jochen 1999-04-01 10:18:51 +0000
  • ea628da246 CodeInfo loading moved to codeanalyzer jochen 1999-03-20 00:39:03 +0000
  • 6895f071d3 overwrite parameter and use only one local jochen 1999-03-20 00:38:35 +0000
  • f06681c378 a simple test for overwriting parameters jochen 1999-03-20 00:38:05 +0000
  • 5cb3c63388 Use BytecodeInfo, much much much simpler now :-) Do some code transformations jochen 1999-03-20 00:37:10 +0000
  • 9267e857f7 Initial revision jochen 1999-03-20 00:36:45 +0000
  • c7fbe7c2b9 reserveSmallConstants renamed to doCodeTransformation jochen 1999-03-20 00:36:16 +0000
  • ed8097fb50 Use new BytecodeInfo, got a bit simpler jochen 1999-03-20 00:35:33 +0000
  • c96266226d *** empty log message *** jochen 1999-03-20 00:35:29 +0000
  • 8768f0e902 destinations are FlowBlocks, not addresses jochen 1999-03-20 00:34:59 +0000
  • df363d6ed0 fillSuccessor has different semantic: It calls addSuccessor of flowBlock on each jump jochen 1999-03-20 00:34:21 +0000
  • 6e8cf9cbad jump.destAddr removed jochen 1999-03-20 00:33:55 +0000
  • 45bee37c0c Simpler use of ConstOperator jochen 1999-03-20 00:33:15 +0000
  • 01d4915520 removed destAddr jochen 1999-03-20 00:32:56 +0000
  • 8e86ca8efa constructor parameters reordered (to be consistent) mapStackToLocal added jochen 1999-03-20 00:32:30 +0000
  • 512c890f51 setJump adds the gen kill info. jochen 1999-03-20 00:32:05 +0000
  • 2a2e89452e some changes, especially resolveJump()... has to do with new BytecodeInfo jochen 1999-03-20 00:31:11 +0000
  • 8e762d9d2e ConstOperator is simpler Print new line after /* fall through */ jochen 1999-03-20 00:30:17 +0000
  • 73ea320fbf new ConstOperator constructor use BytecodeInfo for Interpreter jochen 1999-03-20 00:29:55 +0000
  • df9782bde4 new ConstOperator constructor jochen 1999-03-20 00:29:33 +0000
  • de48d66d07 Now stores an Object (Integer,Float,Double,Long,String,null) instead of a String, and the Constructor handles different constants. jochen 1999-03-20 00:28:49 +0000
  • a2bee154c0 calculate the "empty" ConstOperator jochen 1999-03-20 00:28:06 +0000
  • 94da811de1 Use new BytecodeInfo (much simpler) jochen 1999-03-20 00:26:58 +0000
  • 93ce417a9b Now gets a ConstantPool instead of a ClassAnalyzer jochen 1999-03-20 00:26:17 +0000
  • dd129994ff simpler use of ConstOperator jochen 1999-03-20 00:25:44 +0000
  • 1d77b7ad18 Initial revision jochen 1999-03-20 00:25:33 +0000
  • 4a40e01fac Use new BytecodeInfo. Use new DeadCodeAnalyzer jochen 1999-03-20 00:24:51 +0000
  • 1e5706d8f9 added string representation of the opcodes jochen 1999-03-20 00:24:37 +0000
  • 272da5df61 new keys, to reserve Strings without using the UTF entry putConstant added jochen 1999-03-20 00:23:06 +0000
  • c352536458 getConstantType/Int/String removed. getConstant is sufficient jochen 1999-03-20 00:22:35 +0000
  • 7c38ff13aa fix jochen 1999-03-20 00:22:18 +0000
  • 031543199d Garbage collect after each class jochen 1999-03-20 00:21:47 +0000
  • 0e1e5a6830 clazz string doesn't contain quotes anymore jochen 1999-03-15 21:29:14 +0000
  • e7a1201110 *** empty log message *** jochen 1999-03-15 21:28:58 +0000
  • c8d13a5f43 some more fixes for special cases jochen 1999-03-15 21:28:48 +0000
  • 44e5268536 Fixed for new early addOperand jochen 1999-03-15 21:28:31 +0000
  • e5b2385980 string doesn't contain quotes anymore call analyzedSynthetic jochen 1999-03-15 21:28:09 +0000
  • cfdf0bf6d8 rhsType for String += is String! jochen 1999-03-15 21:27:24 +0000
  • aed8134f9c mark synthetic fields jochen 1999-03-15 21:27:05 +0000
  • b568f03e40 adapted to new early operands jochen 1999-03-15 19:32:16 +0000
  • 8593d39156 new test jochen 1999-03-15 18:02:38 +0000
  • aec2d9ac5e removeOnetimeLocals jochen 1999-03-15 18:02:25 +0000
  • 7c30104a69 lot of changes for new early operand merging now also detects 1.0 as ++ or -- jochen 1999-03-15 18:01:03 +0000
  • 25e2f38ce9 fix for multiple combining expreessions jochen 1999-03-15 18:00:35 +0000
  • 9137b2e0d2 comment clarification jochen 1999-03-15 18:00:02 +0000
  • 217df2f36a hasSideEffects jochen 1999-03-15 17:59:52 +0000
  • d485db68bb priority setType of operand, when replacing with operand jochen 1999-03-15 17:59:28 +0000
  • 15bfb89b59 empty string fixed set type claims on type errors removeOnetimeLocals jochen 1999-03-15 17:59:01 +0000
  • 981c5de033 ++: check for 1 and 1.0 print type errors setSubExpression enabled jochen 1999-03-15 17:56:56 +0000
  • e32850d300 Don't add "F" to floats jochen 1999-03-15 17:56:43 +0000
  • 572bd86855 print lvt indented jochen 1999-03-15 17:56:30 +0000
  • 96ea5a1115 merge variables with overlapping addr, same name and same type jochen 1999-03-15 17:56:13 +0000
  • f5c4c1d9b3 warn about type errors jochen 1999-03-15 17:55:53 +0000
  • 6eb3890162 showLVT: Show method names jochen 1999-03-15 17:44:10 +0000