WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
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-
Details
Formatted Diff
Diff
View All
Add attachment
proposed patch, testcase, etc.
László Langó
Comment 1
2013-12-04 03:04:19 PST
Created
attachment 218395
[details]
Patch
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.
Top of Page
Format For Printing
XML
Clone This Bug