127 Commits

Author SHA1 Message Date
Zhengyu Gu
adcde492fa 8041415: remove port.{cpp,hpp} files
Hotspot should use standard headers and types

Reviewed-by: coleenp, kvn
2014-05-07 06:03:31 -07:00
Lois Foltan
eddb53ffb9 8041620: Solaris Studio 12.4 C++ 5.13 change in behavior for placing friend declarations within surrounding scope
Remove adlc's unused class FileBuffRegion.

Reviewed-by: coleenp, dholmes, kvn
2014-05-06 09:56:55 -04:00
Igor Veresov
e6456ff2a4 8038297: Avoid placing CTI immediately following cbcond instruction on T4
Insert a nop between cbcond and CTI

Reviewed-by: kvn, twisti
2014-04-10 23:15:13 -07:00
Goetz Lindenmaier
419ae8206b 8039045: PPC64: need include in adl generated files after 8001532
Reviewed-by: kvn
2014-04-02 10:16:46 +02:00
Vladimir Kozlov
97a51c5c2a 8031320: Use Intel RTM instructions for locks
Use RTM for inflated locks and stack locks.

Reviewed-by: iveresov, twisti, roland, dcubed
2014-03-20 17:49:27 -07:00
Igor Veresov
768beb9a23 8031321: Support Intel bit manipulation instructions
Add support for BMI1 instructions

Reviewed-by: kvn, roland
2014-03-12 11:24:26 -07: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
Goetz Lindenmaier
4c4b46e490 8033168: PPC64: gcc 4.8 warning in output_c.cpp
Fix warnings

Reviewed-by: kvn
2014-01-30 14:30:01 +01:00
Vladimir Kozlov
c3a0e80e0b Merge 2014-01-28 12:25:34 -08:00
Christian Thalinger
dd042bf16e 8022263: use same Clang warnings on BSD as on Linux
Reviewed-by: kvn, iveresov
2014-01-07 14:26:12 -08:00
Christian Thalinger
618ee38356 8031199: _MSC_VER is only defined on _WIN32
Reviewed-by: kvn, iveresov
2014-01-06 15:35:20 -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
9c10079653 8030863: PPC64: (part 220): ConstantTableBase for calls between args and jvms
Add ConstantTableBase node edge after parameters and before jvms. Adapt jvms offsets.

Reviewed-by: kvn
2013-12-20 13:51:14 +01:00
Goetz Lindenmaier
c50c083f83 8029888: PPC64: (part 219): adl replacement variable CondRegister
Add support for replacement variable CondRegister in adlc.

Reviewed-by: kvn
2013-12-10 14:29:43 +01:00
Goetz Lindenmaier
ecca1bcc72 8029015: PPC64 (part 216): opto: trap based null and range checks
On PPC64 use tdi instruction that does a compare and raises SIGTRAP for NULL and range checks.

Reviewed-by: kvn
2013-11-27 16:16:21 -08:00
Goetz Lindenmaier
fe89766184 8028515: PPPC64 (part 113.2): opto: Introduce LoadFence/StoreFence
Use new nodes for loadFence/storeFence intrinsics in C2.

Reviewed-by: kvn, dholmes
2013-11-26 18:38:19 -08:00
Goetz Lindenmaier
7289ee4573 8028767: PPC64: (part 121): smaller shared changes needed to build C2
Smaller shared changes required to build the C2 compiler on PPC64.

Reviewed-by: kvn
2013-11-21 19:00:57 -08:00
Goetz Lindenmaier
d22bde2c91 8028580: PPC64 (part 114/120): Support for Call nodes with constants
Extends MachCall nodes so that they can issue constants to the constant table

Reviewed-by: kvn
2013-11-20 11:08:09 -08:00
Goetz Lindenmaier
f9a0d6a4b5 8028401: PPC (part 117): Improve usability of adlc and format() functionality
Add additional, more verbose syntax checks in adlc. Fix printing constant's problem in format().

Reviewed-by: kvn
2013-11-15 12:01:00 -08:00
Goetz Lindenmaier
12b298218d 8003854: PPC64 (part 115): Introduce PostallocExpand that expands nodes after register allocation
Added ability in C2 to expand mach nodes to several mach nodes after register allocation

Reviewed-by: kvn
2013-11-14 19:24:59 -08:00
Vladimir Kozlov
39b0e57fdd Merge 2013-11-05 17:38:04 -08:00
Rickard Bäckman
615376fb9b 8026844: Various Math functions needs intrinsification
Reviewed-by: kvn, twisti
2013-10-18 10:41:56 +02:00
Niclas Adlertz
3838ed7b68 8022783: Nashorn test fails with: assert(!def_outside->member(r))
Enables private copies of inputs for recent spill copies as well

Reviewed-by: kvn, twisti
2013-10-18 10:50:17 +02:00
Rickard Bäckman
441f1d74cf 8024924: Intrinsify java.lang.Math.addExact
Reviewed-by: kvn, twisti
2013-09-27 08:39:19 +02:00
Goetz Lindenmaier
34c8023949 8024922: PPC64 (part 116): Extend adlc to generate fields into nodes
Similar to specifying functions returning constants (as ins_avoid_back_to_back()) adlc now accepts specifications with prefix ins_field_xxx(tp) and adds field xxx of type tp to the node.

Reviewed-by: kvn
2013-09-19 17:31:42 +02:00
Niclas Adlertz
a0a141a9d9 Merge 2013-09-05 10:39:10 +02:00
Lois Foltan
fca9e37c80 8021954: VM SIGSEGV during classloading on MacOS; hs_err_pid file produced
Declare all user-defined operator new()s within Hotspot code with the empty throw() exception specification

Reviewed-by: coleenp, twisti, dholmes, hseigel, dcubed, kvn, ccheung
2013-08-29 18:56:29 -04: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
Vladimir Kozlov
ed85bb1853 Merge 2013-07-19 13:32:53 -07:00
David Chase
94609df5da 8017578: Hotspot compilation error with latest Studio compiler
Make the destructor virtual (note more non-compiler hotspot errors occur downstream)

Reviewed-by: kvn, twisti
2013-07-09 08:56:04 -04:00
Vladimir Kozlov
7509ebea00 Merge 2013-06-27 13:04:51 -07:00
Vladimir Kozlov
b390a2d8e3 Merge 2013-06-21 15:56:24 -07: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
Niclas Adlertz
9129e6dc2b 8016157: During CTW: C2: assert(!def_outside->member(r)) failed: Use of external LRG overlaps the same LRG defined in this block
Disable rematerialization for negD node

Reviewed-by: kvn, roland
2013-06-14 01:19:56 +02:00
Dean Long
9c966207ef Merge 2013-04-24 21:11:02 -04:00
Goetz Lindenmaier
3f42e9e118 8003853: specify offset of IC load in java_to_interp stub
Refactored code to allow platform-specific differences

Reviewed-by: dlong, twisti
2013-04-24 20:55:28 -04:00
Christian Thalinger
337a9c1432 8015266: fix some -Wsign-compare warnings in adlc
Reviewed-by: kvn
2013-05-30 08:37:08 -07:00
Niclas Adlertz
340226f16a 8006016: Memory leak at hotspot/src/share/vm/adlc/output_c.cpp
Reviewed-by: kvn, roland
2013-04-05 11:09:43 +02:00
Niclas Adlertz
5548661d72 8006014: Memory leak in hotspot/src/share/vm/adlc/dfa.cpp
Reviewed-by: kvn, roland
2013-04-04 09:30:06 +02:00
Niclas Adlertz
0f3a43e318 8006008: Memory leak in hotspot/src/share/vm/adlc/archDesc.cpp
Reviewed-by: roland, kvn
2013-04-04 09:18:47 +02:00
Roland Westrelin
c84424d4af 8007722: C2: "assert(tp->base() != Type::AnyPtr) failed: not a bare pointer" at machnode.cpp:376
GetAndSetP's MachNode should capture bottom type.

Reviewed-by: kvn
2013-02-26 12:18:30 +01:00
Mikael Vidstedt
eaa663b241 8007403: Incorrect format arguments in adlparse.cpp
Reviewed-by: kvn, twisti
2013-02-04 10:28:39 -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
Christian Thalinger
34733bb83c 8003250: SPARC: move MacroAssembler into separate file
Reviewed-by: jrose, kvn
2012-12-06 09:57:41 -08:00
Goetz Lindenmaier
f28ac57f94 8000592: Improve adlc usability
Several changes to adlc to improve its usability

Reviewed-by: kvn
2012-10-09 16:09:31 -07:00
Vladimir Ivanov
6674423523 7199654: Remove LoadUI2LNode
Removed LoadUI2L node from Ideal nodes, use match rule in .ad files instead.

Reviewed-by: kvn
2012-10-09 12:40:05 -07: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
Vladimir Kozlov
e8332c76e9 7201026: add vector for shift count
Add generation of vectors for scalar shift count.

Reviewed-by: roland, twisti, dlong
2012-10-02 12:25:13 -07: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
9c3545d4fb 7200233: C2: can't use expand rules for vector instruction rules
Added missed _bottom_type set in ArchDesc::defineExpand() and missed vector nodes in MatchRule::is_vector().

Reviewed-by: twisti, roland, dlong
2012-09-25 10:41:15 -07:00