[EFL] Disable RTTI for release build
https://bugs.webkit.org/show_bug.cgi?id=125138

Reviewed by Gyuyoung Kim.

Binary size will be reduced about 1M bytes without RTTI.
ewebkit.so : 43,449,275 -> 42,510,224
ewebkit2.so: 46,715,870 -> 45,653,989

* Source/cmake/OptionsEfl.cmake: Added -fno-rtti option to CMAKE_CXX_FLAGS_RELEASE.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160053 268f45cc-cd09-0410-ab3c-d52691b4dbfc
ARM64: Crash in JIT code due to improper reuse of cached memory temp register
https://bugs.webkit.org/show_bug.cgi?id=125181

Reviewed by Geoffrey Garen.

Changed load8() and load() to invalidate the memory temp CachedTempRegister when the
destination of an absolute load is the memory temp register since the source address
is also the memory temp register.  Change branch{8,32,64} of an AbsoluteAddress with
a register to use the dataTempRegister as the destinate of the absolute load to
reduce the chance that we need to invalidate the memory temp register cache.
In the process, found and fixed an outright bug in branch8() where we'd load into
the data temp register and then compare and branch on the memory temp register.

* assembler/MacroAssemblerARM64.h:
(JSC::MacroAssemblerARM64::load8):
(JSC::MacroAssemblerARM64::branch32):
(JSC::MacroAssemblerARM64::branch64):
(JSC::MacroAssemblerARM64::branch8):
(JSC::MacroAssemblerARM64::load):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160056 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Initialize the PageBannerClientImpl API::Client
https://bugs.webkit.org/show_bug.cgi?id=125198

Reviewed by Tim Horton.

* WebProcess/InjectedBundle/API/c/mac/WKBundlePageBannerMac.mm:
(PageBannerClientImpl::PageBannerClientImpl):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160057 268f45cc-cd09-0410-ab3c-d52691b4dbfc
PageOverlayClientImpl should be a proper API::Client
https://bugs.webkit.org/show_bug.cgi?id=125199

Reviewed by Tim Horton.

* WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp:
(PageOverlayClientImpl::PageOverlayClientImpl):
(PageOverlayClientImpl::setAccessibilityClient):
(PageOverlayClientImpl::willMoveToWebPage):
(PageOverlayClientImpl::didMoveToWebPage):
(PageOverlayClientImpl::drawRect):
(PageOverlayClientImpl::mouseEvent):
(PageOverlayClientImpl::copyAccessibilityAttributeValue):
(PageOverlayClientImpl::copyAccessibilityAttributeNames):
(WKBundlePageOverlayCreate):
(WKBundlePageOverlaySetAccessibilityClient):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160059 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Update WebCrypto JWK mapping to newer proposal
https://bugs.webkit.org/show_bug.cgi?id=124218

Reviewed by Anders Carlsson.

Source/WebCore: 

Tests: crypto/subtle/jwk-export-use-values.html
       crypto/subtle/jwk-import-use-values.html

1. "extractable" renamed to "ext" in JWK.
2. New values for "use" mapping, which can now be combined into comma separated lists,
and cover all possible WebCrypto usages.

* bindings/js/JSCryptoKeySerializationJWK.cpp:
(WebCore::JSCryptoKeySerializationJWK::reconcileUsages):
(WebCore::JSCryptoKeySerializationJWK::reconcileExtractable):
(WebCore::JSCryptoKeySerializationJWK::addJWKAlgorithmToJSON):
(WebCore::processUseValue):
(WebCore::JSCryptoKeySerializationJWK::addJWKUseToJSON):
(WebCore::JSCryptoKeySerializationJWK::serialize):

LayoutTests: 

* crypto/subtle/jwk-export-use-values-expected.txt: Added.
* crypto/subtle/jwk-export-use-values.html: Added.
* crypto/subtle/jwk-import-use-values-expected.txt: Added.
* crypto/subtle/jwk-import-use-values.html: Added.
New tests for "use" mapping.

* crypto/subtle/aes-cbc-import-jwk.html:
* crypto/subtle/aes-cbc-unwrap-rsa.html:
* crypto/subtle/aes-cbc-wrap-rsa-non-extractable.html:
* crypto/subtle/aes-cbc-wrap-rsa.html:
* crypto/subtle/aes-export-key-expected.txt:
* crypto/subtle/aes-export-key.html:
* crypto/subtle/hmac-export-key-expected.txt:
* crypto/subtle/hmac-export-key.html:
* crypto/subtle/hmac-import-jwk.html:
* crypto/subtle/import-jwk-expected.txt:
* crypto/subtle/import-jwk.html:
* crypto/subtle/rsa-export-key-expected.txt:
* crypto/subtle/rsa-export-key.html:
* crypto/subtle/rsa-export-private-key-expected.txt:
* crypto/subtle/rsa-export-private-key.html:
* crypto/subtle/rsa-oaep-key-manipulation-expected.txt:
* crypto/subtle/rsa-oaep-key-manipulation.html:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160061 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fix LLINT_C_LOOP build for Win64.
https://bugs.webkit.org/show_bug.cgi?id=125186.

Reviewed by Michael Saboff.

* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
* jit/JITOperationsMSVC64.cpp: Added.
(JSC::getHostCallReturnValueWithExecState):
- Win64 will build JITStubMSVC64.asm even when !ENABLE(JIT). This results
  in a linkage error due to a missing getHostCallReturnValueWithExecState().
  So, we add a stub getHostCallReturnValueWithExecState() here to satisfy
  that linkage. This function will never be called.
  The alternative to providing such a stub is to make the MSVC project
  recognize if the JIT is enabled or not, and exclude JITStubMSVC64.asm
  if it's not enabled. We don't currently set ENABLE(JIT) via the MSVC
  project and the work to do that is too much trouble for what we're trying
  to achieve here. So, we're opting for this simpler workaround instead.

* llint/LowLevelInterpreter.asm:
* llint/LowLevelInterpreter.cpp:
(JSC::CLoop::execute):
- Don't build callToJavaScript if we're building the C loop. Otherwise,
  the C loop won't build if !ENABLE(COMPUTE_GOTO_OPCODES). 



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160062 268f45cc-cd09-0410-ab3c-d52691b4dbfc