src/hotspot/share/utilities/vmError.cpp
changeset 48617 01b07229a6ad
parent 48105 8d15b1369c7a
child 48824 e48c4461a8bb
child 56095 97689d6b0494
equal deleted inserted replaced
48616:80239a242d34 48617:01b07229a6ad
     1 /*
     1 /*
     2  * Copyright (c) 2003, 2017, Oracle and/or its affiliates. All rights reserved.
     2  * Copyright (c) 2003, 2018, 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.
   241         }
   241         }
   242         if (fr.is_java_frame() || fr.is_native_frame() || fr.is_runtime_frame()) {
   242         if (fr.is_java_frame() || fr.is_native_frame() || fr.is_runtime_frame()) {
   243           RegisterMap map((JavaThread*)t, false); // No update
   243           RegisterMap map((JavaThread*)t, false); // No update
   244           fr = fr.sender(&map);
   244           fr = fr.sender(&map);
   245         } else {
   245         } else {
       
   246           // is_first_C_frame() does only simple checks for frame pointer,
       
   247           // it will pass if java compiled code has a pointer in EBP.
       
   248           if (os::is_first_C_frame(&fr)) break;
   246           fr = os::get_sender_for_C_frame(&fr);
   249           fr = os::get_sender_for_C_frame(&fr);
   247         }
   250         }
   248       } else {
   251       } else {
   249         // is_first_C_frame() does only simple checks for frame pointer,
       
   250         // it will pass if java compiled code has a pointer in EBP.
       
   251         if (os::is_first_C_frame(&fr)) break;
   252         if (os::is_first_C_frame(&fr)) break;
   252         fr = os::get_sender_for_C_frame(&fr);
   253         fr = os::get_sender_for_C_frame(&fr);
   253       }
   254       }
   254     }
   255     }
   255 
   256