RESOLVED WONTFIX 125216
Do not emit #if-#endif guards for caluclation the number of StructOffset and Sizeof nodes.
https://bugs.webkit.org/show_bug.cgi?id=125216
Summary Do not emit #if-#endif guards for caluclation the number of StructOffset and ...
László Langó
Reported 2013-12-04 03:02:20 PST
Do not emit #if-#endif guards for calculation the number of StructOffset and Sizeof nodes.
Attachments
Patch (1.45 KB, patch)
2013-12-04 03:04 PST, László Langó
fpizlo: review-
László Langó
Comment 1 2013-12-04 03:04:19 PST
Filip Pizlo
Comment 2 2013-12-04 09:07:50 PST
Comment on attachment 218395 [details] Patch Why do you think this is right? Note that this code is for MachO fat binary support so please test a fat binary build on Mac.
László Langó
Comment 3 2013-12-05 01:26:11 PST
(In reply to comment #2) > (From update of attachment 218395 [details]) > Why do you think this is right? Note that this code is for MachO fat binary support so please test a fat binary build on Mac. Ok, if you can tell me how to make a Mach0 fat binary, then i'll check this on Mac too. But this should be Ok, bacause this change is only remove unused defines from LLIntDesiredOffsets.h. In the beginning of this file the empty defines are useless, they are there because of the wrong function call, when the cloop.rb calculates the length value: #if !OFFLINE_ASM_X86 && !OFFLINE_ASM_ARMv7_TRADITIONAL && !OFFLINE_ASM_ARMv7 && OFFLINE_ASM_ASSERT_ENABLED && OFFLINE_ASM_VALUE_PROFILER && OFFLINE_ASM_BIG_ENDIAN && OFFLINE_ASM_ALWAYS_ALLOCATE_SLOW && !OFFLINE_ASM_MIPS && OFFLINE_ASM_ARMv7s && OFFLINE_ASM_EXECUTION_TRACING && OFFLINE_ASM_JSVALUE64 && !OFFLINE_ASM_ARM64 && !OFFLINE_ASM_X86_64 && OFFLINE_ASM_JIT_ENABLED && !OFFLINE_ASM_SH4 && OFFLINE_ASM_C_LOOP && OFFLINE_ASM_JAVASCRIPT_DEBUGGER && !OFFLINE_ASM_ARM #endif #if !OFFLINE_ASM_X86 && !OFFLINE_ASM_ARMv7_TRADITIONAL && !OFFLINE_ASM_ARMv7 && OFFLINE_ASM_ASSERT_ENABLED && OFFLINE_ASM_VALUE_PROFILER && OFFLINE_ASM_BIG_ENDIAN && OFFLINE_ASM_ALWAYS_ALLOCATE_SLOW && !OFFLINE_ASM_MIPS && OFFLINE_ASM_ARMv7s && OFFLINE_ASM_EXECUTION_TRACING && OFFLINE_ASM_JSVALUE64 && !OFFLINE_ASM_ARM64 && !OFFLINE_ASM_X86_64 && OFFLINE_ASM_JIT_ENABLED && !OFFLINE_ASM_SH4 && OFFLINE_ASM_C_LOOP && !OFFLINE_ASM_JAVASCRIPT_DEBUGGER && !OFFLINE_ASM_ARM #endif ... #if !OFFLINE_ASM_X86 && !OFFLINE_ASM_ARMv7_TRADITIONAL && !OFFLINE_ASM_ARMv7 && !OFFLINE_ASM_ASSERT_ENABLED && !OFFLINE_ASM_VALUE_PROFILER && !OFFLINE_ASM_BIG_ENDIAN && !OFFLINE_ASM_ALWAYS_ALLOCATE_SLOW && !OFFLINE_ASM_MIPS && !OFFLINE_ASM_ARMv7s && !OFFLINE_ASM_EXECUTION_TRACING && !OFFLINE_ASM_JSVALUE64 && !OFFLINE_ASM_ARM64 && !OFFLINE_ASM_X86_64 && !OFFLINE_ASM_JIT_ENABLED && !OFFLINE_ASM_SH4 && !OFFLINE_ASM_C_LOOP && !OFFLINE_ASM_JAVASCRIPT_DEBUGGER && !OFFLINE_ASM_ARM #endif static const unsigned extractorTable[1139200] = { For the length we need to iterate through them, but we don't need to emit the defines. And the extra is that we can save ~1MB space with this change.
Filip Pizlo
Comment 4 2013-12-05 07:41:04 PST
(In reply to comment #3) > (In reply to comment #2) > > (From update of attachment 218395 [details] [details]) > > Why do you think this is right? Note that this code is for MachO fat binary support so please test a fat binary build on Mac. > > Ok, if you can tell me how to make a Mach0 fat binary, then i'll check this on Mac too. But this should be Ok, bacause this change is only remove unused defines from LLIntDesiredOffsets.h. In the beginning of this file the empty defines are useless, they are there because of the wrong function call, when the cloop.rb calculates the length value: > > #if !OFFLINE_ASM_X86 && !OFFLINE_ASM_ARMv7_TRADITIONAL && !OFFLINE_ASM_ARMv7 && OFFLINE_ASM_ASSERT_ENABLED && OFFLINE_ASM_VALUE_PROFILER && OFFLINE_ASM_BIG_ENDIAN && OFFLINE_ASM_ALWAYS_ALLOCATE_SLOW && !OFFLINE_ASM_MIPS && OFFLINE_ASM_ARMv7s && OFFLINE_ASM_EXECUTION_TRACING && OFFLINE_ASM_JSVALUE64 && !OFFLINE_ASM_ARM64 && !OFFLINE_ASM_X86_64 && OFFLINE_ASM_JIT_ENABLED && !OFFLINE_ASM_SH4 && OFFLINE_ASM_C_LOOP && OFFLINE_ASM_JAVASCRIPT_DEBUGGER && !OFFLINE_ASM_ARM > #endif > #if !OFFLINE_ASM_X86 && !OFFLINE_ASM_ARMv7_TRADITIONAL && !OFFLINE_ASM_ARMv7 && OFFLINE_ASM_ASSERT_ENABLED && OFFLINE_ASM_VALUE_PROFILER && OFFLINE_ASM_BIG_ENDIAN && OFFLINE_ASM_ALWAYS_ALLOCATE_SLOW && !OFFLINE_ASM_MIPS && OFFLINE_ASM_ARMv7s && OFFLINE_ASM_EXECUTION_TRACING && OFFLINE_ASM_JSVALUE64 && !OFFLINE_ASM_ARM64 && !OFFLINE_ASM_X86_64 && OFFLINE_ASM_JIT_ENABLED && !OFFLINE_ASM_SH4 && OFFLINE_ASM_C_LOOP && !OFFLINE_ASM_JAVASCRIPT_DEBUGGER && !OFFLINE_ASM_ARM > #endif > > ... > > #if !OFFLINE_ASM_X86 && !OFFLINE_ASM_ARMv7_TRADITIONAL && !OFFLINE_ASM_ARMv7 && !OFFLINE_ASM_ASSERT_ENABLED && !OFFLINE_ASM_VALUE_PROFILER && !OFFLINE_ASM_BIG_ENDIAN && !OFFLINE_ASM_ALWAYS_ALLOCATE_SLOW && !OFFLINE_ASM_MIPS && !OFFLINE_ASM_ARMv7s && !OFFLINE_ASM_EXECUTION_TRACING && !OFFLINE_ASM_JSVALUE64 && !OFFLINE_ASM_ARM64 && !OFFLINE_ASM_X86_64 && !OFFLINE_ASM_JIT_ENABLED && !OFFLINE_ASM_SH4 && !OFFLINE_ASM_C_LOOP && !OFFLINE_ASM_JAVASCRIPT_DEBUGGER && !OFFLINE_ASM_ARM > #endif > static const unsigned extractorTable[1139200] = { > > For the length we need to iterate through them, but we don't need to emit the defines. And the extra is that we can save ~1MB space with this change. This calls the right method because that's how we handle fat binaries. Please don't break this.
Note You need to log in before you can comment on or make changes to this bug.