hotspot/src/cpu/x86/vm/sharedRuntime_x86.cpp
changeset 46727 6e4a84748e2c
parent 36079 692adc3fa1b5
equal deleted inserted replaced
46726:7801367e3cc9 46727:6e4a84748e2c
     1 /*
     1 /*
     2  * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
     2  * Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     4  *
     4  *
     5  * This code is free software; you can redistribute it and/or modify it
     5  * This code is free software; you can redistribute it and/or modify it
     6  * under the terms of the GNU General Public License version 2 only, as
     6  * under the terms of the GNU General Public License version 2 only, as
     7  * published by the Free Software Foundation.
     7  * published by the Free Software Foundation.
    37 // Object.hashCode, System.identityHashCode can pull the hashCode from the
    37 // Object.hashCode, System.identityHashCode can pull the hashCode from the
    38 // header word instead of doing a full VM transition once it's been computed.
    38 // header word instead of doing a full VM transition once it's been computed.
    39 // Since hashCode is usually polymorphic at call sites we can't do this
    39 // Since hashCode is usually polymorphic at call sites we can't do this
    40 // optimization at the call site without a lot of work.
    40 // optimization at the call site without a lot of work.
    41 void SharedRuntime::inline_check_hashcode_from_object_header(MacroAssembler* masm,
    41 void SharedRuntime::inline_check_hashcode_from_object_header(MacroAssembler* masm,
    42                                  methodHandle method,
    42                                  const methodHandle& method,
    43                                  Register obj_reg,
    43                                  Register obj_reg,
    44                                  Register result) {
    44                                  Register result) {
    45   Label slowCase;
    45   Label slowCase;
    46 
    46 
    47   // Unlike for Object.hashCode, System.identityHashCode is static method and
    47   // Unlike for Object.hashCode, System.identityHashCode is static method and