Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 2ad9fbc5e2156137015305dd4c6c64e1a86c89de https://github.com/WebKit/WebKit/commit/2ad9fbc5e2156137015305dd4c6c64e1a86c89de Author: Yusuke Suzuki <ysuz...@apple.com> Date: 2024-10-03 (Thu, 03 Oct 2024)
Changed paths: M Source/JavaScriptCore/bytecode/BytecodeDumper.cpp M Source/JavaScriptCore/bytecode/BytecodeGeneratorification.cpp M Source/JavaScriptCore/bytecode/BytecodeList.rb M Source/JavaScriptCore/bytecode/PreciseJumpTargetsInlines.h M Source/JavaScriptCore/bytecode/UnlinkedCodeBlock.h M Source/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp M Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp M Source/JavaScriptCore/jit/JIT.cpp M Source/JavaScriptCore/jit/JITOpcodes.cpp M Source/JavaScriptCore/llint/LLIntSlowPaths.cpp M Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm M Source/JavaScriptCore/llint/LowLevelInterpreter64.asm M Source/JavaScriptCore/runtime/CachedTypes.cpp Log Message: ----------- [JSC] Add defaultOffset from bytecode to SwitchTables https://bugs.webkit.org/show_bug.cgi?id=280849 rdar://137232875 Reviewed by Yijia Huang. This patch moves Switch bytecodes' defaultOffset from bytecode to SwitchTables to reduce bytecode size for them. We anyway need to access to these tables, so putting defaultOffset into that is efficient for sizes. * Source/JavaScriptCore/bytecode/BytecodeDumper.cpp: (JSC::CodeBlockBytecodeDumper<Block>::dumpSwitchJumpTables): (JSC::CodeBlockBytecodeDumper<Block>::dumpStringSwitchJumpTables): * Source/JavaScriptCore/bytecode/BytecodeGeneratorification.cpp: (JSC::BytecodeGeneratorification::run): * Source/JavaScriptCore/bytecode/BytecodeList.rb: * Source/JavaScriptCore/bytecode/PreciseJumpTargetsInlines.h: (JSC::extractStoredJumpTargetsForInstruction): (JSC::updateStoredJumpTargetsForInstruction): * Source/JavaScriptCore/bytecode/UnlinkedCodeBlock.h: (JSC::UnlinkedStringJumpTable::offsetForValue const): (JSC::UnlinkedStringJumpTable::defaultOffset const): (JSC::UnlinkedSimpleJumpTable::offsetForValue const): (JSC::UnlinkedSimpleJumpTable::defaultOffset const): * Source/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp: (JSC::BytecodeGenerator::beginSwitch): (JSC::prepareJumpTableForSwitch): (JSC::prepareJumpTableForStringSwitch): (JSC::BytecodeGenerator::endSwitch): * Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::parseBlock): * Source/JavaScriptCore/jit/JIT.cpp: (JSC::JIT::link): * Source/JavaScriptCore/jit/JITOpcodes.cpp: (JSC::JIT::emit_op_switch_imm): (JSC::JIT::emit_op_switch_char): (JSC::JIT::emit_op_switch_string): * Source/JavaScriptCore/llint/LLIntSlowPaths.cpp: (JSC::LLInt::LLINT_SLOW_PATH_DECL): * Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm: * Source/JavaScriptCore/llint/LowLevelInterpreter64.asm: * Source/JavaScriptCore/runtime/CachedTypes.cpp: (JSC::CachedSimpleJumpTable::encode): (JSC::CachedSimpleJumpTable::decode const): (JSC::CachedStringJumpTable::encode): (JSC::CachedStringJumpTable::decode const): Canonical link: https://commits.webkit.org/284647@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications _______________________________________________ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes