hotspot/src/cpu/x86/vm/c1_LIRAssembler_x86.cpp
changeset 37251 9fc139ad74b5
parent 35540 e001ad24dcdb
child 38033 996ce936543f
equal deleted inserted replaced
37250:2fecd8bdc8e9 37251:9fc139ad74b5
     1 /*
     1 /*
     2  * Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.
     2  * Copyright (c) 2000, 2016, 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.
   310   // copied into place by code emitted in the IR.
   310   // copied into place by code emitted in the IR.
   311 
   311 
   312   Register OSR_buf = osrBufferPointer()->as_pointer_register();
   312   Register OSR_buf = osrBufferPointer()->as_pointer_register();
   313   { assert(frame::interpreter_frame_monitor_size() == BasicObjectLock::size(), "adjust code below");
   313   { assert(frame::interpreter_frame_monitor_size() == BasicObjectLock::size(), "adjust code below");
   314     int monitor_offset = BytesPerWord * method()->max_locals() +
   314     int monitor_offset = BytesPerWord * method()->max_locals() +
   315       (2 * BytesPerWord) * (number_of_locks - 1);
   315       (BasicObjectLock::size() * BytesPerWord) * (number_of_locks - 1);
   316     // SharedRuntime::OSR_migration_begin() packs BasicObjectLocks in
   316     // SharedRuntime::OSR_migration_begin() packs BasicObjectLocks in
   317     // the OSR buffer using 2 word entries: first the lock and then
   317     // the OSR buffer using 2 word entries: first the lock and then
   318     // the oop.
   318     // the oop.
   319     for (int i = 0; i < number_of_locks; i++) {
   319     for (int i = 0; i < number_of_locks; i++) {
   320       int slot_offset = monitor_offset - ((i * 2) * BytesPerWord);
   320       int slot_offset = monitor_offset - ((i * 2) * BytesPerWord);