comparison src/share/vm/code/relocInfo.hpp @ 12146:9758d9f36299

8021954: VM SIGSEGV during classloading on MacOS; hs_err_pid file produced Summary: declare all user-defined operator new()s within Hotspot code with the empty throw() exception specification Reviewed-by: coleenp, twisti, dholmes, hseigel, dcubed, kvn, ccheung Contributed-by: lois.foltan@oracle.com
author coleenp
date Thu, 29 Aug 2013 18:56:29 -0400
parents 7875ea94bea5
children 8085ce95b6f5 2b8e28fdf503
comparison
equal deleted inserted replaced
12145:cef1e56a4d88 12146:9758d9f36299
1 /* 1 /*
2 * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. 2 * Copyright (c) 1997, 2013, 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.
675 static RelocationHolder newHolder() { 675 static RelocationHolder newHolder() {
676 return RelocationHolder(); 676 return RelocationHolder();
677 } 677 }
678 678
679 public: 679 public:
680 void* operator new(size_t size, const RelocationHolder& holder) { 680 void* operator new(size_t size, const RelocationHolder& holder) throw() {
681 if (size > sizeof(holder._relocbuf)) guarantee_size(); 681 if (size > sizeof(holder._relocbuf)) guarantee_size();
682 assert((void* const *)holder.reloc() == &holder._relocbuf[0], "ptrs must agree"); 682 assert((void* const *)holder.reloc() == &holder._relocbuf[0], "ptrs must agree");
683 return holder.reloc(); 683 return holder.reloc();
684 } 684 }
685 685