History log of /openjdk10/hotspot/src/cpu/sparc/vm/c1_LIRAssembler_sparc.cpp
Revision Date Author Comments
# 13275:c411838e41bc 12-Jul-2017 eosterlund

8184162: Support addresses with index operands in LIRAssembler::leal on SPARC
Summary: Support was added for C1 leal on addresses with an index operand on SPARC.
Reviewed-by: kvn, roland


# 13221:8da47deb4602 27-Jun-2017 neliasso

8164888: Intrinsify fused mac operations on SPARC
Summary: Such speed, much wow
Reviewed-by: kvn
Contributed-by: phedlin@oracle.com


# 13086:1df8176488da 15-May-2017 gtriantafill

8179903: Clean up SPARC 32-bit support
Reviewed-by: gthornbr, fparain


# 13005:d73a8d6f9bc1 12-Apr-2017 gtriantafill

8150388: Remove SPARC 32-bit support
Reviewed-by: hseigel, coleenp, dholmes, kvn


# 12524:9ce93a5a916e 06-Jan-2017 thartmann

8171435: "assert(is_single_cpu() && !is_virtual()) failed: type check" with -XX:+PatchALot on SPARC
Summary: Fixed several issues with PatchALot or unaligned accesses on SPARC.
Reviewed-by: kvn


# 12408:777aaa19c4b1 11-Dec-2016 kvn

8171008: Integrate AOT compiler into JDK
Reviewed-by: erikj, mchung, psandoz, coleenp, iklam, stefank, simonis
Contributed-by: Bharadwaj Yadavalli <bharadwaj.yadavalli@oracle.com>, Christian Thalinger <cthalinger@twitter.com>, Dean Long <dean.long@oracle.com>, Dmitrij Pochepko <dmitrij.pochepko@oracle.com>, Dmitry Chuyko <dmitry.chuyko@oracle.com>, Doug Simon <doug.simon@oracle.com>, Eric Caspole <eric.caspole@oracle.com>, Igor Ignatyev <igor.ignatyev@oracle.com>, Igor Veresov <igor.veresov@oracle.com>, John Rose <john.r.rose@oracle.com>, Morris Meyer <morris.meyer@oracle.com>, Niclas Adlertz <niclas.adlertz@oracle.com>, Rickard Backman <rickard.backman@oracle.com>


# 12111:7b0aac4c2aac 01-Jul-2016 zmajo

8160591: Improve internal array handling
Reviewed-by: kvn
Contributed-by: Xiang Yuan <xiang.yuan@linaro.org>, Zoltan Majo <zoltan.majo@oracle.com>


# 10963:a7aa11177232 30-Mar-2016 ikrylov

8147844: new method j.l.Runtime.onSpinWait() and the corresponding x86 hotspot instrinsic
Summary: adds c1 & c2 x86 intrinsics for j.l.Runtime.onSpinWait() that utilize the PAUSE instruction
Reviewed-by: iveresov, kvn
Contributed-by: Ivan Krylov <ivan@azul.com>, Yuri Gaevsky <ygaevsky@azul.com>


# 9995:13b04370e8e9 08-Jan-2016 vdeshpande

8143353: update for x86 sin and cos in the math lib
Summary: Optimize Math.sin() and cos() for 64 and 32 bit X86 architecture using Intel LIBM implementation.
Reviewed-by: kvn


# 9737:e286c9ccd58d 11-Dec-2015 fparain

8046936: JEP 270: Reserved Stack Areas for Critical Sections
Reviewed-by: acorn, dcubed


# 9493:a2f9a1878186 20-Nov-2015 kvn

8143012: CRC32 Intrinsics support on SPARC
Reviewed-by: kvn, roland
Contributed-by: ahmed.khawaja@oracle.com


# 9283:f31349f1215e 03-Nov-2015 thartmann

8141132: JEP 254: Compact Strings
Summary: Adopt a more space-efficient internal representation for strings.
Reviewed-by: alanb, bdelsart, coleenp, iklam, jiangli, jrose, kevinw, naoto, pliden, roland, smarks, twisti
Contributed-by: Brent Christian <brent.christian@oracle.com>, Vivek Deshpande <vivek.r.deshpande@intel.com>, Tobias Hartmann <tobias.hartmann@oracle.com>, Charlie Hunt <charlie.hunt@oracle.com>, Vladimir Kozlov <vladimir.kozlov@oracle.com>, Roger Riggs <roger.riggs@oracle.com>, Xueming Shen <xueming.shen@oracle.com>, Aleksey Shipilev <aleksey.shipilev@oracle.com>, Sandhya Viswanathan <sandhya.viswanathan@intel.com>


# 8413:92457dfb91bd 13-May-2015 pliden

8079792: GC directory structure cleanup
Reviewed-by: brutisso, stefank, david


# 7844:ce2c731bb770 10-Feb-2015 psandoz

8068977: Remove unused sun.misc.Unsafe prefetch intrinsic support
Reviewed-by: kvn, vlivanov


# 6558:88c2bc28102a 05-Jun-2014 thartmann

8031389: On x86 C1 emits two relocations for polls
Summary: C1 emits two poll_type relocations at safepoint polls because LIR_Assembler::safepoint_poll(..) adds a relocation and calls LIR_Assembler::add_debug_info_for_branch(..) which adds a relocation as well. The implementation of add_debug_info_for_branch(..) is changed to not emit a poll relocation.
Reviewed-by: kvn, roland


# 6307:cfa802bad1d8 01-Apr-2014 roland

8032410: compiler/uncommontrap/TestStackBangRbp.java times out on Solaris-Sparc V9
Summary: make compiled code bang the stack by the worst case size of the interpreter frame at deoptimization points.
Reviewed-by: twisti, kvn


# 6176:3a21c3b0d33b 13-Mar-2014 iveresov

8037149: C1: getThreadTemp should return a T_LONG register on 64bit
Summary: Fix the type of the register returned by getThreadTemp() to depend on bitness
Reviewed-by: kvn, twisti


# 5815:8cdf3f43f63e 14-Jan-2014 roland

8026253: New type profiling points: sparc support
Summary: c1 and interpreter support for new type profiling on sparc
Reviewed-by: kvn, twisti


# 5545:252d541466ea 18-Oct-2013 morris

8008242: VerifyOops is broken on SPARC
Summary: Fixed displacement issues in SPARC macroassembler and ensure that getClass intrinsic temporary result is T_METADATA
Reviewed-by: kvn, twisti


# 5479:d13d7aba8c12 09-Oct-2013 roland

8023657: New type profiling points: arguments to call
Summary: x86 interpreter and c1 type profiling for arguments at calls
Reviewed-by: kvn, twisti


# 5259:7944aba7ba41 12-Aug-2013 ehelin

8015107: NPG: Use consistent naming for metaspace concepts
Reviewed-by: coleenp, mgerdin, hseigel


# 5193:f98f5d48f511 21-Aug-2013 roland

7199175: JSR 292: C1 needs patching when invokedynamic/invokehandle call site is not linked
Summary: Do patching rather bailing out for unlinked call with appendix
Reviewed-by: twisti, kvn


# 4918:b800986664f4 02-Jul-2013 drchase

7088419: Use x86 Hardware CRC32 Instruction with java.util.zip.CRC32
Summary: add intrinsics using new instruction to interpreter, C1, C2, for suitable x86; add test
Reviewed-by: kvn, twisti


# 4848:46c544b8fbfc 07-Jun-2013 morris

8008407: remove SPARC V8 support
Summary: Removed most of the SPARC V8 instructions
Reviewed-by: kvn, twisti


# 4425:46f6f063b272 21-Mar-2013 roland

7153771: array bound check elimination for c1
Summary: when possible optimize out array bound checks, inserting predicates when needed.
Reviewed-by: never, kvn, twisti
Contributed-by: thomaswue <thomas.wuerthinger@oracle.com>


# 3729:d804e148cff8 12-Oct-2012 kvn

Merge


# 3727:94e9408dbf50 11-Oct-2012 roland

8000753: compiler/6912517 crashes on 64bit sparc with compressed oops off
Summary: code generated by c1 for getClass intrinsic broken when klass field is loaded on 64bit with compressed klass off.
Reviewed-by: kvn


# 3724:8e47bac5643a 09-Oct-2012 roland

7054512: Compress class pointers after perm gen removal
Summary: support of compress class pointers in the compilers.
Reviewed-by: kvn, twisti


# 3707:d8ce2825b193 29-Sep-2012 coleenp

8000213: NPG: Should have renamed arrayKlass and typeArrayKlass
Summary: Capitalize these metadata types (and objArrayKlass)
Reviewed-by: stefank, twisti, kvn


# 3671:7eca5de9e0b6 20-Sep-2012 roland

7023898: Intrinsify AtomicLongFieldUpdater.getAndIncrement()
Summary: use shorter instruction sequences for atomic add and atomic exchange when possible.
Reviewed-by: kvn, jrose


# 3616:8a02ca5e5576 11-Sep-2012 roland

7195816: NPG: Crash in c1_ValueType - ShouldNotReachHere
Summary: C1 needs knowledge of T_METADATA at the LIR level.
Reviewed-by: kvn, coleenp


# 3602:da91efe96a93 01-Sep-2012 coleenp

6964458: Reimplement class meta-data storage to use native memory
Summary: Remove PermGen, allocate meta-data in metaspace linked to class loaders, rewrite GC walking, rewrite and rename metadata to be C++ classes
Reviewed-by: jmasa, stefank, never, coleenp, kvn, brutisso, mgerdin, dholmes, jrose, twisti, roland
Contributed-by: jmasa <jon.masamitsu@oracle.com>, stefank <stefan.karlsson@oracle.com>, mgerdin <mikael.gerdin@oracle.com>, never <tom.rodriguez@oracle.com>


# 3534:1d7922586cf6 24-Jul-2012 twisti

7023639: JSR 292 method handle invocation needs a fast path for compiled code
6984705: JSR 292 method handle creation should not go through JNI
Summary: remove assembly code for JDK 7 chained method handles
Reviewed-by: jrose, twisti, kvn, mhaupt
Contributed-by: John Rose <john.r.rose@oracle.com>, Christian Thalinger <christian.thalinger@oracle.com>, Michael Haupt <michael.haupt@oracle.com>


# 3325:8f972594effc 14-May-2012 kvn

6924259: Remove String.count/String.offset
Summary: Allow a version of String class that doesn't have count and offset fields.
Reviewed-by: never, coleenp


# 3157:701a83c86f28 21-Feb-2012 jiangli

7120481: storeStore barrier in constructor with final field
Summary: Issue storestore barrier before constructor return if the constructor write final field.
Reviewed-by: dholmes, jrose, roland, coleenp
Contributed-by: Jiangli Zhou <jiangli.zhou@oracle.com>


# 3000:898522ae3c32 19-Jan-2012 iveresov

7131288: COMPILE SKIPPED: deopt handler overflow (retry at different tier)
Summary: Fix exception handler stub size, enable guarantees to check for the correct deopt and exception stub sizes in the future
Reviewed-by: kvn, never, twisti


# 2965:22cee0ee8927 06-Jan-2012 kvn

Merge


# 2956:069ab3f976d3 07-Dec-2011 stefank

7118863: Move sizeof(klassOopDesc) into the *Klass::*_offset_in_bytes() functions
Summary: Moved sizeof(klassOopDesc), changed the return type to ByteSize and removed the _in_bytes suffix.
Reviewed-by: never, bdelsart, coleenp, jrose


# 2935:2685ea97b89f 09-Dec-2011 jiangli

Merge


# 2933:52b5d32fbfaf 06-Dec-2011 coleenp

7117052: instanceKlass::_init_state can be u1 type
Summary: Change instanceKlass::_init_state field to u1 type.
Reviewed-by: bdelsart, coleenp, dholmes, phh, never
Contributed-by: Jiangli Zhou <jiangli.zhou@oracle.com>


# 2875:6729bbc1fcd6 16-Nov-2011 twisti

7003454: order constants in constant table by number of references in code
Reviewed-by: kvn, never, bdelsart


# 2813:eba044a722a4 28-Oct-2011 never

7103261: crash with jittester on sparc
Reviewed-by: iveresov, kvn


# 2664:c124e2e7463e 31-Aug-2011 never

7083786: dead various dead chunks of code
Reviewed-by: iveresov, kvn


# 2602:3d42f82cd811 21-Jul-2011 kvn

7063628: Use cbcond on T4
Summary: Add new short branch instruction to Hotspot sparc assembler.
Reviewed-by: never, twisti, jrose


# 2296:bb22629531fa 04-Apr-2011 iveresov

7033732: C1: When calling c2 arraycopy stubs offsets and length must have clear upper 32bits
Summary: With 7033154 we started calling c2 arraycopy stubs from c1. On sparcv9 we must clear the upper 32bits for offset (src_pos, dst_pos) and length parameters when calling them.
Reviewed-by: never, kvn


# 2293:13bc79b5c9c8 02-Apr-2011 roland

7033154: Improve C1 arraycopy performance
Summary: better static analysis. Take advantage of array copy stubs.
Reviewed-by: never


# 2168:1b4e6a5d98e0 28-Feb-2011 twisti

7012914: JSR 292 MethodHandlesTest C1: frame::verify_return_pc(return_address) failed: must be a return pc
Reviewed-by: never, bdelsart


# 1997:55f868e91c3b 06-Jan-2011 iveresov

7010618: C1: array length should be treated at int on 64bit during array allocation
Summary: Sign-extend the length argument during array allocation
Reviewed-by: never, kvn


# 1977:037c727f35fb 27-Dec-2010 iveresov

7009231: C1: Incorrect CAS code for longs on SPARC 32bit
Summary: Fix CAS of longs on SPARC 32bit and cmove on SPARC 64bit.
Reviewed-by: kvn


# 1917:7601ab0e1e33 03-Dec-2010 never

7004530: casx used for 32 bit cas after 7003554
Reviewed-by: kvn, iveresov


# 1914:5ddfcf4b079e 02-Dec-2010 iveresov

7003554: (tiered) assert(is_null_object() || handle() != NULL) failed: cannot embed null pointer
Summary: C1 with profiling doesn't check whether the MDO has been really allocated, which can silently fail if the perm gen is full. The solution is to check if the allocation failed and bailout out of inlining or compilation.
Reviewed-by: kvn, never


# 1909:ac637b7220d1 01-Dec-2010 iveresov

6985015: C1 needs to support compressed oops
Summary: This change implements compressed oops for C1 for x64 and sparc. The changes are mostly on the codegen level, with a few exceptions when we do access things outside of the heap that are uncompressed from the IR. Compressed oops are now also enabled with tiered.
Reviewed-by: twisti, kvn, never, phh


# 1879:f95d63e2154a 23-Nov-2010 stefank

6989984: Use standard include model for Hospot
Summary: Replaced MakeDeps and the includeDB files with more standardized solutions.
Reviewed-by: coleenp, kvn, kamg


# 1750:a3f7f95b0165 05-Oct-2010 never

6988018: dtrace/hotspot/MethodInvocation/MethodInvocation002 crashes with client compiler
Reviewed-by: iveresov, kvn, kamg


# 1711:3a294e483abc 13-Sep-2010 iveresov

6919069: client compiler needs to capture more profile information for tiered work
Summary: Added profiling of instanceof and aastore.
Reviewed-by: kvn, jrose, never


# 1703:d5d065957597 03-Sep-2010 iveresov

6953144: Tiered compilation
Summary: Infrastructure for tiered compilation support (interpreter + c1 + c2) for 32 and 64 bit. Simple tiered policy implementation.
Reviewed-by: kvn, never, phh, twisti


# 1499:e9ff18c4ace7 02-Jun-2010 jrose

Merge


# 1484:61b2245abf36 21-May-2010 twisti

6930772: JSR 292 needs to support SPARC C1
Summary: C1 for SPARC needs to support JSR 292.
Reviewed-by: never, jrose


# 1472:c18cbe5936b8 27-May-2010 trims

6941466: Oracle rebranding changes for Hotspot repositories
Summary: Change all the Sun copyrights to Oracle copyright
Reviewed-by: ohair


# 1378:9f5b60a14736 15-Apr-2010 never

6939930: exception unwind changes in 6919934 hurts compilation speed
Reviewed-by: twisti


# 1369:0a43776437b6 08-Apr-2010 iveresov

6942223: c1 64 bit fixes
Summary: This fixes lir_cmp_l2i on x64 and sparc 64bit, and the debug info generation.
Reviewed-by: never


# 1365:6476042f815c 07-Apr-2010 kvn

6940701: Don't align loops in stubs for Niagara sparc
Summary: Don't align loops in stubs for Niagara sparc since NOPs are expensive.
Reviewed-by: twisti, never


# 1301:fc2c71045ada 17-Mar-2010 twisti

6934966: JSR 292 add C1 logic for saved SP over MethodHandle calls
Summary: The logic for x86 C1 to save the SP over MH calls is pretty straight forward but SPARC handles that differently.
Reviewed-by: never, jrose


# 1297:c466efa608d5 05-Mar-2010 roland

6932496: c1: deoptimization of jsr subroutine fails on sparcv9
Summary: store jsr ret bci as intptr constant in c1 debug info
Reviewed-by: never


# 1295:3cf667df43ef 09-Mar-2010 twisti

6919934: JSR 292 needs to support x86 C1
Summary: This implements JSR 292 support for C1 x86.
Reviewed-by: never, jrose, kvn


# 1257:7b4415a18c8a 12-Feb-2010 kvn

Merge


# 1251:576e77447e3c 07-Feb-2010 kvn

6923002: assert(false,"this call site should not be polymorphic")
Summary: Clear the total count when a receiver information is cleared.
Reviewed-by: never, jrose


# 1216:7f8790caccb0 04-Feb-2010 apangin

Merge


# 1213:6deeaebad47a 01-Feb-2010 dcubed

6902182: 4/4 Starting with jdwp agent should not incur performance penalty
Summary: Rename can_post_exceptions support to can_post_on_exceptions. Add support for should_post_on_exceptions flag to permit per JavaThread optimizations.
Reviewed-by: never, kvn, dcubed
Contributed-by: tom.deneau@amd.com


# 1204:18a389214829 01-Feb-2010 twisti

6921352: JSR 292 needs its own deopt handler
Summary: We need to introduce a new MH deopt handler so we can easily determine if the deopt happened at a MH call site or not.
Reviewed-by: never, jrose


# 1201:24128c2ffa87 29-Jan-2010 twisti

6921339: backout 6917766
Reviewed-by: mr


# 1200:ba263cfb7611 28-Jan-2010 twisti

6917766: JSR 292 needs its own deopt handler
Summary: We need to introduce a new MH deopt handler so we can easily determine if the deopt happened at a MH call site or not.
Reviewed-by: never, jrose


# 1060:323bd24c6520 02-Nov-2009 roland

6769124: various 64-bit fixes for c1
Reviewed-by: never


# 989:148e5441d916 15-Sep-2009 jrose

6863023: need non-perm oops in code cache for JSR 292
Summary: Make a special root-list for those few nmethods which might contain non-perm oops.
Reviewed-by: twisti, kvn, never, jmasa, ysr


# 780:c96bf21b756f 08-May-2009 kvn

6788527: Server vm intermittently fails with assertion "live value must not be garbage" with fastdebug bits
Summary: Cache Jvmti and DTrace flags used by Compiler.
Reviewed-by: never


# 727:6b2273dd6fa9 21-Apr-2009 twisti

6822110: Add AddressLiteral class on SPARC
Summary: The Address class on SPARC currently handles both, addresses and address literals, what makes the Address class more complicated than it has to be.
Reviewed-by: never, kvn


# 665:c89f86385056 21-Mar-2009 jrose

6814659: separable cleanups and subroutines for 6655638
Summary: preparatory but separable changes for method handles
Reviewed-by: kvn, never


# 644:c517646eef23 13-Mar-2009 jrose

6813212: factor duplicated assembly code for general subclass check (for 6655638)
Summary: Code in interp_masm, stubGenerator, c1_LIRAssembler, and AD files moved into MacroAssembler.
Reviewed-by: kvn


# 356:1ee8caae33af 21-Aug-2008 tonyp

Merge


# 342:37f87013dfd8 05-Jun-2008 ysr

6711316: Open source the Garbage-First garbage collector
Summary: First mercurial integration of the code for the Garbage-First garbage collector.
Reviewed-by: apetrusenko, iveresov, jmasa, sgoldman, tonyp, ysr


# 196:d1605aabd0a1 02-Jul-2008 xdono

6719955: Update copyright year
Summary: Update copyright year for files that have been modified in 2008
Reviewed-by: ohair, tbell


# 29:d5fc211aea19 25-Feb-2008 kvn

6633953: type2aelembytes{T_ADDRESS} should be 8 bytes in 64 bit VM
Summary: T_ADDRESS size is defined as 'int' size (4 bytes) but C2 use it for raw pointers and as memory type for StoreP and LoadP nodes.
Reviewed-by: jrose


# 0:a61af66fc99e 30-Nov-2007 duke

Initial load