Patch forthcoming.
Created attachment 224102 [details] Added GetMyArgumentLength to FTL
Created attachment 224103 [details] Added GetMyArgumentLength to FTL Fixed patch
Comment on attachment 224103 [details] Added GetMyArgumentLength to FTL View in context: https://bugs.webkit.org/attachment.cgi?id=224103&action=review Sorry, just missed a detail. > Source/JavaScriptCore/ftl/FTLLowerDFGToLLVM.cpp:1841 > + void compileGetArgumentsLength() Call this method "compileGetMyArgumentsLength"
Created attachment 224120 [details] Added GetMyArgumentLength to FTL Fixed the issue with the name.
We'll have to be careful as we proceed. Supporting this opcode means that the FTL now supports "have arguments" functions, which means supporting captured variables. It 's really weird. I don't know how to explain it other than recommending that you read the code. :-/ And probably talk to Geoff, who was the last one to do things with the semantics of arguments.
Comment on attachment 224120 [details] Added GetMyArgumentLength to FTL Clearing flags on attachment: 224120 Committed r164074: <http://trac.webkit.org/changeset/164074>
All reviewed patches have been landed. Closing bug.
Looks like this broke the build: /Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.10.xctoolchain/usr/bin/clang -x c++ -arch x86_64 -fmessage-length=0 -fdiagnostics-show-note-include-stack -fmacro-backtrace-limit=0 -fcolor-diagnostics -std=gnu++11 -stdlib=libc++ -Wno-trigraphs -fno-exceptions -fno-rtti -fpascal-strings -O0 -Werror -Wno-missing-field-initializers -Wmissing-prototypes -Wnon-virtual-dtor -Wno-overloaded-virtual -Wno-exit-time-destructors -Wno-missing-braces -Wparentheses -Wswitch -Wunused-function -Wno-unused-label -Wno-unused-parameter -Wunused-variable -Wunused-value -Wempty-body -Wuninitialized -Wno-unknown-pragmas -Wno-shadow -Wno-four-char-constants -Wno-conversion -Wconstant-conversion -Wint-conversion -Wbool-conversion -Wenum-conversion -Wsign-compare -Wno-shorten-64-to-32 -Wnewline-eof -Wno-c++11-extensions -DHAVE_DTRACE=1 -DWEBKIT_VERSION_MIN_REQUIRED=WEBKIT_VERSION_LATEST -DHAVE_HEADER_DETECTION_H -DJSC_OBJC_API_AVAILABLE_MAC_OS_X_1080 -DENABLE_3D_RENDERING -DENABLE_BLOB -DENABLE_CACHE_PARTITIONING -DENABLE_CANVAS_PATH -DENABLE_CHANNEL_MESSAGING -DENABLE_CSS_BOX_DECORATION_BREAK -DENABLE_CSS_COMPOSITING -DENABLE_CSS_EXCLUSIONS -DENABLE_CSS_FILTERS -DENABLE_CSS_REGIONS -DENABLE_CSS_SHAPES -DENABLE_CSS_SHAPE_INSIDE -DENABLE_CSS_STICKY_POSITION -DENABLE_CSS_TRANSFORMS_ANIMATIONS_UNPREFIXED -DENABLE_CURSOR_VISIBILITY -DENABLE_DASHBOARD_SUPPORT -DENABLE_DETAILS_ELEMENT -DENABLE_DOM4_EVENTS_CONSTRUCTOR -DENABLE_ENCRYPTED_MEDIA -DENABLE_ENCRYPTED_MEDIA_V2 -DENABLE_FILTERS -DENABLE_FULLSCREEN_API -DENABLE_GEOLOCATION -DENABLE_HIDDEN_PAGE_DOM_TIMER_THROTTLING -DENABLE_ICONDATABASE -DENABLE_INDEXED_DATABASE -DENABLE_INDIE_UI -DENABLE_INPUT_TYPE_COLOR -DENABLE_INPUT_TYPE_COLOR_POPOVER -DENABLE_INSPECTOR -DENABLE_LEGACY_CSS_VENDOR_PREFIXES -DENABLE_LEGACY_NOTIFICATIONS -DENABLE_LEGACY_VENDOR_PREFIXES -DENABLE_LEGACY_WEB_AUDIO -DENABLE_MATHML -DENABLE_MEDIA_CONTROLS_SCRIPT -DENABLE_MEDIA_SOURCE -DENABLE_METER_ELEMENT -DENABLE_MOUSE_CURSOR_SCALE -DENABLE_NOTIFICATIONS -DENABLE_PAGE_VISIBILITY_API -DENABLE_PDFKIT_PLUGIN -DENABLE_PROGRESS_ELEMENT -DENABLE_PROMISES -DENABLE_PUBLIC_SUFFIX_LIST -DENABLE_REQUEST_ANIMATION_FRAME -DENABLE_REMOTE_INSPECTOR -DENABLE_SHARED_WORKERS -DENABLE_SPEECH_SYNTHESIS -DENABLE_SQL_DATABASE -DENABLE_SUBPIXEL_LAYOUT -DENABLE_SUBTLE_CRYPTO -DENABLE_SVG_FONTS -DENABLE_TEMPLATE_ELEMENT -DENABLE_USERSELECT_ALL -DENABLE_VIDEO -DENABLE_VIDEO_TRACK -DENABLE_WEBGL -DENABLE_WEB_ANIMATIONS -DENABLE_WEB_AUDIO -DENABLE_WEB_SOCKETS -DENABLE_WORKERS -DENABLE_XHR_TIMEOUT -DENABLE_XSLT -DENABLE_FTL_JIT -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.Internal.sdk -fasm-blocks -fstrict-aliasing -Wdeprecated-declarations -Winvalid-offsetof -mmacosx-version-min=10.10 -g -fvisibility=hidden -fvisibility-inlines-hidden -fno-threadsafe-statics -Wno-sign-conversion -I/Volumes/Data/home/mmaxfield/Build/JavaScriptCore.build/Debug/JavaScriptCore.build/JavaScriptCore.hmap -I/Volumes/Data/home/mmaxfield/Build/Debug/include -I/Volumes/Data/home/mmaxfield/Build/Debug/DerivedSources/JavaScriptCore -I. -Iicu -I/Volumes/Data/home/mmaxfield/Build/Debug/usr/local/LLVMForJavaScriptCore/include -I/usr/local/LLVMForJavaScriptCore/include -I/Volumes/Data/home/mmaxfield/Build/Debug/usr/local/include -I/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include -I/Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.10.xctoolchain/usr/include -I/Volumes/Data/home/mmaxfield/Build/JavaScriptCore.build/Debug/JavaScriptCore.build/DerivedSources/x86_64 -I/Volumes/Data/home/mmaxfield/Build/JavaScriptCore.build/Debug/JavaScriptCore.build/DerivedSources -Wall -Wextra -Wcast-qual -Wchar-subscripts -Wextra-tokens -Wformat=2 -Winit-self -Wmissing-format-attribute -Wmissing-noreturn -Wpacked -Wpointer-arith -Wredundant-decls -Wundef -Wwrite-strings -Wexit-time-destructors -Wglobal-constructors -Wtautological-compare -Wimplicit-fallthrough -F/Volumes/Data/home/mmaxfield/Build/Debug -include /Volumes/Data/home/mmaxfield/Build/PrecompiledHeaders/JavaScriptCorePrefix-dppdbpcpaqoxoxhbuowgnypibjfk/JavaScriptCorePrefix.h -MMD -MT dependencies -MF /Volumes/Data/home/mmaxfield/Build/JavaScriptCore.build/Debug/JavaScriptCore.build/Objects-normal/x86_64/FTLLowerDFGToLLVM.d --serialize-diagnostics /Volumes/Data/home/mmaxfield/Build/JavaScriptCore.build/Debug/JavaScriptCore.build/Objects-normal/x86_64/FTLLowerDFGToLLVM.dia -c /Volumes/Data/home/mmaxfield/src/WebKit/OpenSource/Source/JavaScriptCore/ftl/FTLLowerDFGToLLVM.cpp -o /Volumes/Data/home/mmaxfield/Build/JavaScriptCore.build/Debug/JavaScriptCore.build/Objects-normal/x86_64/FTLLowerDFGToLLVM.o /Volumes/Data/home/mmaxfield/src/WebKit/OpenSource/Source/JavaScriptCore/ftl/FTLLowerDFGToLLVM.cpp:1806:47: error: no member named 'codeOrigin' in 'JSC::DFG::Node' TypedPointer reg = addressFor(m_node->codeOrigin.stackOffset() + JSStack::ArgumentCount);
(In reply to comment #8) > Looks like this broke the build: > > /Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.10.xctoolchain/usr/bin/clang -x c++ -arch x86_64 -fmessage-length=0 -fdiagnostics-show-note-include-stack -fmacro-backtrace-limit=0 -fcolor-diagnostics -std=gnu++11 -stdlib=libc++ -Wno-trigraphs -fno-exceptions -fno-rtti -fpascal-strings -O0 -Werror -Wno-missing-field-initializers -Wmissing-prototypes -Wnon-virtual-dtor -Wno-overloaded-virtual -Wno-exit-time-destructors -Wno-missing-braces -Wparentheses -Wswitch -Wunused-function -Wno-unused-label -Wno-unused-parameter -Wunused-variable -Wunused-value -Wempty-body -Wuninitialized -Wno-unknown-pragmas -Wno-shadow -Wno-four-char-constants -Wno-conversion -Wconstant-conversion -Wint-conversion -Wbool-conversion -Wenum-conversion -Wsign-compare -Wno-shorten-64-to-32 -Wnewline-eof -Wno-c++11-extensions -DHAVE_DTRACE=1 -DWEBKIT_VERSION_MIN_REQUIRED=WEBKIT_VERSION_LATEST -DHAVE_HEADER_DETECTION_H -DJSC_OBJC_API_AVAILABLE_MAC_OS_X_1080 -DENABLE_3D_RENDERING -DENABLE_BLOB -DENABLE_CACHE_PARTITIONING -DENABLE_CANVAS_PATH -DENABLE_CHANNEL_MESSAGING -DENABLE_CSS_BOX_DECORATION_BREAK -DENABLE_CSS_COMPOSITING -DENABLE_CSS_EXCLUSIONS -DENABLE_CSS_FILTERS -DENABLE_CSS_REGIONS -DENABLE_CSS_SHAPES -DENABLE_CSS_SHAPE_INSIDE -DENABLE_CSS_STICKY_POSITION -DENABLE_CSS_TRANSFORMS_ANIMATIONS_UNPREFIXED -DENABLE_CURSOR_VISIBILITY -DENABLE_DASHBOARD_SUPPORT -DENABLE_DETAILS_ELEMENT -DENABLE_DOM4_EVENTS_CONSTRUCTOR -DENABLE_ENCRYPTED_MEDIA -DENABLE_ENCRYPTED_MEDIA_V2 -DENABLE_FILTERS -DENABLE_FULLSCREEN_API -DENABLE_GEOLOCATION -DENABLE_HIDDEN_PAGE_DOM_TIMER_THROTTLING -DENABLE_ICONDATABASE -DENABLE_INDEXED_DATABASE -DENABLE_INDIE_UI -DENABLE_INPUT_TYPE_COLOR -DENABLE_INPUT_TYPE_COLOR_POPOVER -DENABLE_INSPECTOR -DENABLE_LEGACY_CSS_VENDOR_PREFIXES -DENABLE_LEGACY_NOTIFICATIONS -DENABLE_LEGACY_VENDOR_PREFIXES -DENABLE_LEGACY_WEB_AUDIO -DENABLE_MATHML -DENABLE_MEDIA_CONTROLS_SCRIPT -DENABLE_MEDIA_SOURCE -DENABLE_METER_ELEMENT -DENABLE_MOUSE_CURSOR_SCALE -DENABLE_NOTIFICATIONS -DENABLE_PAGE_VISIBILITY_API -DENABLE_PDFKIT_PLUGIN -DENABLE_PROGRESS_ELEMENT -DENABLE_PROMISES -DENABLE_PUBLIC_SUFFIX_LIST -DENABLE_REQUEST_ANIMATION_FRAME -DENABLE_REMOTE_INSPECTOR -DENABLE_SHARED_WORKERS -DENABLE_SPEECH_SYNTHESIS -DENABLE_SQL_DATABASE -DENABLE_SUBPIXEL_LAYOUT -DENABLE_SUBTLE_CRYPTO -DENABLE_SVG_FONTS -DENABLE_TEMPLATE_ELEMENT -DENABLE_USERSELECT_ALL -DENABLE_VIDEO -DENABLE_VIDEO_TRACK -DENABLE_WEBGL -DENABLE_WEB_ANIMATIONS -DENABLE_WEB_AUDIO -DENABLE_WEB_SOCKETS -DENABLE_WORKERS -DENABLE_XHR_TIMEOUT -DENABLE_XSLT -DENABLE_FTL_JIT -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.Internal.sdk -fasm-blocks -fstrict-aliasing -Wdeprecated-declarations -Winvalid-offsetof -mmacosx-version-min=10.10 -g -fvisibility=hidden -fvisibility-inlines-hidden -fno-threadsafe-statics -Wno-sign-conversion -I/Volumes/Data/home/mmaxfield/Build/JavaScriptCore.build/Debug/JavaScriptCore.build/JavaScriptCore.hmap -I/Volumes/Data/home/mmaxfield/Build/Debug/include -I/Volumes/Data/home/mmaxfield/Build/Debug/DerivedSources/JavaScriptCore -I. -Iicu -I/Volumes/Data/home/mmaxfield/Build/Debug/usr/local/LLVMForJavaScriptCore/include -I/usr/local/LLVMForJavaScriptCore/include -I/Volumes/Data/home/mmaxfield/Build/Debug/usr/local/include -I/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include -I/Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.10.xctoolchain/usr/include -I/Volumes/Data/home/mmaxfield/Build/JavaScriptCore.build/Debug/JavaScriptCore.build/DerivedSources/x86_64 -I/Volumes/Data/home/mmaxfield/Build/JavaScriptCore.build/Debug/JavaScriptCore.build/DerivedSources -Wall -Wextra -Wcast-qual -Wchar-subscripts -Wextra-tokens -Wformat=2 -Winit-self -Wmissing-format-attribute -Wmissing-noreturn -Wpacked -Wpointer-arith -Wredundant-decls -Wundef -Wwrite-strings -Wexit-time-destructors -Wglobal-constructors -Wtautological-compare -Wimplicit-fallthrough -F/Volumes/Data/home/mmaxfield/Build/Debug -include /Volumes/Data/home/mmaxfield/Build/PrecompiledHeaders/JavaScriptCorePrefix-dppdbpcpaqoxoxhbuowgnypibjfk/JavaScriptCorePrefix.h -MMD -MT dependencies -MF /Volumes/Data/home/mmaxfield/Build/JavaScriptCore.build/Debug/JavaScriptCore.build/Objects-normal/x86_64/FTLLowerDFGToLLVM.d --serialize-diagnostics /Volumes/Data/home/mmaxfield/Build/JavaScriptCore.build/Debug/JavaScriptCore.build/Objects-normal/x86_64/FTLLowerDFGToLLVM.dia -c /Volumes/Data/home/mmaxfield/src/WebKit/OpenSource/Source/JavaScriptCore/ftl/FTLLowerDFGToLLVM.cpp -o /Volumes/Data/home/mmaxfield/Build/JavaScriptCore.build/Debug/JavaScriptCore.build/Objects-normal/x86_64/FTLLowerDFGToLLVM.o > /Volumes/Data/home/mmaxfield/src/WebKit/OpenSource/Source/JavaScriptCore/ftl/FTLLowerDFGToLLVM.cpp:1806:47: error: no member named 'codeOrigin' in 'JSC::DFG::Node' > TypedPointer reg = addressFor(m_node->codeOrigin.stackOffset() + JSStack::ArgumentCount); Yeah. This is a simple fix: replace codeOrigin with origin.semantic. Will land shortly.
Build fix landed in http://trac.webkit.org/changeset/164087