Tue, 12 Jul 2011 13:10:33 +0200 |
Gilles Duboscq |
Finish implementation of loop inversion
|
Tue, 12 Jul 2011 13:10:11 +0200 |
Gilles Duboscq |
Fix for NormalizeCompare->Compare canonicalization : care must be taken for the unordered case
|
Mon, 11 Jul 2011 17:55:55 +0200 |
Peter Hofer |
IdealGraphVisualizer: put HTML tooltip texts between <HTML> and </HTML> to ensure they are not displayed as plain text
|
Mon, 11 Jul 2011 17:52:58 +0200 |
Peter Hofer |
Replace Compare with NormalizeComparison and constant 0 as inputs with a single Compare; correct/remove encountered wrong comments
|
Mon, 11 Jul 2011 13:41:33 +0200 |
Peter Hofer |
IdealGraphVisualizer: provide upscaled icons for branding
|
Mon, 11 Jul 2011 13:31:51 +0200 |
Peter Hofer |
IdealGraphVisualizer: select blocks in the control flow graph by double-clicking them, thus allowing to move blocks without selecting them and changing the selecting in the node graph
|
Sun, 10 Jul 2011 11:21:37 +0200 |
Gilles Duboscq |
Fix for vector tree in splitting
|
Fri, 08 Jul 2011 18:35:51 +0200 |
Gilles Duboscq |
Merge
|
Fri, 08 Jul 2011 18:00:39 +0200 |
Gilles Duboscq |
revert outer framesate scheduling change
|
Fri, 08 Jul 2011 15:00:16 +0200 |
Gilles Duboscq |
Merge
|
Fri, 08 Jul 2011 14:49:01 +0200 |
Gilles Duboscq |
Fix for peeling spliting : inner framestates which are attached to nodes after the coloring can not be colored
|
Fri, 08 Jul 2011 13:38:38 +0200 |
Gilles Duboscq |
More precise inOrBefore, make both inOrBefore and inOrAfter accessible on Loop, compute inOrAfter, inOrBefore and full loop nodes only if needed
|
Thu, 07 Jul 2011 18:21:30 +0200 |
Gilles Duboscq |
Canonicalize & DCE after peeling, fix for spliting in peeling
|
Thu, 07 Jul 2011 16:04:21 +0200 |
Gilles Duboscq |
Removed assertion in EdgeMoveOptimizer that is not valid anymore because of guards
|
Fri, 08 Jul 2011 18:02:04 +0200 |
Thomas Wuerthinger |
Merge.
|
Fri, 08 Jul 2011 18:01:29 +0200 |
Thomas Wuerthinger |
Simplified some of the examples.
|
Fri, 08 Jul 2011 15:25:57 +0200 |
Peter Hofer |
IdealGraphVisualizer: Update branding to use a custom application icon and the Oracle logo, also don't show the version in the main window title bar
|
Fri, 08 Jul 2011 14:26:12 +0200 |
Peter Hofer |
IdealGraphVisualizer: Make scheduling more robust by ignoring graphs without any nodes and by using the node with the lowest id as root when there is no node labeled "Root" and no node without predecessors
|
Fri, 08 Jul 2011 11:56:25 +0200 |
Peter Hofer |
IdealGraphVisualizer: in the standard group organizer, put single graphs below group nodes too
|
Fri, 08 Jul 2011 13:41:27 +0200 |
Lukas Stadler |
added FrameModifier extension, added deopt example
|
Thu, 07 Jul 2011 20:46:20 +0200 |
Thomas Wuerthinger |
New optimization phase example.
|
Thu, 07 Jul 2011 19:58:00 +0200 |
Thomas Wuerthinger |
Merge.
|
Thu, 07 Jul 2011 19:57:45 +0200 |
Thomas Wuerthinger |
Added intrinsification example (safe add).
|
Thu, 07 Jul 2011 19:43:17 +0200 |
Josef Haider |
The benchmark tool should now print zero values to the csv file, if a benchmark fails
|
Thu, 07 Jul 2011 18:31:25 +0200 |
Josef Haider |
Merge
|
Thu, 07 Jul 2011 18:19:24 +0200 |
Josef Haider |
Added a small python script for automated benchmarks.
|
Thu, 07 Jul 2011 18:15:25 +0200 |
Thomas Wuerthinger |
Merge.
|
Thu, 07 Jul 2011 18:14:50 +0200 |
Thomas Wuerthinger |
Added example project. Added InliningGuide example extension.
|
Thu, 07 Jul 2011 16:11:09 +0200 |
Thomas Wuerthinger |
Removed forgotten README file.
|
Thu, 07 Jul 2011 16:07:11 +0200 |
Thomas Wuerthinger |
Drafted inlining guide interface. Added new compiler flag -G:Extend
|
Thu, 07 Jul 2011 16:38:14 +0200 |
Lukas Stadler |
canonicalize "if (x) return bool_constant; else return !bool_constant;" to MaterializeNode
|
Thu, 07 Jul 2011 14:33:57 +0200 |
Lukas Stadler |
NodeArray uses modCount to assert in Iterators, variableInputs is now protected so that each Node class using it needs to export it explicitly (and thus give it a name)
|
Wed, 06 Jul 2011 21:48:33 +0200 |
Thomas Wuerthinger |
Clean up.
|
Wed, 06 Jul 2011 21:47:47 +0200 |
Thomas Wuerthinger |
Merge.
|
Wed, 06 Jul 2011 21:43:07 +0200 |
Thomas Wuerthinger |
Fixed anchor creation such that exception handler blocks are recognized.
|
Wed, 06 Jul 2011 21:40:39 +0200 |
Thomas Wuerthinger |
decoupled code emitting order from linear scan order. align loops. reorder short loops. fixed linear scan order.
|
Wed, 06 Jul 2011 18:59:55 +0200 |
Thomas Wuerthinger |
Align loop headers (for immediate speed-up).
|
Wed, 06 Jul 2011 18:50:11 +0200 |
Thomas Wuerthinger |
Added intrinsification of Object arraycopy.
|
Wed, 06 Jul 2011 17:53:05 +0200 |
Thomas Wuerthinger |
Generating safepoints.
|
Wed, 06 Jul 2011 17:50:32 +0200 |
Lukas Stadler |
pulled common code from NewInstance and NewArray into EscapeOp
|
Wed, 06 Jul 2011 17:15:43 +0200 |
Thomas Wuerthinger |
Disabled assert about null state at block entry.
|
Wed, 06 Jul 2011 17:07:31 +0200 |
Thomas Wuerthinger |
fixed warnings.
|
Wed, 06 Jul 2011 17:02:38 +0200 |
Thomas Wuerthinger |
Merge.
|
Wed, 06 Jul 2011 17:02:15 +0200 |
Thomas Wuerthinger |
Fixed rethrow exception frame state (again.. and this time added some useful assertions).
|
Wed, 06 Jul 2011 16:43:19 +0200 |
Thomas Wuerthinger |
Added GVN to GuardNode and Compare.
|
Wed, 06 Jul 2011 16:51:01 +0200 |
Lukas Stadler |
merge
|
Wed, 06 Jul 2011 16:31:18 +0200 |
Lukas Stadler |
added PhiType.(Value, Memory, Virtual), removed Phi.isDead, phis are now deleted immediately when they become invalid
|
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
|