| Prepared by: | jrose on Sat Jul 12 17:50:17 PDT 2008 |
|---|---|
| Workspace: | /Users/jrose/Projects/hotspot/hotspot-dvm |
| Compare against: | http://hg.openjdk.java.net/jdk7/hotspot-comp-gate/hotspot |
| Compare against version: | 145 |
| Summary of changes: | 3949 lines changed: 2724 ins; 593 del; 632 mod; 72917 unchg |
| Patch of changes: | hotspot-dvm.patch |
| Author comments: |
For eventual putback to http://hg.openjdk.java.net/jdk7/hotspot-comp-gate/hotspot
6711911, part “layout”: refactor layout computations Problem 1: The layout handler word needs more degrees of freedom to represent mixed arrays. Solution 1: Refactor the layout handler to support arrays with arbitrary header and element sizes. Move it into its own class and header file. Problem 2: The loops for oop iteration are defined as macro nests. This makes it hard to debug them and impossible to reuse (across file boundaries). Solution 2: Express oop iteration loops as external iterator templates. Portability and performance is ensured by using a style similar to STL. (Note: This change is part of a larger set of changes to the heap manager.) |
| Legend: |
Modified file Deleted file New file |
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
agent/src/share/classes/sun/jvm/hotspot/oops/Array.java
rev 146 : [mq]: mixa.layout.patch1 line changed: 0 ins; 0 del; 1 mod; 116 unchg
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
agent/src/share/classes/sun/jvm/hotspot/oops/ArrayKlass.java
rev 146 : [mq]: mixa.layout.patch9 lines changed: 0 ins; 8 del; 1 mod; 150 unchg
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
agent/src/share/classes/sun/jvm/hotspot/oops/InstanceKlass.java
rev 146 : [mq]: mixa.layout.patch17 lines changed: 5 ins; 7 del; 5 mod; 872 unchg
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
agent/src/share/classes/sun/jvm/hotspot/oops/Klass.java
rev 146 : [mq]: mixa.layout.patch67 lines changed: 54 ins; 0 del; 13 mod; 196 unchg
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
agent/src/share/classes/sun/jvm/hotspot/utilities/HeapGXLWriter.java
rev 146 : [mq]: mixa.layout.patch1 line changed: 1 ins; 0 del; 0 mod; 410 unchg
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
src/cpu/sparc/vm/c1_Runtime1_sparc.cpp
rev 146 : [mq]: mixa.layout.patch164 lines changed: 119 ins; 27 del; 18 mod; 853 unchg
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
src/cpu/sparc/vm/stubGenerator_sparc.cpp
rev 146 : [mq]: mixa.layout.patch33 lines changed: 7 ins; 15 del; 11 mod; 3023 unchg
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
src/cpu/sparc/vm/templateTable_sparc.cpp
rev 146 : [mq]: mixa.layout.patch4 lines changed: 2 ins; 0 del; 2 mod; 3574 unchg
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
src/cpu/x86/vm/c1_Runtime1_x86.cpp
rev 146 : [mq]: mixa.layout.patch170 lines changed: 121 ins; 29 del; 20 mod; 1350 unchg
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
src/cpu/x86/vm/stubGenerator_x86_32.cpp
rev 146 : [mq]: mixa.layout.patch42 lines changed: 14 ins; 12 del; 16 mod; 2157 unchg
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
src/cpu/x86/vm/stubGenerator_x86_64.cpp
rev 146 : [mq]: mixa.layout.patch32 lines changed: 10 ins; 11 del; 11 mod; 2964 unchg
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
src/cpu/x86/vm/templateTable_x86_32.cpp
rev 146 : [mq]: mixa.layout.patch2 lines changed: 1 ins; 0 del; 1 mod; 3498 unchg
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
src/cpu/x86/vm/templateTable_x86_64.cpp
rev 146 : [mq]: mixa.layout.patch2 lines changed: 1 ins; 0 del; 1 mod; 3548 unchg
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
src/share/vm/c1/c1_LIRGenerator.cpp
rev 146 : [mq]: mixa.layout.patch4 lines changed: 1 ins; 0 del; 3 mod; 2531 unchg
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
src/share/vm/ci/ciArray.hpp
rev 146 : [mq]: mixa.layout.patch2 lines changed: 1 ins; 0 del; 1 mod; 51 unchg
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
src/share/vm/ci/ciInstance.cpp
rev 146 : [mq]: mixa.layout.patch6 lines changed: 6 ins; 0 del; 0 mod; 134 unchg
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
src/share/vm/ci/ciInstance.hpp
rev 146 : [mq]: mixa.layout.patch2 lines changed: 2 ins; 0 del; 0 mod; 61 unchg
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
src/share/vm/ci/ciInstanceKlass.cpp
rev 146 : [mq]: mixa.layout.patch7 lines changed: 1 ins; 0 del; 6 mod; 544 unchg
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
src/share/vm/ci/ciInstanceKlass.hpp
rev 146 : [mq]: mixa.layout.patch6 lines changed: 0 ins; 1 del; 5 mod; 195 unchg
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
src/share/vm/ci/ciKlass.cpp
rev 146 : [mq]: mixa.layout.patch2 lines changed: 0 ins; 0 del; 2 mod; 233 unchg
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
src/share/vm/ci/ciKlass.hpp
rev 146 : [mq]: mixa.layout.patch2 lines changed: 0 ins; 0 del; 2 mod; 117 unchg
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
src/share/vm/ci/ciObject.hpp
rev 146 : [mq]: mixa.layout.patch5 lines changed: 4 ins; 0 del; 1 mod; 259 unchg
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
src/share/vm/ci/ciTypeArray.hpp
rev 146 : [mq]: mixa.layout.patch1 line changed: 1 ins; 0 del; 0 mod; 52 unchg
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
src/share/vm/ci/ciTypeArrayKlass.hpp
rev 146 : [mq]: mixa.layout.patch1 line changed: 0 ins; 0 del; 1 mod; 54 unchg
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
src/share/vm/classfile/classFileParser.cpp
rev 146 : [mq]: mixa.layout.patch28 lines changed: 9 ins; 2 del; 17 mod; 4032 unchg
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
src/share/vm/gc_implementation/includeDB_gc_concurrentMarkSweep
rev 146 : [mq]: mixa.layout.patch2 lines changed: 2 ins; 0 del; 0 mod; 240 unchg
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
src/share/vm/gc_implementation/includeDB_gc_parNew
rev 146 : [mq]: mixa.layout.patch1 line changed: 1 ins; 0 del; 0 mod; 87 unchg
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
src/share/vm/gc_implementation/parNew/parNewGeneration.cpp
rev 146 : [mq]: mixa.layout.patch17 lines changed: 14 ins; 1 del; 2 mod; 1231 unchg
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
src/share/vm/includeDB_core
rev 146 : [mq]: mixa.layout.patch15 lines changed: 14 ins; 0 del; 1 mod; 4628 unchg
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
src/share/vm/memory/iterator.hpp
rev 146 : [mq]: mixa.layout.patch22 lines changed: 20 ins; 1 del; 1 mod; 200 unchg
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
src/share/vm/memory/oopFactory.cpp
rev 146 : [mq]: mixa.layout.patch2 lines changed: 0 ins; 0 del; 2 mod; 143 unchg
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
src/share/vm/memory/oopFactory.hpp
rev 146 : [mq]: mixa.layout.patch1 line changed: 0 ins; 0 del; 1 mod; 110 unchg
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
src/share/vm/memory/space.cpp
rev 146 : [mq]: mixa.layout.patch1 line changed: 0 ins; 0 del; 1 mod; 948 unchg
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
src/share/vm/memory/specialized_oop_closures.cpp
rev 146 : [mq]: mixa.layout.patch15 lines changed: 5 ins; 0 del; 10 mod; 104 unchg
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
src/share/vm/memory/specialized_oop_closures.hpp
rev 146 : [mq]: mixa.layout.patch3 lines changed: 3 ins; 0 del; 0 mod; 235 unchg
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
src/share/vm/oops/arrayKlass.cpp
rev 146 : [mq]: mixa.layout.patch1 line changed: 0 ins; 0 del; 1 mod; 198 unchg
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
src/share/vm/oops/arrayKlass.hpp
rev 146 : [mq]: mixa.layout.patch6 lines changed: 1 ins; 0 del; 5 mod; 129 unchg
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
src/share/vm/oops/arrayOop.hpp
rev 146 : [mq]: mixa.layout.patch6 lines changed: 6 ins; 0 del; 0 mod; 115 unchg
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
src/share/vm/oops/instanceKlass.cpp
rev 146 : [mq]: mixa.layout.patch449 lines changed: 162 ins; 182 del; 105 mod; 2329 unchg
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
src/share/vm/oops/instanceKlass.hpp
rev 146 : [mq]: mixa.layout.patch369 lines changed: 336 ins; 5 del; 28 mod; 911 unchg
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
src/share/vm/oops/instanceKlassKlass.cpp
rev 146 : [mq]: mixa.layout.patch34 lines changed: 16 ins; 3 del; 15 mod; 793 unchg
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
src/share/vm/oops/instanceKlassKlass.hpp
rev 146 : [mq]: mixa.layout.patch1 line changed: 0 ins; 0 del; 1 mod; 85 unchg
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
src/share/vm/oops/instanceRefKlass.cpp
rev 146 : [mq]: mixa.layout.patch7 lines changed: 0 ins; 0 del; 7 mod; 462 unchg
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
src/share/vm/oops/instanceRefKlass.hpp
rev 146 : [mq]: mixa.layout.patch7 lines changed: 0 ins; 7 del; 0 mod; 80 unchg
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
src/share/vm/oops/klass.cpp
rev 146 : [mq]: mixa.layout.patch21 lines changed: 0 ins; 20 del; 1 mod; 540 unchg
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
src/share/vm/oops/klass.hpp
rev 146 : [mq]: mixa.layout.patch198 lines changed: 77 ins; 105 del; 16 mod; 647 unchg
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
src/share/vm/oops/klassKlass.cpp
rev 146 : [mq]: mixa.layout.patch2 lines changed: 2 ins; 0 del; 0 mod; 252 unchg
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
src/share/vm/oops/objArrayKlass.cpp
rev 146 : [mq]: mixa.layout.patch252 lines changed: 83 ins; 104 del; 65 mod; 356 unchg
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
src/share/vm/oops/objArrayKlass.hpp
rev 146 : [mq]: mixa.layout.patch51 lines changed: 38 ins; 9 del; 4 mod; 123 unchg
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
src/share/vm/oops/objArrayKlassKlass.cpp
rev 146 : [mq]: mixa.layout.patch2 lines changed: 0 ins; 0 del; 2 mod; 306 unchg
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
src/share/vm/oops/objArrayOop.cpp
rev 146 : [mq]: mixa.layout.patch9 lines changed: 0 ins; 8 del; 1 mod; 27 unchg
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
src/share/vm/oops/objArrayOop.hpp
rev 146 : [mq]: mixa.layout.patch23 lines changed: 16 ins; 0 del; 7 mod; 85 unchg
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
src/share/vm/oops/oop.hpp
rev 146 : [mq]: mixa.layout.patch85 lines changed: 27 ins; 2 del; 56 mod; 328 unchg
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
src/share/vm/oops/oop.inline.hpp
rev 146 : [mq]: mixa.layout.patch180 lines changed: 70 ins; 24 del; 86 mod; 589 unchg
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
src/share/vm/oops/oopsHierarchy.hpp
rev 146 : [mq]: mixa.layout.patch21 lines changed: 21 ins; 0 del; 0 mod; 184 unchg
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
src/share/vm/oops/typeArrayKlass.cpp
rev 146 : [mq]: mixa.layout.patch26 lines changed: 13 ins; 0 del; 13 mod; 347 unchg
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
src/share/vm/oops/typeArrayKlass.hpp
rev 146 : [mq]: mixa.layout.patch1 line changed: 1 ins; 0 del; 0 mod; 103 unchg
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
src/share/vm/oops/typeArrayOop.hpp
rev 146 : [mq]: mixa.layout.patch14 lines changed: 1 ins; 6 del; 7 mod; 130 unchg
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
src/share/vm/opto/compile.cpp
rev 146 : [mq]: mixa.layout.patch1 line changed: 0 ins; 0 del; 1 mod; 2403 unchg
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
src/share/vm/opto/graphKit.cpp
rev 146 : [mq]: mixa.layout.patch47 lines changed: 17 ins; 1 del; 29 mod; 3148 unchg
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
src/share/vm/opto/graphKit.hpp
rev 146 : [mq]: mixa.layout.patch1 line changed: 0 ins; 0 del; 1 mod; 719 unchg
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
src/share/vm/opto/library_call.cpp
rev 146 : [mq]: mixa.layout.patch33 lines changed: 21 ins; 2 del; 10 mod; 4929 unchg
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
src/share/vm/opto/macro.cpp
rev 146 : [mq]: mixa.layout.patch1 line changed: 0 ins; 0 del; 1 mod; 1728 unchg
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
src/share/vm/opto/memnode.cpp
rev 146 : [mq]: mixa.layout.patch4 lines changed: 1 ins; 0 del; 3 mod; 3802 unchg
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
src/share/vm/opto/runtime.cpp
rev 146 : [mq]: mixa.layout.patch2 lines changed: 0 ins; 1 del; 1 mod; 1175 unchg
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
src/share/vm/runtime/globals.hpp
rev 146 : [mq]: mixa.layout.patch3 lines changed: 3 ins; 0 del; 0 mod; 3255 unchg
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
src/share/vm/runtime/handles.hpp
rev 146 : [mq]: mixa.layout.patch1 line changed: 0 ins; 0 del; 1 mod; 347 unchg
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
src/share/vm/runtime/vmStructs.cpp
rev 146 : [mq]: mixa.layout.patch27 lines changed: 18 ins; 0 del; 9 mod; 2273 unchg
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
src/share/vm/utilities/globalDefinitions.hpp
rev 146 : [mq]: mixa.layout.patch12 lines changed: 12 ins; 0 del; 0 mod; 1119 unchg
------ ------ ------
------
---
New
Patch
Raw
src/share/vm/oops/layoutHelper.cpp
rev 146 : [mq]: mixa.layout.patch209 lines changed: 209 ins; 0 del; 0 mod; 0 unchg
------ ------ ------
------
---
New
Patch
Raw
src/share/vm/oops/layoutHelper.hpp
rev 146 : [mq]: mixa.layout.patch445 lines changed: 445 ins; 0 del; 0 mod; 0 unchg
------ ------ ------
------
---
New
Patch
Raw
src/share/vm/oops/mixedArrayKlass.cpp
rev 146 : [mq]: mixa.layout.patch348 lines changed: 348 ins; 0 del; 0 mod; 0 unchg
------ ------ ------
------
---
New
Patch
Raw
src/share/vm/oops/mixedArrayKlass.hpp
rev 146 : [mq]: mixa.layout.patch332 lines changed: 332 ins; 0 del; 0 mod; 0 unchg
------ ------ ------
------
---
New
Patch
Raw
src/share/vm/oops/objArrayOop.inline.hpp
rev 146 : [mq]: mixa.layout.patch29 lines changed: 29 ins; 0 del; 0 mod; 0 unchg
This code review page was prepared using /Users/jrose/bin/webrev (vers 23.8-hg).