69 Commits

Author SHA1 Message Date
Andrew Haley
eded7ae794 8157306: Random infrequent null pointer exceptions in javac
Reviewed-by: kvn
2016-06-23 17:58:59 +00:00
Claes Redestad
ea5a3565b8 8150720: Cleanup code around PrintOptoStatistics
Reviewed-by: kvn, shade, vlivanov
2016-02-29 15:05:45 +01:00
Martin Doerr
ad3414f985 8146612: C2: Precedence edges specification violated
Reviewed-by: kvn
2016-01-08 11:41:04 +01:00
Goetz Lindenmaier
975140c530 8143307: Crash in C2 local code motion
Reviewed-by: kvn
2015-11-19 12:53:33 +01:00
Nils Eliasson
3307d0f163 Merge 2015-11-06 11:34:03 +01:00
Tobias Hartmann
7af927f9c1 8141132: JEP 254: Compact Strings
Adopt a more space-efficient internal representation for strings.

Co-authored-by: Brent Christian <brent.christian@oracle.com>
Co-authored-by: Vivek Deshpande <vivek.r.deshpande@intel.com>
Co-authored-by: Charlie Hunt <charlie.hunt@oracle.com>
Co-authored-by: Vladimir Kozlov <vladimir.kozlov@oracle.com>
Co-authored-by: Roger Riggs <roger.riggs@oracle.com>
Co-authored-by: Xueming Shen <xueming.shen@oracle.com>
Co-authored-by: Aleksey Shipilev <aleksey.shipilev@oracle.com>
Co-authored-by: Sandhya Viswanathan <sandhya.viswanathan@intel.com>
Reviewed-by: alanb, bdelsart, coleenp, iklam, jiangli, jrose, kevinw, naoto, pliden, roland, smarks, twisti
2015-11-03 09:41:03 +01:00
Goetz Lindenmaier
83b3b21342 8139040: Fix initializations before ShouldNotReachHere() etc. and enable -Wuninitialized on linux
Reviewed-by: stuefe, coleenp, roland
2015-10-22 13:07:10 -04:00
Michael Berg
d49d1ea740 8134802: LCM register pressure scheduling
Calculate register pressure in a block to help instructions scheduling.

Reviewed-by: kvn, dlong
2015-09-16 13:16:17 -07:00
Stefan Karlsson
4913ad5d7d 8072911: Remove includes of oop.inline.hpp from .hpp files
Reviewed-by: brutisso, coleenp, jwilhelm, simonis, dholmes
2015-02-13 14:37:35 +01:00
Tobias Hartmann
09aa6561da 8066763: fatal error "assert(false) failed: unexpected yanked node" in postaloc.cpp:139
Check for dead input nodes after replacing compare node with implicit null check.

Reviewed-by: kvn
2014-12-12 09:07:54 +01:00
Vladimir Kozlov
8cd1a874e8 8059780: SPECjvm2008-MPEG performance regressions on x64 platforms
Back-out 8052081 changes made in lcm.cpp.

Reviewed-by: iveresov, roland
2014-11-03 12:02:40 -08:00
Vladimir Kozlov
7764490363 8052081: Optimize generated by C2 code for Intel's Atom processor
Allow to execute vectorization and crc32 optimization on Atom. Enable UseFPUForSpilling by default on x86.

Reviewed-by: roland
2014-08-05 15:02:10 -07:00
Goetz Lindenmaier
25f33c005d 8049325: Introduce and clean up umbrella headers for the files in the cpu subdirectories
Introduce and clean up umbrella headers for the files in the cpu subdirectories.

Reviewed-by: lfoltan, coleenp, dholmes
2014-07-04 11:46:01 +02:00
Tobias Hartmann
2a0815a55e 8034812: remove IDX_INIT macro hack in Node class
The IDX_INIT macro used by Node::Node(...) to retrieve the Compile object is removed and replaced by a call to Compile::current(). The Node constructor, new operator and all calls to it are adapted accordingly.

Reviewed-by: kvn, jrose, iveresov, goetz
2014-06-02 08:07:29 +02:00
Rickard Bäckman
0b85ee832e 8027754: Enable loop optimizations for loops with MathExact inside
Reviewed-by: kvn, iveresov
2014-01-23 12:08:28 +01:00
Vladimir Kozlov
c3a0e80e0b Merge 2014-01-28 12:25:34 -08:00
Mikael Vidstedt
a0da47fd66 8029233: Update copyright year to match last edit in jdk8 hotspot repository for 2013
Copyright year updated for files modified during 2013

Reviewed-by: twisti, iveresov
2013-12-24 11:48:39 -08:00
Goetz Lindenmaier
a7c123880e 8028471: PPC64 (part 215): opto: Extend ImplicitNullCheck optimization
Fixed Implicit NULL check optimization for AIX, where the page at address '0' is only write-protected.

Reviewed-by: kvn
2013-11-21 18:29:34 -08:00
Vladimir Kozlov
39b0e57fdd Merge 2013-11-05 17:38:04 -08:00
Rickard Bäckman
441f1d74cf 8024924: Intrinsify java.lang.Math.addExact
Reviewed-by: kvn, twisti
2013-09-27 08:39:19 +02:00
Vladimir Kozlov
1a700c9216 Merge 2013-09-05 11:04:39 -07:00
Niclas Adlertz
547f4dea7b 8024095: Missing brackets in local scheduling code
Added brackets for if-statement

Reviewed-by: kvn, roland
2013-09-02 22:44:57 +02:00
Niclas Adlertz
900acf0c44 8023988: Move local scheduling of nodes to the CFG creation and code motion phase (PhaseCFG)
Moved local scheduling code from class Block to class PhaseCFG

Reviewed-by: kvn, roland
2013-09-01 19:21:05 +02:00
Niclas Adlertz
be8c8aac48 8023691: Create interface for nodes in class Block
Create public methods for accessing the nodes in a block

Reviewed-by: kvn, roland
2013-08-26 12:50:23 +02:00
Niclas Adlertz
a235ecb344 8023003: Cleanup the public interface to PhaseCFG
Public methods that don't need to be public should be private.

Reviewed-by: kvn, twisti
2013-08-16 10:23:55 +02:00
Niclas Adlertz
bfe8385fa9 8022284: Hide internal data structure in PhaseCFG
Hide private node to block mapping using public interface

Reviewed-by: kvn, roland
2013-08-07 17:56:19 +02:00
Goetz Lindenmaier
0522ce7a17 8016586: PPC64 (part 3): basic changes for PPC64
Added #includes needed for ppc64 port. Renamed _MODEL_ppc to _MODEL_ppc_32 and renamed corresponding old _ppc files to _ppc_32.

Reviewed-by: dholmes, kvn
2013-06-20 16:30:44 -07:00
Vladimir Kozlov
d7176bf7f8 8014189: JVM crash with SEGV in ConnectionGraph::record_for_escape_analysis()
Add NULL checks and asserts for Type::make_ptr() returned value.

Reviewed-by: twisti
2013-05-09 17:28:04 -07:00
Aleksey Shipilev
4b638cf955 8009120: Fuzz instruction scheduling in HotSpot compilers
Reviewed-by: kvn, vlivanov
2013-03-05 04:24:50 -08:00
Vladimir Kozlov
9e0c61f822 6896617: Optimize sun.nio.cs.ISO_8859_1$Encode.encodeArrayLoop() on x86
Use SSE4.2 and AVX2 instructions for encodeArray intrinsic.

Reviewed-by: roland
2013-01-22 15:34:16 -08:00
Bharadwaj Yadavalli
2d2532e740 7092905: C2: Keep track of the number of dead nodes
Keep an (almost) accurate running count of the reachable (live) flow graph nodes.

Reviewed-by: kvn, twisti, jrose, vlivanov
2012-11-27 17:24:15 -08:00
Roland Westrelin
61eb5a0549 7054512: Compress class pointers after perm gen removal
Support of compress class pointers in the compilers.

Reviewed-by: kvn, twisti
2012-10-09 10:11:38 +02:00
Bharadwaj Yadavalli
d5d2e78faa 7193318: C2: remove number of inputs requirement from Node's new operator
Deleted placement new operator of Node - node(size_t, Compile *, int).

Reviewed-by: kvn, twisti
2012-09-27 09:38:42 -07:00
Vladimir Kozlov
d1191bb4f4 7119644: Increase superword's vector size up to 256 bits
Increase vector size up to 256-bits for YMM AVX registers on x86.

Reviewed-by: never, twisti, roland
2012-06-15 01:25:19 -07:00
Roland Westrelin
f3ce53be67 7116050: C2/ARM: memory stomping error with DivideMcTests
Block::schedule_local() may write beyond end of ready_cnt array

Reviewed-by: never, kvn
2012-01-25 09:31:47 +01:00
Roland Westrelin
9d8e44db59 7077312: Provide a CALL effect for instruct declaration in the ad file
Abstracted way to declare that the MachNode has the effect of a call (kills caller save registers, preserves callee save registers)

Reviewed-by: twisti, never
2011-09-14 09:22:51 +02:00
Vladimir Kozlov
18329266ea 7069452: Cleanup NodeFlags
Remove flags which duplicate information in Node::NodeClasses.

Reviewed-by: never
2011-07-27 17:28:36 -07:00
John Coomes
07d5e13794 7061187: need some includes for arm/ppc
Reviewed-by: dholmes, never, jwilhelm, kvn
2011-07-06 12:03:01 -07:00
Jon Masamitsu
b6e631d446 Merge 2011-04-08 14:19:50 -07:00
Tom Rodriguez
aac4647e6e 7032963: StoreCM shouldn't participate in store elimination
Reviewed-by: kvn
2011-04-05 19:14:03 -07:00
Erik Trimble
c9e484d473 7010070: Update all 2010 Oracle-changed OpenJDK files to have the proper copyright dates - second pass
Update the copyright to be 2010 on all changed files in OpenJDK

Reviewed-by: ohair
2011-04-05 14:12:31 -07:00
Roland Westrelin
4171ca786e 7029017: Additional architecture support for c2 compiler
Enables cross building of a c2 VM. Support masking of shift counts when the processor architecture mandates it.

Reviewed-by: kvn, never
2011-03-25 09:35:39 +01:00
Stefan Karlsson
8006fe8f75 6989984: Use standard include model for Hospot
Replaced MakeDeps and the includeDB files with more standardized solutions.

Reviewed-by: coleenp, kvn, kamg
2010-11-23 13:22:55 -08:00
Christian Thalinger
a4b2fe3b1c 6978355: renaming for 6961697
This is the renaming part of 6961697 to keep the actual changes small for review.

Reviewed-by: kvn, never
2010-08-25 05:27:54 -07:00
Vladimir Kozlov
b092cb33e6 6973329: C2 with Zero based COOP produces code with broken anti-dependency on x86
Recompile without subsuming loads if RA try to clone a node with anti_dependence.

Reviewed-by: never
2010-08-11 10:48:20 -07:00
Vladimir Kozlov
5bed80aab9 6973963: SEGV in ciBlock::start_bci() with EA
Added more checks into ResourceObj and growableArray to verify correctness of allocation type.

Reviewed-by: never, coleenp, dholmes
2010-08-03 15:55:03 -07:00
John R Rose
d6a9b93b5a Merge 2010-06-02 22:45:42 -07:00
Vladimir Kozlov
a3005a16fc 6954029: Improve implicit null check generation with compressed oops
Hoist DecodeN instruction above null check

Reviewed-by: never, twisti
2010-06-02 09:49:32 -07:00
Erik Trimble
ba7c173659 6941466: Oracle rebranding changes for Hotspot repositories
Change all the Sun copyrights to Oracle copyright

Reviewed-by: ohair
2010-05-27 19:08:38 -07:00
Vladimir Kozlov
8da8433a6f 6912517: JIT bug compiles out (and stops running) code that needs to be run. Causes NPE
Add missing check that value is used in memory expression in instructions with embedded load.

Reviewed-by: never, jrose
2010-01-07 16:26:31 -08:00