History log of /openjdk9/hotspot/src/cpu/x86/vm/assembler_x86.hpp
Revision Date Author Comments
# 12230:138e5abe35a9 21-Oct-2016 kvn

8165381: Update for x86 SHA512 using AVX2
Summary: Add intrinsics for x86 AVX2 architecture with no SHA instructions.
Reviewed-by: kvn
Contributed-by: smita.kamath@intel.com


# 12205:d5c67c13e5f9 18-Oct-2016 mcberg

8167987: change merge context to clear for mask register usage model
Reviewed-by: kvn


# 12076:ca56c5db7157 26-Aug-2016 vdeshpande

8154122: Intrinsify fused mac operations
Summary: added FMA intrinsics on x86
Reviewed-by: kvn, aph, darcy


# 11515:aa5cd232c161 15-Jun-2016 shade

8157726: VarHandles/Unsafe should support sub-word atomic ops
Reviewed-by: psandoz, vlivanov, lagergren


# 11185:4a39ee246f70 05-May-2016 kvn

8154974: AVX-512 equipped inflate, has_negatives & compress intrinsics
Reviewed-by: kvn
Contributed-by: tomasz.wojtowicz@intel.com


# 11084:4fd1504a0237 27-Apr-2016 vdeshpande

8154975: Update for vectorizedMismatch with AVX512
Reviewed-by: kvn


# 11081:6a17c49de974 26-Apr-2016 jcivlin

8154495: SHA256 AVX2 intrinsic (when no supports_sha() available)
Reviewed-by: kvn


# 10995:ccfc68592c92 18-Apr-2016 mcberg

8153998: Masked vector post loops
Summary: Masked vectorization for post loops to execute in a single iteration in place of fixup scalar loops which used to take many iterations to complete work for user loops.
Reviewed-by: twisti, kvn


# 10964:33f10a35ce20 06-Apr-2016 vdeshpande

8152907: Update for x86 tan and log10 in the math lib
Summary: Optimize Math.tan() and log10() for 64 and 32 bit X86 architecture using Intel LIBM implementation.
Reviewed-by: kvn, twisti
Contributed-by: shravya.rukmannagari@intel.com


# 10807:55f9239df8d7 05-Apr-2016 mcberg

8151003: Remove nds->is_valid() checks from assembler_x86.cpp
Reviewed-by: kvn


# 10537:450bb8cbf13e 29-Mar-2016 mcberg

8152496: Blended code generation
Reviewed-by: kvn, shade


# 10435:0edd74a48586 07-Mar-2016 mikael

8151002: Make Assembler methods vextract and vinsert match actual instructions
Reviewed-by: kvn, vlivanov, mcberg


# 10429:59829cb7ae2e 03-Mar-2016 vdeshpande

8150767: Enables SHA Extensions on x86
Summary: Add x86 intrinsics for SHA-1 and SHA-256.
Reviewed-by: kvn, twisti
Contributed-by: vivek.r.deshpande@intel.com, shravya.rukmannagari@intel.com


# 10228:5fefcbeda616 12-Feb-2016 mcberg

8149421: Vectorized Post Loops
Summary: add vectorised post loop for counted loops with vectors.
Reviewed-by: kvn


# 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


# 9820:72f54de44772 29-Dec-2015 kvn

8143925: Enhancing CounterMode.crypt() for AES
Summary: Add intrinsic for CounterMode.crypt() to leverage the parallel nature of AES in Counter(CTR) Mode.
Reviewed-by: kvn, ascarpino
Contributed-by: kishor.kharbas@intel.com


# 9812:94849fb8ce93 23-Dec-2015 kvn

8145688: Update for x86 pow in the math lib
Summary: Optimizes Math.pow() for 64 and 32 bit X86 architecture using Intel LIBM implementation.
Reviewed-by: kvn
Contributed-by: vivek.r.deshpande@intel.com


# 9779:5b1e593803b5 14-Dec-2015 kvn

8144771: Use AVX3 instructions for string compare
Reviewed-by: kvn, thartmann
Contributed-by: jan.civlin@intel.com, michael.c.berg@intel.com


# 9491:42fc18486e9c 19-Nov-2015 mcberg

8142980: SKX SpecJvm2008 - Derby
Summary: Fix EVEX and AVX512 problems found by testing on 64-bit SKX and KNL EVEX enabled platforms.
Reviewed-by: iveresov, kvn, vlivanov


# 9450:b57d415bdaa9 09-Nov-2015 iveresov

8140779: Code generation fixes for avx512
Summary: Assembler refactoring. Abstract away instruction attributes.
Reviewed-by: kvn, roland, iveresov
Contributed-by: michael.c.berg@intel.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>


# 9209:ae64ff428e18 26-Oct-2015 iveresov

8139340: SuperWord enhancement to support vector conditional move (CMovVD) on Intel AVX cpu
Summary: Emit vector conditional moves
Reviewed-by: kvn
Contributed-by: jan.civlin@intel.com


# 9205:4b46d2b42fcb 22-Oct-2015 iveresov

8139575: Update for x86 log in the math lib
Summary: Add new java.lang.Math() intrinsics from x86
Reviewed-by: kvn, iveresov
Contributed-by: vivek.r.deshpande@intel.com


# 9111:a41fe5ffa839 08-Oct-2015 twisti

8136421: JEP 243: Java-Level JVM Compiler Interface
Reviewed-by: ihse, alanb, roland, coleenp, iveresov, kvn, kbarrett


# 9040:324ea1a2419a 05-Oct-2015 iveresov

8132207: update for x86 exp in the math lib
Summary: Add new java.lang.Math() intrinsics from x86
Reviewed-by: kvn, iveresov
Contributed-by: vivek.r.deshpande@intel.com


# 9017:a60e232aa8f2 16-Sep-2015 kvn

8134553: CRC32C implementations for x86/x64 targets
Reviewed-by: kvn
Contributed-by: tomasz.wojtowicz@intel.com


# 8965:41b6cb9246fe 11-Sep-2015 mcberg

8132160: support for AVX 512 call frames and stack management
Summary: simplify save/restore frame on x86 systems which support EVEX.
Reviewed-by: kvn, iveresov


# 8961:a589f73b79f4 09-Sep-2015 mcberg

8135028: support for vectorizing double precision sqrt
Reviewed-by: kvn, twisti


# 8608:a7dfe3d73bf9 23-Jun-2015 mcberg

8081247: AVX 512 extended support
Summary: add more support for EVEX encoding
Reviewed-by: kvn, neliasso


# 8602:ce0c612ea443 17-Jun-2015 ascarpino

8073108: Use x86 and SPARC CPU instructions for GHASH acceleration
Reviewed-by: kvn, jrose


# 8504:578f086f3435 03-Jun-2015 kvn

8081778: Use Intel x64 CPU instructions for RSA acceleration
Summary: Add intrinsics for BigInteger squareToLen and mulAdd methods.
Reviewed-by: kvn, jrose


# 8379:bd72804c91d6 08-May-2015 kvn

8076276: Add support for AVX512
Reviewed-by: kvn, roland
Contributed-by: michael.c.berg@intel.com


# 8290:382e9e4b3b71 27-Apr-2015 zmajo

8068945: Use RBP register as proper frame pointer in JIT compiled code on x86
Summary: Introduce the PreserveFramePointer flag to control if RBP is used as the frame pointer or as a general purpose register.
Reviewed-by: kvn, roland, dlong, enevill, shade


# 8196:6fff5df5f3d2 01-Apr-2015 kvn

8074981: Integer/FP scalar reduction optimization
Summary: Add scalar reduction optimization to C2 to take advantage of vector instructions in modern x86 CPUs.
Reviewed-by: kvn, twisti
Contributed-by: michael.c.berg@intel.com


# 7432:5398ffa1a419 21-Oct-2014 jwilhelm

8058255: Native jbyte Atomic::cmpxchg for supported x86 platforms
Summary: Use the native cmpxchgb instruction on x86.
Reviewed-by: dholmes, kbarrett, phh
Contributed-by: erik.osterlund@lnu.se


# 7030:51e474c55d20 04-Sep-2014 shade

8050147: StoreLoad barrier interferes with stack usages
Reviewed-by: jrose, kvn, drchase


# 6997:427de14928ab 02-Sep-2014 kvn

8055494: Add C2 x86 intrinsic for BigInteger::multiplyToLen() method
Summary: Add new C2 intrinsic for BigInteger::multiplyToLen() on x86 in 64-bit VM.
Reviewed-by: roland


# 6839:76913ad3cd41 05-Aug-2014 kvn

8052081: Optimize generated by C2 code for Intel's Atom processor
Summary: Allow to execute vectorization and crc32 optimization on Atom. Enable UseFPUForSpilling by default on x86.
Reviewed-by: roland


# 6182:2f459c5235f9 20-Mar-2014 kvn

8031320: Use Intel RTM instructions for locks
Summary: Use RTM for inflated locks and stack locks.
Reviewed-by: iveresov, twisti, roland, dcubed


# 6117:9e9af3aa4278 12-Mar-2014 iveresov

8031321: Support Intel bit manipulation instructions
Summary: Add support for BMI1 instructions
Reviewed-by: kvn, roland


# 5562:59e8ad757e19 18-Oct-2013 rbackman

8026844: Various Math functions needs intrinsification
Reviewed-by: kvn, twisti


# 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


# 4061:cf8470eaf7e5 27-Jan-2013 acorn

Merge


# 4057:8b46b0196eb0 25-Jan-2013 zgu

8000692: Remove old KERNEL code
Summary: Removed depreciated kernel VM source code from hotspot VM
Reviewed-by: dholmes, acorn


# 4044:b30b3c2a0cf2 22-Jan-2013 kvn

6896617: Optimize sun.nio.cs.ISO_8859_1$Encode.encodeArrayLoop() on x86
Summary: Use SSE4.2 and AVX2 instructions for encodeArray intrinsic.
Reviewed-by: roland


# 3978:038dd2875b94 08-Jan-2013 kvn

8005419: Improve intrinsics code performance on x86 by using AVX2
Summary: use 256bit vpxor,vptest instructions in String.compareTo() and equals() intrinsics.
Reviewed-by: twisti


# 3976:e2e6bf86682c 03-Jan-2013 kvn

8005544: Use 256bit YMM registers in arraycopy stubs on x86
Summary: Use YMM registers in arraycopy and array_fill stubs.
Reviewed-by: roland, twisti


# 3975:00af3a3a8df4 03-Jan-2013 kvn

8005522: use fast-string instructions on x86 for zeroing
Summary: use 'rep stosb' instead of 'rep stosq' when fast-string operations are available.
Reviewed-by: twisti, roland


# 3888:f0c2369fda5a 06-Dec-2012 twisti

8003250: SPARC: move MacroAssembler into separate file
Reviewed-by: jrose, kvn


# 3883:cd3d6a6b95d9 30-Nov-2012 twisti

8003240: x86: move MacroAssembler into separate file
Reviewed-by: kvn


# 3882:6ab62ad83507 30-Nov-2012 twisti

8003195: AbstractAssembler should not store code pointers but use the CodeSection directly
Reviewed-by: twisti, kvn
Contributed-by: Bharadwaj Yadavalli <bharadwaj.yadavalli@oracle.com>


# 3770:a3ecd773a7b9 24-Oct-2012 kvn

7184394: add intrinsics to use AES instructions
Summary: Use new x86 AES instructions for AESCrypt.
Reviewed-by: twisti, kvn, roland
Contributed-by: tom.deneau@amd.com


# 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


# 3668:137868b7aa6f 17-Sep-2012 kvn

7196199: java/text/Bidi/Bug6665028.java failed: Bidi run count incorrect
Summary: Save whole XMM/YMM registers in safepoint interrupt handler.
Reviewed-by: roland, twisti


# 3617:75f33eecc1b3 11-Sep-2012 coleenp

7196681: NPG: Some JSR 292 tests crash in Windows exception handler
Summary: There was a rogue os::breakpoint() call in log_dependency left over from the jsr292 merge. Also changed verify_oop() calls for metadata to verify_{method,klass}_ptr.
Reviewed-by: kvn, twisti


# 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>


# 3566:006050192a5a 20-Aug-2012 kvn

6340864: Implement vectorization optimizations in hotspot-server
Summary: Added asm encoding and mach nodes for vector arithmetic instructions on x86.
Reviewed-by: roland


# 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>


# 3494:2c368ea3e844 16-Jul-2012 kvn

7181494: cleanup avx and vectors code
Summary: renamed mach nodes which use scalar AVX instructions, added integer vectors shuffling instructions
Reviewed-by: twisti


# 3447:8c92982cbbc4 15-Jun-2012 kvn

7119644: Increase superword's vector size up to 256 bits
Summary: Increase vector size up to 256-bits for YMM AVX registers on x86.
Reviewed-by: never, twisti, roland


# 3409:e7715c222897 12-Jun-2012 roland

7174532: jdk/test/java/lang/Math/WorstCaseTests.java failing on x86
Summary: increase precision on x86 for the steps of the computation of exp and pow.
Reviewed-by: kvn


# 3352:6759698e3140 15-May-2012 roland

7133857: exp() and pow() should use the x87 ISA on x86
Summary: use x87 instructions to implement exp() and pow() in interpreter/c1/c2.
Reviewed-by: kvn, never, twisti


# 3139:fd8114661503 15-Feb-2012 kvn

7125136: SIGILL on linux amd64 in gc/ArrayJuggle/Juggle29
Summary: For C2 moved saving EBP after ESP adjustment. For C1 generated 5 byte nop instruction first if needed.
Reviewed-by: never, twisti, azeemj


# 2955:65149e74c706 20-Dec-2011 kvn

7121648: Use 3-operands SIMD instructions on x86 with AVX
Summary: Use 3-operands SIMD instructions in C2 generated code for machines with AVX.
Reviewed-by: never


# 2953:127b3692c168 14-Dec-2011 kvn

7116452: Add support for AVX instructions
Summary: Added support for AVX extension to the x86 instruction set.
Reviewed-by: never


# 2875:6729bbc1fcd6 16-Nov-2011 twisti

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


# 2614:95134e034042 11-Aug-2011 kvn

7063629: use cbcond in C2 generated code on T4
Summary: Use new short branch instruction in C2 generated code.
Reviewed-by: never


# 2545:de6a837d75cf 21-Jun-2011 never

7056380: VM crashes with SIGSEGV in compiled code
Summary: code was using andq reg, imm instead of addq addr, imm
Reviewed-by: kvn, jrose, twisti


# 2517:5cf771a79037 08-Jun-2011 jrose

7047697: MethodHandle.invokeExact call for wrong method causes VM failure if run with -Xcomp
Reviewed-by: never, twisti


# 2460:167b70ff3abc 06-May-2011 never

6939861: JVM should handle more conversion operations
Reviewed-by: twisti, jrose


# 2433:2e038ad0c1d0 02-May-2011 never

7009361: JSR 292 Invalid value on stack on solaris-sparc with -Xcomp
Reviewed-by: kvn, twisti


# 2352:5d046bf49ce7 14-Apr-2011 johnc

Merge


# 2349:92add02409c9 08-Apr-2011 jmasa

Merge


# 2346:e1162778c1c8 07-Apr-2011 johnc

7009266: G1: assert(obj->is_oop_or_null(true )) failed: Error
Summary: A referent object that is only weakly reachable at the start of concurrent marking but is re-attached to the strongly reachable object graph during marking may not be marked as live. This can cause the reference object to be processed prematurely and leave dangling pointers to the referent object. Implement a read barrier for the java.lang.ref.Reference::referent field by intrinsifying the Reference.get() method, and intercepting accesses though JNI, reflection, and Unsafe, so that when a non-null referent object is read it is also logged in an SATB buffer.
Reviewed-by: kvn, iveresov, never, tonyp, dholmes


# 2311:d86923d96dca 08-Apr-2011 iveresov

7034967: C1: assert(false) failed: error (assembler_sparc.cpp:2043)
Summary: Fix -XX:+VerifyOops
Reviewed-by: kvn, never


# 2302:479b4b4b6950 05-Apr-2011 never

6777083: assert(target != __null,"must not be null")
Reviewed-by: iveresov, kvn


# 2262:09f96c3ff1ad 31-Mar-2011 twisti

7032388: guarantee(VM_Version::supports_cmov()) failed: illegal instruction on i586 after 6919934
Summary: 6919934 added some unguarded cmov instructions which hit a guarantee on older hardware.
Reviewed-by: never, iveresov, kvn, phh


# 2251:b40d4fa697bf 27-Mar-2011 iveresov

6964776: c2 should ensure the polling page is reachable on 64 bit
Summary: Materialize the pointer to the polling page in a register instead of using rip-relative addressing when the distance from the code cache is larger than disp32.
Reviewed-by: never, kvn


# 2167:41d4973cf100 26-Feb-2011 kvn

6942326: x86 code in string_indexof() could read beyond reserved heap space
Summary: copy small (<8) strings on stack if str+16 crosses a page boundary and load from stack into XMM. Back up pointer when loading string's tail.
Reviewed-by: never


# 2134:6bbaedb03534 09-Feb-2011 never

7016474: string compare intrinsic improvements
Reviewed-by: kvn


# 2130:28bf941f445e 14-Feb-2011 twisti

7018378: JSR 292: _bound_int_mh produces wrong result on 64-bit SPARC
Reviewed-by: kvn


# 1988:b1a2afa37ec4 07-Jan-2011 phh

7003271: Hotspot should track cumulative Java heap bytes allocated on a per-thread basis
Summary: Track allocated bytes in Thread's, update on TLAB retirement and direct allocation in Eden and tenured, add JNI methods for ThreadMXBean.
Reviewed-by: coleenp, kvn, dholmes, ysr


# 1915:2f644f85485d 03-Dec-2010 twisti

6961690: load oops from constant table on SPARC
Summary: oops should be loaded from the constant table of an nmethod instead of materializing them with a long code sequence.
Reviewed-by: never, kvn


# 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


# 1840:2fe998383789 06-Nov-2010 kvn

6997311: SIGFPE in new long division asm code
Summary: use unsigned DIV instruction
Reviewed-by: never


# 1766:d55217dc206f 11-Oct-2010 twisti

6829194: JSR 292 needs to support compressed oops
Reviewed-by: kvn, jrose


# 1683:d6f45b55c972 27-Aug-2010 never

4809552: Optimize Arrays.fill(...)
Reviewed-by: kvn


# 1604:66c5dadb4d61 30-Jul-2010 kvn

6973308: Missing zero length check before repne scas in check_klass_subtype_slow_path()
Summary: set Z = 0 (not equal) before repne_scan() to indicate that class was not found when RCX == 0.
Reviewed-by: never, phh


# 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


# 1423:c640000b7cc1 29-Apr-2010 twisti

6829193: JSR 292 needs to support SPARC
Summary: There are unimplemented portions of the hotspot code for method handles and invokedynamic specific to SPARC.
Reviewed-by: kvn, never, jrose


# 1063:2f1ec89b9995 10-Nov-2009 cfang

Merge


# 1060:323bd24c6520 02-Nov-2009 roland

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


# 1047:beb8f45ee9f0 29-Oct-2009 johnc

6889740: G1: OpenDS fails with "unhandled exception in compiled code"
Summary: Incorrect code was being generated for the store operation in the null case of the aastore bytecode template. The bad code was generated by the store_heap_oop routine which takes a Register as its second argument. Passing NULL_WORD (0) as the second argument causes the value to be converted to Register(0), which is rax. Thus the generated store was "mov (dst), $rax" instead of "mov (dst), $0x0". Changed calls to store_heap_oop that pass NULL_WORD as the second argument to a new routine store_heap_oop_null.
Reviewed-by: kvn, twisti


# 986:62001a362ce9 14-Sep-2009 kvn

6827605: new String intrinsics may prevent EA scalar replacement
6875866: Intrinsic for String.indexOf() is broken on x86 with SSE4.2
Summary: Modify String intrinsic methods to pass char[] pointers instead of string oops.
Reviewed-by: never


# 775:93c14e5562c4 06-May-2009 twisti

6823354: Add intrinsics for {Integer,Long}.{numberOfLeadingZeros,numberOfTrailingZeros}()
Summary: These methods can be instrinsified by using bit scan, bit test, and population count instructions.
Reviewed-by: kvn, never


# 710:e5b0439ef4ae 08-Apr-2009 jrose

6655638: dynamic languages need method handles
Summary: initial implementation, with known omissions (x86/64, sparc, compiler optim., c-oops, C++ interp.)
Reviewed-by: kvn, twisti, never


# 681:fbde8ec322d0 31-Mar-2009 cfang

6761600: Use sse 4.2 in intrinsics
Summary: Use SSE 4.2 in intrinsics for String.{compareTo/equals/indexOf} and Arrays.equals.
Reviewed-by: kvn, never, jrose


# 671:d0994e5bebce 26-Mar-2009 never

6822204: volatile fences should prefer lock:addl to actual mfence instructions
Reviewed-by: kvn, phh


# 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


# 643:c771b7f43bbf 13-Mar-2009 twisti

6378821: bitCount() should use POPC on SPARC processors and AMD+10h
Summary: bitCount() should use POPC on SPARC processors where POPC is implemented directly in hardware.
Reviewed-by: kvn, never


# 642:660978a2a31a 12-Mar-2009 kvn

6791178: Specialize for zero as the compressed oop vm heap base
Summary: Use zero based compressed oops if java heap is below 32gb and unscaled compressed oops if java heap is below 4gb.
Reviewed-by: never, twisti, jcoomes, coleenp


# 624:337400e7a5dd 09-Mar-2009 twisti

6797305: Add LoadUB and LoadUI opcode class
Summary: Add a LoadUB (unsigned byte) and LoadUI (unsigned int) opcode class so we have these load optimizations in the first place and do not need to handle them in the matcher.
Reviewed-by: never, kvn


# 623:9adddb8c0fc8 06-Mar-2009 jrose

6812831: factor duplicated assembly code for megamorphic invokeinterface (for 6655638)
Summary: Code in vtableStubs and templateTable moved into MacroAssembler.
Reviewed-by: kvn


# 622:56aae7be60d4 04-Mar-2009 jrose

6812678: macro assembler needs delayed binding of a few constants (for 6655638)
Summary: minor assembler enhancements preparing for method handles
Reviewed-by: kvn


# 420:a1980da045cc 07-Nov-2008 kvn

6462850: generate biased locking code in C2 ideal graph
Summary: Inline biased locking code in C2 ideal graph during macro nodes expansion
Reviewed-by: never


# 405:2649e5276dd7 14-Oct-2008 kvn

6532536: Optimize arraycopy stubs for Intel cpus
Summary: Use SSE2 movdqu in arraycopy stubs on newest Intel's cpus
Reviewed-by: rasbold


# 362:f8199438385b 17-Sep-2008 apetrusenko

Merge


# 304:dc7f315e41f7 27-Aug-2008 never

5108146: Merge i486 and amd64 cpu directories
6459804: Want client (c1) compiler for x86_64 (amd64) for faster start-up
Reviewed-by: kvn