Merge tag jb8u232-b1638.6
Change-Id: I9db779113bfae4bb0853a5d13c6114133ada6683
diff --git a/src/os_cpu/bsd_x86/vm/os_bsd_x86.cpp b/src/os_cpu/bsd_x86/vm/os_bsd_x86.cpp
index 50051d7..70de8af 100644
--- a/src/os_cpu/bsd_x86/vm/os_bsd_x86.cpp
+++ b/src/os_cpu/bsd_x86/vm/os_bsd_x86.cpp
@@ -281,11 +281,11 @@
address os::current_stack_pointer() {
#if defined(__clang__) || defined(__llvm__)
register void *esp;
- __asm__("mov %%"SPELL_REG_SP", %0":"=r"(esp));
+ __asm__("mov %%" SPELL_REG_SP ", %0":"=r"(esp));
return (address) esp;
#elif defined(SPARC_WORKS)
register void *esp;
- __asm__("mov %%"SPELL_REG_SP", %0":"=r"(esp));
+ __asm__("mov %%" SPELL_REG_SP ", %0":"=r"(esp));
return (address) ((char*)esp + sizeof(long)*2);
#else
register void *esp __asm__ (SPELL_REG_SP);
@@ -368,7 +368,7 @@
intptr_t* _get_previous_fp() {
#if defined(SPARC_WORKS) || defined(__clang__) || defined(__llvm__)
register intptr_t **ebp;
- __asm__("mov %%"SPELL_REG_FP", %0":"=r"(ebp));
+ __asm__("mov %%" SPELL_REG_FP ", %0":"=r"(ebp));
#else
register intptr_t **ebp __asm__ (SPELL_REG_FP);
#endif
diff --git a/src/share/vm/classfile/classLoader.hpp b/src/share/vm/classfile/classLoader.hpp
index 27f5068..1ed1737 100644
--- a/src/share/vm/classfile/classLoader.hpp
+++ b/src/share/vm/classfile/classLoader.hpp
@@ -61,6 +61,7 @@
virtual bool is_lazy();
// Constructor
ClassPathEntry();
+ virtual ~ClassPathEntry() {}
// Attempt to locate file_name through this class path entry.
// Returns a class file parsing stream if successfull.
virtual ClassFileStream* open_stream(const char* name, TRAPS) = 0;
@@ -77,6 +78,7 @@
bool is_jar_file() { return false; }
const char* name() { return _dir; }
ClassPathDirEntry(const char* dir);
+ virtual ~ClassPathDirEntry() {}
ClassFileStream* open_stream(const char* name, TRAPS);
// Debugging
NOT_PRODUCT(void compile_the_world(Handle loader, TRAPS);)
@@ -106,7 +108,7 @@
bool is_jar_file() { return true; }
const char* name() { return _zip_name; }
ClassPathZipEntry(jzfile* zip, const char* zip_name);
- ~ClassPathZipEntry();
+ virtual ~ClassPathZipEntry();
u1* open_entry(const char* name, jint* filesize, bool nul_terminate, TRAPS);
ClassFileStream* open_stream(const char* name, TRAPS);
void contents_do(void f(const char* name, void* context), void* context);
@@ -134,6 +136,7 @@
bool is_jar_file();
const char* name() { return _path; }
LazyClassPathEntry(const char* path, const struct stat* st, bool throw_exception);
+ virtual ~LazyClassPathEntry() {}
u1* open_entry(const char* name, jint* filesize, bool nul_terminate, TRAPS);
ClassFileStream* open_stream(const char* name, TRAPS);
void set_meta_index(MetaIndex* meta_index) { _meta_index = meta_index; }
diff --git a/src/share/vm/code/compiledIC.cpp b/src/share/vm/code/compiledIC.cpp
index 63821c0..0679421 100644
--- a/src/share/vm/code/compiledIC.cpp
+++ b/src/share/vm/code/compiledIC.cpp
@@ -222,7 +222,7 @@
assert(bytecode == Bytecodes::_invokeinterface, "");
int itable_index = call_info->itable_index();
entry = VtableStubs::find_itable_stub(itable_index);
- if (entry == false) {
+ if (entry == NULL) {
return false;
}
#ifdef ASSERT
diff --git a/src/share/vm/gc_implementation/g1/g1Allocator.hpp b/src/share/vm/gc_implementation/g1/g1Allocator.hpp
index 04628b7..d07446d 100644
--- a/src/share/vm/gc_implementation/g1/g1Allocator.hpp
+++ b/src/share/vm/gc_implementation/g1/g1Allocator.hpp
@@ -43,6 +43,7 @@
public:
G1Allocator(G1CollectedHeap* heap) :
_g1h(heap), _summary_bytes_used(0) { }
+ virtual ~G1Allocator() {}
static G1Allocator* create_allocator(G1CollectedHeap* g1h);
@@ -106,6 +107,7 @@
HeapRegion* _retained_old_gc_alloc_region;
public:
G1DefaultAllocator(G1CollectedHeap* heap) : G1Allocator(heap), _retained_old_gc_alloc_region(NULL) { }
+ virtual ~G1DefaultAllocator() {}
virtual void init_mutator_alloc_region();
virtual void release_mutator_alloc_region();
diff --git a/src/share/vm/prims/jvmtiImpl.hpp b/src/share/vm/prims/jvmtiImpl.hpp
index c1e4b81..9f36f28 100644
--- a/src/share/vm/prims/jvmtiImpl.hpp
+++ b/src/share/vm/prims/jvmtiImpl.hpp
@@ -64,6 +64,7 @@
class GrowableElement : public CHeapObj<mtInternal> {
public:
+ virtual ~GrowableElement() {}
virtual address getCacheValue() =0;
virtual bool equals(GrowableElement* e) =0;
virtual bool lessThan(GrowableElement *e)=0;
diff --git a/src/share/vm/runtime/perfData.hpp b/src/share/vm/runtime/perfData.hpp
index dc2723e..0943455 100644
--- a/src/share/vm/runtime/perfData.hpp
+++ b/src/share/vm/runtime/perfData.hpp
@@ -288,7 +288,7 @@
void *_valuep;
PerfData(CounterNS ns, const char* name, Units u, Variability v);
- ~PerfData();
+ virtual ~PerfData();
// create the entry for the PerfData item in the PerfData memory region.
// this region is maintained separately from the PerfData objects to
diff --git a/src/share/vm/runtime/vm_version.cpp b/src/share/vm/runtime/vm_version.cpp
index a6fdf9d..1f754a1 100644
--- a/src/share/vm/runtime/vm_version.cpp
+++ b/src/share/vm/runtime/vm_version.cpp
@@ -272,7 +272,7 @@
#endif
return VMNAME " (" VM_RELEASE ") for " OS "-" CPU FLOAT_ARCH_STR
- " JRE (" JRE_RELEASE_VERSION "), built on " __DATE__ " " __TIME__
+ " JRE (" JRE_RELEASE_VERSION "), built" // " on " __DATE__ " " __TIME__
" by " XSTR(HOTSPOT_BUILD_USER) " with " HOTSPOT_BUILD_COMPILER;
}
diff --git a/src/share/vm/utilities/decoder.hpp b/src/share/vm/utilities/decoder.hpp
index 353734b..e471c4a 100644
--- a/src/share/vm/utilities/decoder.hpp
+++ b/src/share/vm/utilities/decoder.hpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2013, 2017 Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -32,6 +32,8 @@
class AbstractDecoder : public CHeapObj<mtInternal> {
public:
+ virtual ~AbstractDecoder() {}
+
// status code for decoding native C frame
enum decoder_status {
not_available = -10, // real decoder is not available
@@ -78,7 +80,7 @@
_decoder_status = not_available;
}
- ~NullDecoder() {};
+ virtual ~NullDecoder() {};
virtual bool decode(address pc, char* buf, int buflen, int* offset,
const char* modulepath = NULL) {
diff --git a/src/share/vm/utilities/vmError.cpp b/src/share/vm/utilities/vmError.cpp
index ef3bb5c..2f6223d 100644
--- a/src/share/vm/utilities/vmError.cpp
+++ b/src/share/vm/utilities/vmError.cpp
@@ -394,7 +394,7 @@
STEP(15, "(printing type of error)")
- switch(_id) {
+ switch(static_cast<unsigned int>(_id)) {
case OOM_MALLOC_ERROR:
case OOM_MMAP_ERROR:
if (_size) {