Wed, 06 Jul 2011 16:01:29 +0200 |
Lukas Stadler |
new escape analysis mechanism: don't use blocks during iteration, VirtualObjectFields merged with phis
|
Mon, 04 Jul 2011 18:04:44 +0200 |
Lukas Stadler |
merge
|
Mon, 04 Jul 2011 18:04:12 +0200 |
Lukas Stadler |
canonicalization for CheckCast, InstanceOf, IsNonNull, IsType and NotInstanceOf, checkstyle fix
|
Wed, 06 Jul 2011 16:15:15 +0200 |
Thomas Wuerthinger |
Lowering of array accesses.
|
Wed, 06 Jul 2011 13:28:51 +0200 |
Thomas Wuerthinger |
Removed ExceptionDispatch node (replaced with normal InstanceOf).
|
Wed, 06 Jul 2011 13:18:34 +0200 |
Thomas Wuerthinger |
Added NegateBooleanNode, removed negate() method from BooleanNode, removed NotInstanceOf.
|
Wed, 06 Jul 2011 11:59:26 +0200 |
Thomas Wuerthinger |
simplified compute linear scan order.
|
Wed, 06 Jul 2011 11:52:31 +0200 |
Thomas Wuerthinger |
Added calculation of loop depth and loop index to scheduler.
|
Tue, 05 Jul 2011 19:49:35 +0200 |
Thomas Wuerthinger |
Introduced optimistic schedule and hid it behind a flag.
|
Tue, 05 Jul 2011 19:06:40 +0200 |
Thomas Wuerthinger |
Fixed issue that caused deopt on every exception of a top-level method that would have needed to be unwinded.
|
Tue, 05 Jul 2011 18:55:22 +0200 |
Thomas Wuerthinger |
Fixed an issue in the HotSpot code for rethrowing an exception at deopt (wrong values on the expression stack caused a crash when GC and deopt happened at the same time).
|
Tue, 05 Jul 2011 16:41:53 +0200 |
Thomas Wuerthinger |
Fixed the frame states in the array copy intrinsification.
|
Tue, 05 Jul 2011 14:12:00 +0200 |
Thomas Wuerthinger |
Merge.
|
Tue, 05 Jul 2011 14:09:44 +0200 |
Thomas Wuerthinger |
Fixed critical issue in exception frame state merging (prevented jython from running correctly). Added intrinsification for float/double to int/long conversions and for currentThread.
|
Tue, 05 Jul 2011 11:42:28 +0200 |
Gilles Duboscq |
Merge
|
Tue, 05 Jul 2011 11:39:40 +0200 |
Gilles Duboscq |
Delete framestate along with statesplit nodes if the framestate is not re-used somewhere
|
Mon, 04 Jul 2011 18:56:22 +0200 |
Thomas Wuerthinger |
Merge.
|
Mon, 04 Jul 2011 18:54:54 +0200 |
Thomas Wuerthinger |
Intrinsify arraycopy of primitive types to vector instructions.
|
Mon, 04 Jul 2011 12:21:42 +0200 |
Thomas Wuerthinger |
Added intrinsification of getClass()
|
Mon, 04 Jul 2011 12:03:31 +0200 |
Thomas Wuerthinger |
removed reference to GraalCompilation from CompilerGraph (i.e. make it more lightweight)
|
Mon, 04 Jul 2011 17:44:07 +0200 |
Peter Hofer |
IdealGraphVisualizer: use newer, more modern icons from the NetBeans project
|
Mon, 04 Jul 2011 16:08:03 +0200 |
Peter Hofer |
IdealGraphVisualizer: Apply graph difference also to control flow graphs and use bold edges for new connections and dashed edges for removed connections
|
Mon, 04 Jul 2011 13:59:41 +0200 |
Peter Hofer |
IdealGraphVisualizer: add optional import in build.xml for environment-specific build extensions/modifications
|
Mon, 04 Jul 2011 12:29:28 +0200 |
Peter Hofer |
IdealGraphVisualizer: when packaging a build, drop memory presets (-Xms, -Xmx) from default_options and let the executing VM choose reasonable defaults
|
Mon, 04 Jul 2011 12:05:23 +0200 |
Peter Hofer |
IdealGraphVisualizer: Drop the "Window" suffix of each top component's label and enter meaningful mouse-over descriptions.
|
Mon, 04 Jul 2011 12:03:50 +0200 |
Peter Hofer |
IdealGraphVisualizer: in the control flow graph (block view), allow nodes with longer text to be larger than the default size and center their text horizontally
|
Mon, 04 Jul 2011 11:28:08 +0200 |
Peter Hofer |
IdealGraphVisualizer: use a LinkedHashSet instead of an ArrayList to store the edges of an InputGraph in order to slightly increase performance, particularly when parsing an input file
|
Mon, 04 Jul 2011 10:56:19 +0200 |
Peter Hofer |
IdealGraphVisualizer: Disable assertions for RequestProcessor to prevent annoying messages in case of multiple SceneAnimator update tasks in the default RequestProcessor.
|
Sun, 03 Jul 2011 11:05:05 +0200 |
Gilles Duboscq |
Fix bug in peeling in updating the parent loops after peeling. Added verify to If
|
Sat, 02 Jul 2011 02:46:04 +0200 |
Thomas Wuerthinger |
Various fixes around escape analysis.
|
Fri, 01 Jul 2011 21:07:29 +0200 |
Thomas Wuerthinger |
Fixed an issue in the C++ code of the escape analysis (wrongly commented out code).
|
Fri, 01 Jul 2011 20:11:51 +0200 |
Thomas Wuerthinger |
Adjusted inlining decision (depend on max node size instead of max codeSize).
|
Fri, 01 Jul 2011 19:39:29 +0200 |
Thomas Wuerthinger |
Merge.
|
Fri, 01 Jul 2011 19:39:14 +0200 |
Thomas Wuerthinger |
Canonicalize RegisterFinalizer nodes.
|
Fri, 01 Jul 2011 18:28:26 +0200 |
Thomas Wuerthinger |
Merge fixes.
|
Fri, 01 Jul 2011 18:24:04 +0200 |
Thomas Wuerthinger |
Merge.
|
Fri, 01 Jul 2011 18:15:05 +0200 |
Thomas Wuerthinger |
checkcast fixes
|
Thu, 30 Jun 2011 18:53:02 +0200 |
Thomas Wuerthinger |
Do not move deopt point above ExceptionObject!
|
Thu, 30 Jun 2011 18:45:44 +0200 |
Thomas Wuerthinger |
fixed outdated asserts.
|
Thu, 30 Jun 2011 18:39:13 +0200 |
Thomas Wuerthinger |
must not gvn checkcast instructions.
|
Thu, 30 Jun 2011 18:03:43 +0200 |
Thomas Wuerthinger |
optimized genInstanceOf XIR snippet.
|
Thu, 30 Jun 2011 18:00:22 +0200 |
Thomas Wuerthinger |
Removed unnecessary jump.
|
Thu, 30 Jun 2011 17:53:23 +0200 |
Thomas Wuerthinger |
Introduced NotInstanceOf node. Optimize instanceof statements (i.e. do not materialize).
|
Thu, 30 Jun 2011 17:03:10 +0200 |
Thomas Wuerthinger |
Introduced Materialize node. InstanceOf no longer produces a value.
|
Thu, 30 Jun 2011 16:49:13 +0200 |
Thomas Wuerthinger |
Changed genInstanceOf such that it does not longer automatically materialize the result.
|
Thu, 30 Jun 2011 16:07:18 +0200 |
Thomas Wuerthinger |
Changed the way the compare instructions are generated in the LIRGenerator.
|
Wed, 29 Jun 2011 16:19:51 +0200 |
Thomas Wuerthinger |
Removed explicit reference to RiType object in TypeCheck node.
|
Wed, 29 Jun 2011 15:45:20 +0200 |
Thomas Wuerthinger |
Added canonicalization of boolean nodes and if conditions
|
Tue, 28 Jun 2011 16:59:56 +0200 |
Thomas Wuerthinger |
Replace If node with guard in case of deopt.
|
Tue, 28 Jun 2011 15:54:46 +0200 |
Thomas Wuerthinger |
Corrected valueEqual method of IsNonNull.
|
Tue, 28 Jun 2011 15:48:05 +0200 |
Thomas Wuerthinger |
Draft GVN.
|
Tue, 28 Jun 2011 15:28:30 +0200 |
Thomas Wuerthinger |
Added immediate gvn for LocationNode instances.
|
Fri, 01 Jul 2011 19:00:37 +0200 |
Lukas Stadler |
escape analysis debug info fixes
|
Fri, 01 Jul 2011 18:37:54 +0200 |
Gilles Duboscq |
Fixed various peeling bugs (can use nodes which are not Placeholders as loop exits)
|
Fri, 01 Jul 2011 12:57:10 +0200 |
Gilles Duboscq |
Merge
|
Fri, 01 Jul 2011 12:56:52 +0200 |
Gilles Duboscq |
Make NewInstance a FixedWithNext to avoid it from floating too much (could be hoisted out of loops for exemple). Fixes for loop peeling
|
Thu, 30 Jun 2011 10:07:49 +0200 |
Gilles Duboscq |
Merge
|
Thu, 30 Jun 2011 10:07:35 +0200 |
Gilles Duboscq |
Fix some coloring bug, fix to keep more Placeholders at loop exits, fix for loop nodes computation
|
Wed, 29 Jun 2011 12:23:13 +0200 |
Gilles Duboscq |
Fix loop peeling exit values fixup
|
Thu, 30 Jun 2011 17:02:04 +0200 |
Peter Hofer |
IdealGraphVisualizer: Fix selection of node for gotoFigure()
|
Thu, 30 Jun 2011 16:50:53 +0200 |
Peter Hofer |
IdealGraphVisualizer: ensure that input graphs are scheduled and all nodes are assigned to blocks before computing their difference. This fixes exceptions when creating a diff against a graph without blocks that was never viewed before (for instance, graphs from the server compiler).
|
Thu, 30 Jun 2011 13:07:09 +0200 |
Peter Hofer |
IdealGraphVisualizer: fix "Show Filter Window" menu entry
|
Thu, 30 Jun 2011 12:17:27 +0200 |
Peter Hofer |
IdealGraphVisualizer: Work around a problem with JSplitPane and the NetBeans editor: setDividerLocation() doesn't work when the split pane has not been layouted and painted yet. JSplitPane then initially uses a tiny width for the left editor component, which causes the editor to calculate invalid offsets and constantly throw exceptions, particularly on mouse events. Thus, defer adding the two components and setting the divider's location.
|
Wed, 29 Jun 2011 20:11:13 +0200 |
Lukas Stadler |
small inlining simplification
|
Wed, 29 Jun 2011 19:53:00 +0200 |
Lukas Stadler |
merge
|
Wed, 29 Jun 2011 19:52:51 +0200 |
Lukas Stadler |
fix for unresolved exception bug, exactType and declaredType logic for inlining, more on escape analysis
|
Wed, 29 Jun 2011 18:53:09 +0200 |
Peter Hofer |
IdealGraphVisualizer: Consider two nodes to be equal when node.vertex is null for both of them in nodeProcessingDownComparator and nodeProcessingUpComparator. This should fix transitivity issues when sorting.
|
Wed, 29 Jun 2011 18:27:14 +0200 |
Peter Hofer |
IdealGraphVisualizer: Rename predecessors to "Nodes Above" and successors to "Nodes Below" and actions "Expand Predecessors" and "Expand Successors" to "Expand Above" and "Expand Below" to avoid ambiguity with the Graal concept of successors and predecessors
|
Wed, 29 Jun 2011 17:33:35 +0200 |
Peter Hofer |
IdealGraphVisualizer: Enhance text view so it can display arbitrary properties from the active graph's group. For diff graphs, it shows the textual difference between the property strings using the NetBeans Diff module.
|
Wed, 29 Jun 2011 13:26:25 +0200 |
Peter Hofer |
IdealGraphVisualizer: remove files from C1XVisualizer text editor component that were erroneously checked in again
|
Wed, 29 Jun 2011 12:22:46 +0200 |
Peter Hofer |
IdealGraphVisualizer: add another filter that hides slots with no connections
|
Tue, 28 Jun 2011 19:54:51 +0200 |
Lukas Stadler |
fixes to escape analysis: propagation of VirtualObject
|
Tue, 28 Jun 2011 19:22:42 +0200 |
Lukas Stadler |
merge
|
Tue, 28 Jun 2011 19:14:28 +0200 |
Lukas Stadler |
more escape analysis work: debug info
|
Mon, 27 Jun 2011 17:15:12 +0200 |
Lukas Stadler |
merge
|
Mon, 27 Jun 2011 17:13:33 +0200 |
Lukas Stadler |
more escape analysis changes
|
Wed, 22 Jun 2011 11:56:15 +0200 |
Lukas Stadler |
merge
|
Wed, 22 Jun 2011 11:55:42 +0200 |
Lukas Stadler |
InliningPhase can take a hint on what to inline, initial work on EscapeAnalysisPhase
|
Tue, 28 Jun 2011 17:17:51 +0200 |
Gilles Duboscq |
Fix for dead Phis in loop nodes detection
|
Tue, 28 Jun 2011 17:08:45 +0200 |
Gilles Duboscq |
Added -G:+PlotOnError option to print graph to IGV even without -G:+Plot on error condition (verification failure or AssertionError/RuntimeException in a Phase)
|
Tue, 28 Jun 2011 16:45:48 +0200 |
Gilles Duboscq |
Merge
|
Tue, 28 Jun 2011 16:13:32 +0200 |
Gilles Duboscq |
Fix multiple bugs in loop peeling
|
Tue, 28 Jun 2011 10:10:47 +0200 |
Gilles Duboscq |
Loop peeling work
|
Tue, 28 Jun 2011 14:17:06 +0200 |
Thomas Wuerthinger |
Sync with maxine changes.
|
Tue, 28 Jun 2011 13:53:28 +0200 |
Thomas Wuerthinger |
Updated hgignore.
|
Tue, 28 Jun 2011 13:52:36 +0200 |
Thomas Wuerthinger |
Added read elimination phase.
|
Tue, 28 Jun 2011 12:20:31 +0200 |
Thomas Wuerthinger |
insert loop memory merging
|
Mon, 27 Jun 2011 17:38:43 +0200 |
Thomas Wuerthinger |
Removed locationToRead array.
|
Mon, 27 Jun 2011 13:29:53 +0200 |
Thomas Wuerthinger |
Towards new memory dependence graph.
|
Fri, 24 Jun 2011 15:39:54 +0200 |
Thomas Wuerthinger |
Added memory dependencies.
|
Fri, 24 Jun 2011 15:01:20 +0200 |
Thomas Wuerthinger |
Node class clean up.
|
Fri, 24 Jun 2011 14:59:27 +0200 |
Thomas Wuerthinger |
More clean up in the IR.
|
Fri, 24 Jun 2011 14:46:26 +0200 |
Thomas Wuerthinger |
Simplifications on ReadNode WriteNode.
|
Fri, 24 Jun 2011 14:35:07 +0200 |
Thomas Wuerthinger |
Towards splitting the lowering and the memory graph creation phases.
|
Fri, 24 Jun 2011 14:21:12 +0200 |
Thomas Wuerthinger |
Restructure memory lowering code.
|
Thu, 23 Jun 2011 16:40:53 +0200 |
Thomas Wuerthinger |
Updated GRAAL_README. Add new short-cut flag for graph output "-G:Plot".
|
Wed, 22 Jun 2011 22:27:02 +0200 |
Thomas Wuerthinger |
Merge.
|
Wed, 22 Jun 2011 22:26:45 +0200 |
Thomas Wuerthinger |
Now successfully lowering field stores.
|
Wed, 22 Jun 2011 21:51:57 +0200 |
Thomas Wuerthinger |
Create new FieldWriteBarrier. Enable possibility to lower node directly to LIR.
|
Wed, 22 Jun 2011 21:51:26 +0200 |
Thomas Wuerthinger |
Make sure that the compiler is initialized at startup (and not on the first compiled method).
|
Wed, 22 Jun 2011 18:42:21 +0200 |
Peter Hofer |
IdealGraphVisualizer: different coloring for usages and predecessors (and hence inputs and successors)
|
Tue, 21 Jun 2011 17:14:24 +0200 |
Gilles Duboscq |
Merge
|
Tue, 21 Jun 2011 16:58:34 +0200 |
Gilles Duboscq |
Compute Loop information, keep Placeholder on loop exits, added some utility functions for data/cfg traversal
|
Tue, 21 Jun 2011 14:32:12 +0200 |
Lukas Stadler |
Graph.getNodes() is Iterable<Node>, doesn't return null nodes and doesn't throw ConcurrentModificationException
|
Tue, 21 Jun 2011 12:15:38 +0200 |
Lukas Stadler |
disable UseExceptionProbability by default (not stable yet)
|
Tue, 21 Jun 2011 12:01:38 +0200 |
Lukas Stadler |
merge
|
Tue, 21 Jun 2011 12:01:28 +0200 |
Lukas Stadler |
fixes on exception profiling
|
Tue, 21 Jun 2011 11:16:21 +0200 |
Lukas Stadler |
merge
|
Tue, 21 Jun 2011 11:13:52 +0200 |
Lukas Stadler |
runtime profiles exceptions at the call site
|
Tue, 21 Jun 2011 11:44:33 +0200 |
Gilles Duboscq |
LoopEnd is not a Merge anymore
|
Tue, 21 Jun 2011 10:35:27 +0200 |
Gilles Duboscq |
Fix bug in FrameState handling for LoopBegin, BitMap -> GraalBitMap in some assertions in graalCodeInstaller
|
Mon, 20 Jun 2011 20:02:11 +0200 |
Gilles Duboscq |
Merge
|