Summary: | The JIT should not crash the entire process just because there is not enough executable memory, if the LLInt is enabled | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Filip Pizlo <fpizlo> | ||||||
Component: | JavaScriptCore | Assignee: | Nobody <webkit-unassigned> | ||||||
Status: | RESOLVED FIXED | ||||||||
Severity: | Normal | CC: | loki, ossy, zecke, zherczeg | ||||||
Priority: | P2 | Keywords: | InRadar | ||||||
Version: | 528+ (Nightly build) | ||||||||
Hardware: | All | ||||||||
OS: | All | ||||||||
Bug Depends on: | |||||||||
Bug Blocks: | 80055 | ||||||||
Attachments: |
|
Description
Filip Pizlo
2012-02-29 17:29:49 PST
Created attachment 129562 [details]
the patch
Comment on attachment 129562 [details]
the patch
r=me, minus the debug settings.
Reopen, because it broke Qt-ARM and Qt-SH4 builds: Qt-SH4 build error log: ------------------------- ../../../../Source/JavaScriptCore/assembler/SH4Assembler.h: In member function 'WTF::PassRefPtr<WTF::MetaAllocatorHandle> JSC::SH4Assembler::executableCopy(JSC::JSGlobalData&, void*, JSC::JITCompilationEffort)': ../../../../Source/JavaScriptCore/assembler/SH4Assembler.h:1520:68: error: no matching function for call to 'JSC::AssemblerBufferWithConstantPool<512, 4, 2, JSC::SH4Assembler>::executableCopy(JSC::JSGlobalData&, void*&, JSC::JITCompilationEffort&)'In file included from ../../../../Source/JavaScriptCore/assembler/MacroAssemblerSH4.h:32:0, ARM build error log: ----------------------- ../../../../Source/JavaScriptCore/assembler/ARMAssembler.cpp: In member function 'WTF::PassRefPtr<WTF::MetaAllocatorHandle> JSC::ARMAssembler::executableCopy(JSC::JSGlobalData&, void*, JSC::JITCompilationEffort)': ../../../../Source/JavaScriptCore/assembler/ARMAssembler.cpp:354:97: error: no matching function for call to 'JSC::AssemblerBufferWithConstantPool<2048, 4, 4, JSC::ARMAssembler>::executableCopy(JSC::JSGlobalData&, void*&, JSC::JITCompilationEffort&)' ../../../../Source/JavaScriptCore/assembler/AssemblerBufferWithConstantPool.h:198:40: note: candidate is: WTF::PassRefPtr<WTF::MetaAllocatorHandle> JSC::AssemblerBufferWithConstantPool<maxPoolSize, barrierSize, maxInstructionSize, AssemblerType>::executableCopy(JSC::JSGlobalData&, void*) [with int maxPoolSize = 2048, int barrierSize = 4, int maxInstructionSize = 4, AssemblerType = JSC::ARMAssembler] (In reply to comment #4) > Reopen, because it broke Qt-ARM and Qt-SH4 builds: > > Qt-SH4 build error log: > ------------------------- > ../../../../Source/JavaScriptCore/assembler/SH4Assembler.h: In member function 'WTF::PassRefPtr<WTF::MetaAllocatorHandle> JSC::SH4Assembler::executableCopy(JSC::JSGlobalData&, void*, JSC::JITCompilationEffort)': > ../../../../Source/JavaScriptCore/assembler/SH4Assembler.h:1520:68: error: no matching function for call to 'JSC::AssemblerBufferWithConstantPool<512, 4, 2, JSC::SH4Assembler>::executableCopy(JSC::JSGlobalData&, void*&, JSC::JITCompilationEffort&)'In file included from ../../../../Source/JavaScriptCore/assembler/MacroAssemblerSH4.h:32:0, > > ARM build error log: > ----------------------- > ../../../../Source/JavaScriptCore/assembler/ARMAssembler.cpp: In member function 'WTF::PassRefPtr<WTF::MetaAllocatorHandle> JSC::ARMAssembler::executableCopy(JSC::JSGlobalData&, void*, JSC::JITCompilationEffort)': > ../../../../Source/JavaScriptCore/assembler/ARMAssembler.cpp:354:97: error: no matching function for call to 'JSC::AssemblerBufferWithConstantPool<2048, 4, 4, JSC::ARMAssembler>::executableCopy(JSC::JSGlobalData&, void*&, JSC::JITCompilationEffort&)' > ../../../../Source/JavaScriptCore/assembler/AssemblerBufferWithConstantPool.h:198:40: note: candidate is: WTF::PassRefPtr<WTF::MetaAllocatorHandle> JSC::AssemblerBufferWithConstantPool<maxPoolSize, barrierSize, maxInstructionSize, AssemblerType>::executableCopy(JSC::JSGlobalData&, void*) [with int maxPoolSize = 2048, int barrierSize = 4, int maxInstructionSize = 4, AssemblerType = JSC::ARMAssembler] Looks like I forgot about threading JITCompilationEffort through AssemblerBufferWithConstantPool::executableCopy(). Created attachment 129751 [details]
the patch for qt
Comment on attachment 129751 [details]
the patch for qt
rs=me, thanks for the fix.
Comment on attachment 129751 [details] the patch for qt Clearing flags on attachment: 129751 Committed r109511: <http://trac.webkit.org/changeset/109511> All reviewed patches have been landed. Closing bug. |