Mercurial > hg > graal-compiler
comparison src/share/vm/runtime/sharedRuntime.cpp @ 28:67914967a4b5
6650373: Assert in methodOopDesc::make_adapters()
Summary: AdapterHandlerLibrary::get_create_adapter_index() returns incorrect value (-2) when CodeCache is full.
Reviewed-by: sgoldman
author | kvn |
---|---|
date | Fri, 22 Feb 2008 17:55:13 -0800 |
parents | f8236e79048a |
children | cd0742ba123c |
comparison
equal
deleted
inserted
replaced
27:1f530c629c7d | 28:67914967a4b5 |
---|---|
1837 comp_args_on_stack, | 1837 comp_args_on_stack, |
1838 sig_bt, | 1838 sig_bt, |
1839 regs); | 1839 regs); |
1840 | 1840 |
1841 B = BufferBlob::create(AdapterHandlerEntry::name, &buffer); | 1841 B = BufferBlob::create(AdapterHandlerEntry::name, &buffer); |
1842 if (B == NULL) return -2; // Out of CodeCache space | 1842 if (B == NULL) { |
1843 // CodeCache is full, disable compilation | |
1844 // Ought to log this but compile log is only per compile thread | |
1845 // and we're some non descript Java thread. | |
1846 UseInterpreter = true; | |
1847 if (UseCompiler || AlwaysCompileLoopMethods ) { | |
1848 #ifndef PRODUCT | |
1849 warning("CodeCache is full. Compiler has been disabled"); | |
1850 if (CompileTheWorld || ExitOnFullCodeCache) { | |
1851 before_exit(JavaThread::current()); | |
1852 exit_globals(); // will delete tty | |
1853 vm_direct_exit(CompileTheWorld ? 0 : 1); | |
1854 } | |
1855 #endif | |
1856 UseCompiler = false; | |
1857 AlwaysCompileLoopMethods = false; | |
1858 } | |
1859 return 0; // Out of CodeCache space (_handlers[0] == NULL) | |
1860 } | |
1843 entry->relocate(B->instructions_begin()); | 1861 entry->relocate(B->instructions_begin()); |
1844 #ifndef PRODUCT | 1862 #ifndef PRODUCT |
1845 // debugging suppport | 1863 // debugging suppport |
1846 if (PrintAdapterHandlers) { | 1864 if (PrintAdapterHandlers) { |
1847 tty->cr(); | 1865 tty->cr(); |