/src/3rdparty/javascriptcore/JavaScriptCore/ChangeLog-2009-06-16
https://bitbucket.org/ultra_iter/qt-vtl · #! · 39978 lines · 32111 code · 7867 blank · 0 comment · 0 complexity · 7209fee122a23f8bd405bb12ac2ebbd8 MD5 · raw file
Large files are truncated click here to view the full file
- 2009-06-15 Gavin Barraclough <barraclough@apple.com>
- Rubber Stamped by Sam Weinig.
- Rename PatchBuffer to LinkBuffer. Previously our terminology has been a little
- mixed up, but we have decided to fix on refering to the process that takes place
- at the end of code generation as 'linking', and on any modifications that take
- place later (and once the code has potentially already been executed) as 'patching'.
- However, the term 'PatchBuffer' is already in use, and needs to be repurposed.
- To try to minimize confusion, we're going to switch the terminology over in stages,
- so for now we'll refer to later modifications as 'repatching'. This means that the
- new 'PatchBuffer' has been introduced with the name 'RepatchBuffer' instead.
- This patch renames the old 'PatchBuffer' to 'LinkBuffer'. We'll leave ToT in this
- state for a week or so to try to avoid to much overlap of the meaning of the term
- 'PatchBuffer', then will come back and rename 'RepatchBuffer'.
- * assembler/ARMv7Assembler.h:
- * assembler/AbstractMacroAssembler.h:
- (JSC::AbstractMacroAssembler::LinkBuffer::LinkBuffer):
- (JSC::AbstractMacroAssembler::LinkBuffer::~LinkBuffer):
- * jit/JIT.cpp:
- (JSC::JIT::privateCompile):
- * jit/JITPropertyAccess.cpp:
- (JSC::JIT::privateCompilePutByIdTransition):
- (JSC::JIT::privateCompilePatchGetArrayLength):
- (JSC::JIT::privateCompileGetByIdProto):
- (JSC::JIT::privateCompileGetByIdSelfList):
- (JSC::JIT::privateCompileGetByIdProtoList):
- (JSC::JIT::privateCompileGetByIdChainList):
- (JSC::JIT::privateCompileGetByIdChain):
- * yarr/RegexJIT.cpp:
- (JSC::Yarr::RegexGenerator::compile):
- 2009-06-15 Gavin Barraclough <barraclough@apple.com>
- Reviewed by Sam Weinig.
- Having moved most of their functionality into the RepatchBuffer class,
- we can simplify the CodeLocation* classes.
- The CodeLocation* classes are currently a tangle of templatey and friendly
- badness, burried in the middle of AbstractMacroAssembler. Having moved
- the ability to repatch out into RepatchBufer they are now do-nothing wrappers
- on CodePtr (MacroAssemblerCodePtr), that only exist to provide type-safety.
- Simplify the code, and move them off into their own header.
- * JavaScriptCore.xcodeproj/project.pbxproj:
- * assembler/AbstractMacroAssembler.h:
- (JSC::AbstractMacroAssembler::PatchBuffer::patch):
- * assembler/CodeLocation.h: Copied from assembler/AbstractMacroAssembler.h.
- (JSC::CodeLocationCommon::CodeLocationCommon):
- (JSC::CodeLocationInstruction::CodeLocationInstruction):
- (JSC::CodeLocationLabel::CodeLocationLabel):
- (JSC::CodeLocationJump::CodeLocationJump):
- (JSC::CodeLocationCall::CodeLocationCall):
- (JSC::CodeLocationNearCall::CodeLocationNearCall):
- (JSC::CodeLocationDataLabel32::CodeLocationDataLabel32):
- (JSC::CodeLocationDataLabelPtr::CodeLocationDataLabelPtr):
- (JSC::CodeLocationCommon::instructionAtOffset):
- (JSC::CodeLocationCommon::labelAtOffset):
- (JSC::CodeLocationCommon::jumpAtOffset):
- (JSC::CodeLocationCommon::callAtOffset):
- (JSC::CodeLocationCommon::nearCallAtOffset):
- (JSC::CodeLocationCommon::dataLabelPtrAtOffset):
- (JSC::CodeLocationCommon::dataLabel32AtOffset):
- * assembler/MacroAssemblerCodeRef.h:
- (JSC::MacroAssemblerCodePtr::operator!):
- * bytecode/CodeBlock.h:
- (JSC::getStructureStubInfoReturnLocation):
- (JSC::getCallLinkInfoReturnLocation):
- (JSC::getMethodCallLinkInfoReturnLocation):
- * bytecode/Instruction.h:
- * bytecode/JumpTable.h:
- (JSC::StringJumpTable::ctiForValue):
- (JSC::SimpleJumpTable::ctiForValue):
- * bytecode/StructureStubInfo.h:
- * bytecompiler/BytecodeGenerator.cpp:
- (JSC::BytecodeGenerator::emitCatch):
- * jit/JIT.cpp:
- (JSC::JIT::privateCompile):
- * jit/JITStubs.cpp:
- (JSC::JITStubs::DEFINE_STUB_FUNCTION):
- (JSC::JITStubs::getPolymorphicAccessStructureListSlot):
- 2009-06-15 Gavin Barraclough <barraclough@apple.com>
- Reviewed by Sam Weinig.
- Having introduced the RepatchBuffer, ProcessorReturnAddress is now a do-nothing
- wrapper around ReturnAddressPtr. Remove it. In tugging on this piece of string
- it made sense to roll out the use of ReturnAddressPtr a little further into
- JITStubs (which had always been the intention).
- No performance impact.
- * assembler/AbstractMacroAssembler.h:
- (JSC::AbstractMacroAssembler::RepatchBuffer::relinkCallerToTrampoline):
- (JSC::AbstractMacroAssembler::RepatchBuffer::relinkCallerToFunction):
- (JSC::AbstractMacroAssembler::RepatchBuffer::relinkNearCallerToTrampoline):
- * assembler/MacroAssemblerCodeRef.h:
- (JSC::ReturnAddressPtr::ReturnAddressPtr):
- * bytecode/CodeBlock.h:
- (JSC::CodeBlock::getStubInfo):
- (JSC::CodeBlock::getCallLinkInfo):
- (JSC::CodeBlock::getMethodCallLinkInfo):
- (JSC::CodeBlock::getBytecodeIndex):
- * interpreter/Interpreter.cpp:
- (JSC::bytecodeOffsetForPC):
- * jit/JIT.cpp:
- (JSC::ctiPatchNearCallByReturnAddress):
- (JSC::ctiPatchCallByReturnAddress):
- * jit/JIT.h:
- (JSC::JIT::compileGetByIdProto):
- (JSC::JIT::compileGetByIdChain):
- (JSC::JIT::compilePutByIdTransition):
- (JSC::JIT::compilePatchGetArrayLength):
- * jit/JITPropertyAccess.cpp:
- (JSC::JIT::privateCompilePutByIdTransition):
- (JSC::JIT::patchGetByIdSelf):
- (JSC::JIT::patchPutByIdReplace):
- (JSC::JIT::privateCompilePatchGetArrayLength):
- (JSC::JIT::privateCompileGetByIdProto):
- (JSC::JIT::privateCompileGetByIdChain):
- * jit/JITStubs.cpp:
- (JSC::JITThunks::tryCachePutByID):
- (JSC::JITThunks::tryCacheGetByID):
- (JSC::StackHack::StackHack):
- (JSC::returnToThrowTrampoline):
- (JSC::throwStackOverflowError):
- (JSC::JITStubs::DEFINE_STUB_FUNCTION):
- * jit/JITStubs.h:
- (JSC::):
- (JSC::JITStackFrame::returnAddressSlot):
- * runtime/JSGlobalData.h:
- 2009-06-15 Simon Fraser <simon.fraser@apple.com>
- Reviewed by Mark Rowe.
- <rdar://problem/6974857>
- Define ENABLE_3D_RENDERING when building on 10.6, and move ENABLE_3D_RENDERING
- switch from config.h to wtf/Platform.h.
- * Configurations/FeatureDefines.xcconfig:
- * wtf/Platform.h:
- 2009-06-15 Gavin Barraclough <barraclough@apple.com>
- Reviewed by Oliver Hunt.
- Move repatching methods into a set of methods on a class. This will allow us to
- coallesce memory reprotection calls. Really, we want this class to be called
- PatchBuffer, we want the class PatchBuffer to be called LinkBuffer, we want both
- to be memblers of MacroAssembler rather then AbstractMacroAssembler, we don't
- want the CodeLocationFoo types anymore (they are now only really there to provide
- type safety, and that is completely undermined by the way we use offsets). Then
- the link & patch buffers should delegate the actual patching calls to the
- architecture-specific layer of the MacroAssembler. Landing all these changes as a
- sequence of patches.
- No performance impact.
- * assembler/AbstractMacroAssembler.h:
- (JSC::AbstractMacroAssembler::CodeLocationCall::CodeLocationCall):
- (JSC::AbstractMacroAssembler::CodeLocationNearCall::CodeLocationNearCall):
- (JSC::AbstractMacroAssembler::CodeLocationNearCall::calleeReturnAddressValue):
- (JSC::AbstractMacroAssembler::RepatchBuffer::RepatchBuffer):
- (JSC::AbstractMacroAssembler::RepatchBuffer::relink):
- (JSC::AbstractMacroAssembler::RepatchBuffer::repatch):
- (JSC::AbstractMacroAssembler::RepatchBuffer::relinkCallerToTrampoline):
- (JSC::AbstractMacroAssembler::RepatchBuffer::relinkCallerToFunction):
- (JSC::AbstractMacroAssembler::RepatchBuffer::relinkNearCallerToTrampoline):
- (JSC::AbstractMacroAssembler::RepatchBuffer::repatchLoadPtrToLEA):
- * jit/JIT.cpp:
- (JSC::ctiPatchNearCallByReturnAddress):
- (JSC::ctiPatchCallByReturnAddress):
- (JSC::JIT::unlinkCall):
- (JSC::JIT::linkCall):
- * jit/JITPropertyAccess.cpp:
- (JSC::JIT::privateCompilePutByIdTransition):
- (JSC::JIT::patchGetByIdSelf):
- (JSC::JIT::patchMethodCallProto):
- (JSC::JIT::patchPutByIdReplace):
- (JSC::JIT::privateCompilePatchGetArrayLength):
- (JSC::JIT::privateCompileGetByIdProto):
- (JSC::JIT::privateCompileGetByIdSelfList):
- (JSC::JIT::privateCompileGetByIdProtoList):
- (JSC::JIT::privateCompileGetByIdChainList):
- (JSC::JIT::privateCompileGetByIdChain):
- 2009-06-15 Gavin Barraclough <barraclough@apple.com>
- Reviewed by Geoff Hunt & Oliver Garen.
- We are currently generating two copies of the slow path for op_call for no reason. Stop that.
- Originally op_call used two slow paths since the first set up the pointer to the CallLinkInfo
- for use when linking. However this is now looked up using the return address (as we do for
- property accesses) so the two paths are now identical.
- No performance impact, reduces memory footprint.
- * bytecode/CodeBlock.h:
- * jit/JIT.cpp:
- (JSC::JIT::privateCompile):
- (JSC::JIT::linkCall):
- * jit/JIT.h:
- * jit/JITCall.cpp:
- (JSC::JIT::compileOpCallSlowCase):
- * jit/JITStubs.cpp:
- (JSC::JITStubs::DEFINE_STUB_FUNCTION):
- 2009-06-12 Dave Hyatt <hyatt@apple.com>
- Reviewed by Anders Carlsson.
- https://bugs.webkit.org/show_bug.cgi?id=26373
- Add a new class to Threading in wtf called ReadWriteLock that handles single writer/multiple reader locking.
- Provide a pthreads-only implementation of the lock for now, as this class is only going to be used
- on Snow Leopard at first.
- * wtf/Threading.h:
- (WTF::ReadWriteLock::impl):
- * wtf/ThreadingPthreads.cpp:
- (WTF::ReadWriteLock::ReadWriteLock):
- (WTF::ReadWriteLock::~ReadWriteLock):
- (WTF::ReadWriteLock::readLock):
- (WTF::ReadWriteLock::tryReadLock):
- (WTF::ReadWriteLock::writeLock):
- (WTF::ReadWriteLock::tryWriteLock):
- (WTF::ReadWriteLock::unlock):
- 2009-06-12 Oliver Hunt <oliver@apple.com>
- Reviewed by Geoff Garen.
- Make LiteralParser non-recursive
- Convert LiteralParser from using a simple recursive descent parser
- to a hand rolled PDA. Relatively simple conversion, but required
- modifications to MarkedArgumentBuffer to make it more suitable as
- a generic marked vector. I'll refactor and rename MarkedArgumentBuffer
- in future as there are many other cases where it will be useful to
- have such a class.
- * runtime/ArgList.h:
- (JSC::MarkedArgumentBuffer::MarkedArgumentBuffer):
- (JSC::MarkedArgumentBuffer::append):
- (JSC::MarkedArgumentBuffer::removeLast):
- (JSC::MarkedArgumentBuffer::last):
- * runtime/LiteralParser.cpp:
- (JSC::LiteralParser::parse):
- * runtime/LiteralParser.h:
- (JSC::LiteralParser::LiteralParser):
- (JSC::LiteralParser::tryLiteralParse):
- (JSC::LiteralParser::):
- 2009-06-12 David Levin <levin@chromium.org>
- Reviewed by NOBODY (build fix for windows).
- Adjust the exports for JSC on Windows like what was done for OSX in
- the previous commit.
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def:
- 2009-06-12 David Levin <levin@chromium.org>
- Reviewed by Darin Adler.
- UString shouldn't create sharedBuffer for SmallStrings.
- https://bugs.webkit.org/show_bug.cgi?id=26360
- The methods changed are not used by JSC, so there is no JS perf impact. However,
- there is a potential DOM perf impact, so I re-ran several of the tests that
- I ran previously and ensured that the perf stay the same which caused me to
- adjust the minLengthToShare.
- * JavaScriptCore.exp:
- * runtime/UString.cpp:
- (JSC::UString::Rep::sharedBuffer):
- Determines if the buffer being shared is big enough before doing so.
- Previously, BaseString::sharedBuffer was called but it would only know
- the length of the base string (BaseString::len) which may not be the same
- as the string being shared (Rep::len).
- (JSC::UString::BaseString::sharedBuffer):
- This is now only be used by Rep::sharedBuffer. which does the length check.
- * runtime/UString.h:
- 2009-06-12 Dimitri Glazkov <dglazkov@chromium.org>
- Reviewed by Eric Seidel.
- https://bugs.webkit.org/show_bug.cgi?id=26191
- Remove xmath include in MathExtras.h, because it is not needed and also
- breaks VS2008 builds with TR1 turned on.
- * wtf/MathExtras.h: Removed xmath include.
- 2009-06-12 Peter Kasting <pkasting@google.com>
- Reviewed by Eric Seidel.
- * ChangeLog-2007-10-14: Change pseudonym "Don Gibson" to me (was used while Google Chrome was not public); update my email address.
- 2009-06-12 Kevin Ollivier <kevino@theolliviers.com>
- wx build fix. Adding JSONObject.cpp to the build.
- * JavaScriptCoreSources.bkl:
- 2009-06-12 Laszlo Gombos <laszlo.1.gombos@nokia.com>
- Reviewed by Jan Michael Alonzo.
- [Qt] Fix build break
- https://bugs.webkit.org/show_bug.cgi?id=26340
- * JavaScriptCore.pri: Add JSONObject.cpp to LUT files.
- 2009-06-11 Oliver Hunt <oliver@apple.com>
- Reviewed by NOBODY (build fix).
- Lower stringify recursion limit to deal with small windows stack.
- * JavaScriptCore.xcodeproj/project.pbxproj:
- * runtime/JSONObject.cpp:
- (JSC::Stringifier::):
- 2009-06-11 Laszlo Gombos <laszlo.1.gombos@nokia.com>
- Reviewed by Holger Freyther.
- Fix compilation warnings
- <https://bugs.webkit.org/show_bug.cgi?id=26015>
- * wtf/ThreadingNone.cpp:
- (WTF::ThreadCondition::wait): Fix compilation warning.
- (WTF::ThreadCondition::timedWait): Ditto.
- 2009-06-10 Brent Fulgham <bfulgham@webkit.org>
- Build fix for Windows target.
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
- Correct missing </File> tag after @r44550 that prevents the
- project from being loaded in the Visual Studio IDE.
- 2009-06-09 Gavin Barraclough <barraclough@apple.com>
- Rubber Stamped by Mark Rowe.
- Tidy up a couple of comments.
- * assembler/ARMv7Assembler.h:
- Fix date in copyright, neaten up a couple of comments.
- * assembler/MacroAssemblerARMv7.h:
- Fix date in copyright.
- 2009-06-07 Oliver Hunt <oliver@apple.com>
- Reviewed by Sam Weinig.
- Bug 26249: Support JSON.stringify
- <https://bugs.webkit.org/show_bug.cgi?id=26249>
-
- Implement JSON.stringify. This patch handles all the semantics of the ES5
- JSON.stringify function, including replacer functions and arrays and both
- string and numeric gap arguments.
-
- Currently uses a clamped recursive algorithm basically identical to the spec
- description but with a few minor tweaks for performance and corrected semantics
- discussed in the es-discuss mailing list.
- * DerivedSources.make:
- * GNUmakefile.am:
- * JavaScriptCore.pri:
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
- * JavaScriptCore.xcodeproj/project.pbxproj:
- * interpreter/CallFrame.h:
- (JSC::ExecState::jsonTable):
- * runtime/CommonIdentifiers.h:
- add toJSON to the list of common identifiers
- * runtime/JSGlobalData.cpp:
- (JSC::JSGlobalData::JSGlobalData):
- (JSC::JSGlobalData::~JSGlobalData):
- * runtime/JSGlobalData.h:
- * runtime/JSGlobalObject.cpp:
- (JSC::JSGlobalObject::reset):
- Add support for the JSON object lookup table
- * runtime/JSONObject.cpp: Added.
- (JSC::):
- (JSC::JSONObject::getOwnPropertySlot):
- (JSC::Stringifier::):
- (JSC::Stringifier::Stringifier):
- (JSC::Stringifier::stringify):
- (JSC::Stringifier::appendString):
- (JSC::Stringifier::StringKeyGenerator::StringKeyGenerator):
- (JSC::Stringifier::StringKeyGenerator::getKey):
- (JSC::Stringifier::IntKeyGenerator::IntKeyGenerator):
- (JSC::Stringifier::IntKeyGenerator::getKey):
- These KeyGenerator classes are used to abstract away the lazy evaluation of keys for
- toJSON and replacer functions.
- (JSC::Stringifier::toJSONValue):
- (JSC::Stringifier::stringifyArray):
- (JSC::Stringifier::stringifyObject):
- (JSC::JSONProtoFuncStringify):
- * runtime/JSONObject.h: Added.
- (JSC::JSONObject:::JSObject):
- (JSC::JSONObject::classInfo):
- (JSC::JSONObject::createStructure):
- 2009-06-09 Gavin Barraclough <barraclough@apple.com>
- Reviewed by Geoff Garen.
- Enable JIT_OPTIMIZE_CALL & JIT_OPTIMIZE_METHOD_CALLS on ARMv7 platforms.
- These optimizations function correctly with no further changes.
- * wtf/Platform.h:
- Change to enable JIT_OPTIMIZE_CALL & JIT_OPTIMIZE_METHOD_CALLS.
- 2009-06-09 Gavin Barraclough <barraclough@apple.com>
- Not Reviewed, build fix.
- * assembler/MacroAssemblerARMv7.h:
- 2009-06-09 Gavin Barraclough <barraclough@apple.com>
- Reviewed by Geoff Garen.
- Enable JIT_OPTIMIZE_ARITHMETIC on ARMv7 platforms.
- Temporarily split support for 'branchTruncateDoubleToInt32' onto its own switch
- ('supportsFloatingPointTruncate'). See comment in MacroAssemblerARMv7, we need
- to work out wherther we are going to be able to support the current interface on
- all platforms, or whether this should be refactored.
- * assembler/MacroAssemblerARMv7.h:
- (JSC::MacroAssemblerARMv7::supportsFloatingPoint):
- Add implementation of supportsFloatingPointTruncate (returns true).
- (JSC::MacroAssemblerARMv7::supportsFloatingPointTruncate):
- Add implementation of supportsFloatingPointTruncate (returns false).
- (JSC::MacroAssemblerARMv7::loadDouble):
- (JSC::MacroAssemblerARMv7::storeDouble):
- (JSC::MacroAssemblerARMv7::addDouble):
- (JSC::MacroAssemblerARMv7::subDouble):
- (JSC::MacroAssemblerARMv7::mulDouble):
- (JSC::MacroAssemblerARMv7::convertInt32ToDouble):
- (JSC::MacroAssemblerARMv7::branchDouble):
- Implement FP code genertion operations.
- * assembler/MacroAssemblerX86.h:
- (JSC::MacroAssemblerX86::supportsFloatingPointTruncate):
- Add implementation of supportsFloatingPointTruncate (returns true).
- * assembler/MacroAssemblerX86_64.h:
- (JSC::MacroAssemblerX86_64::supportsFloatingPointTruncate):
- Add implementation of supportsFloatingPointTruncate (returns true).
- * jit/JITArithmetic.cpp:
- (JSC::JIT::emit_op_rshift):
- Changed to call supportsFloatingPointTruncate().
- (JSC::JIT::emitSlow_op_rshift):
- Changed to call supportsFloatingPointTruncate().
- * wtf/Platform.h:
- Change to enable JIT_OPTIMIZE_ARITHMETIC.
- 2009-06-09 Gavin Barraclough <barraclough@apple.com>
- Reviewed by Mark Rowe & Geoff Garen.
- Enable JIT_OPTIMIZE_PROPERTY_ACCESS on ARMv7 platforms.
- Firm up interface for planting load intructions that will be repatched by
- repatchLoadPtrToLEA(). This method should now no longer be applied to just
- any loadPtr instruction.
- * assembler/MacroAssemblerARMv7.h:
- (JSC::MacroAssemblerARMv7::loadPtrWithPatchToLEA):
- Implement loadPtrWithPatchToLEA interface (plants a load with a fixed width address).
- (JSC::MacroAssemblerARMv7::move):
- (JSC::MacroAssemblerARMv7::nearCall):
- (JSC::MacroAssemblerARMv7::call):
- (JSC::MacroAssemblerARMv7::moveWithPatch):
- (JSC::MacroAssemblerARMv7::tailRecursiveCall):
- Switch to use common method 'moveFixedWidthEncoding()' to perform fixed width (often patchable) loads.
- (JSC::MacroAssemblerARMv7::moveFixedWidthEncoding):
- Move an immediate to a register, always plants movT3/movt instruction pair.
- * assembler/MacroAssemblerX86.h:
- (JSC::MacroAssemblerX86::loadPtrWithPatchToLEA):
- Implement loadPtrWithPatchToLEA interface (just a regular 32-bit load on x86).
- * assembler/MacroAssemblerX86_64.h:
- (JSC::MacroAssemblerX86_64::loadPtrWithPatchToLEA):
- Implement loadPtrWithPatchToLEA interface (just a regular 64-bit load on x86_64).
- * jit/JITPropertyAccess.cpp:
- (JSC::JIT::compileGetByIdHotPath):
- (JSC::JIT::emit_op_put_by_id):
- * wtf/Platform.h:
- Change to enable JIT_OPTIMIZE_PROPERTY_ACCESS.
- 2009-06-08 Gavin Barraclough <barraclough@apple.com>
- Reviewed by Geoff Garen.
- Enable JS language JIT for ARM thumb2 platforms. Add ARMv7 specific
- asm & constants, add appropriate configuration switches to Platform.h.
- Landing this disabled until jump linking is completed (see YARR jit patch).
- * assembler/MacroAssemblerARMv7.h:
- (JSC::MacroAssemblerARMv7::load32):
- Fix: should load pointer with ImmPtr not Imm32.
- (JSC::MacroAssemblerARMv7::store32):
- Fix: should load pointer with ImmPtr not Imm32.
- (JSC::MacroAssemblerARMv7::move):
- Fix: When moving an Imm32 that is actually a pointer, should call movT3()
- not mov(), to ensure code generation is repeatable (for exception handling).
- * jit/JIT.cpp:
- (JSC::JIT::privateCompileCTIMachineTrampolines):
- Disable JIT_OPTIMIZE_NATIVE_CALL specific code generation if the optimization is not enabled.
- * jit/JIT.h:
- Add ARMv7 specific values of constants & register names.
- * jit/JITInlineMethods.h:
- (JSC::JIT::preverveReturnAddressAfterCall):
- (JSC::JIT::restoreReturnAddressBeforeReturn):
- (JSC::JIT::restoreArgumentReferenceForTrampoline):
- Implement for ARMv7 (move value to/from lr).
- * jit/JITStubs.cpp:
- Add JIT entry/thow trampolines, add macro to add thunk wrapper around stub routines.
- * jit/JITStubs.h:
- (JSC::JITStackFrame::returnAddressSlot):
- Add ARMv7 stack frame object.
- * wtf/Platform.h:
- Add changes necessary to allow JIT to build on this platform, disabled.
- 2009-06-08 Mark Rowe <mrowe@apple.com>
- Speculative GTK build fix.
- * wtf/DateMath.cpp:
- 2009-06-08 Gavin Barraclough <barraclough@apple.com>
- Reviewed by Mark Rowe.
- Previous patch caused a regression.
- Restructure so no new (empty, inline) function calls are added on x86.
- * jit/ExecutableAllocator.h:
- (JSC::ExecutableAllocator::makeWritable):
- (JSC::ExecutableAllocator::makeExecutable):
- (JSC::ExecutableAllocator::reprotectRegion):
- (JSC::ExecutableAllocator::cacheFlush):
- 2009-06-08 Dimitri Glazkov <dglazkov@chromium.org>
- Unreviewed, GTK build fix (thanks, bdash).
- * GNUmakefile.am: Moved DateMath with all other wtf kin.
- 2009-06-08 Gavin Barraclough <barraclough@apple.com>
- Reviewed by Geoff Garen.
- Add (incomplete) support to YARR for running with the jit enabled
- on Arm thumb2 platforms. Adds new Assembler/MacroAssembler classes,
- along with cache flushing support, tweaks to MacroAssemblerCodePtr
- to support decorated thumb code pointers, and new enter/exit code
- to YARR jit for the platform.
- Support for this platform is still under development - the assembler
- currrently only supports planting and linking jumps with a 16Mb range.
- As such, initially commiting in a disabled state.
- * JavaScriptCore.xcodeproj/project.pbxproj:
- Add new assembler files.
- * assembler/ARMv7Assembler.h: Added.
- Add new Assembler.
- * assembler/AbstractMacroAssembler.h:
- Tweaks to ensure sizes of pointer values planted in JIT code do not change.
- * assembler/MacroAssembler.h:
- On ARMv7 platforms use MacroAssemblerARMv7.
- * assembler/MacroAssemblerARMv7.h: Added.
- Add new MacroAssembler.
- * assembler/MacroAssemblerCodeRef.h:
- (JSC::FunctionPtr::FunctionPtr):
- Add better ASSERT.
- (JSC::ReturnAddressPtr::ReturnAddressPtr):
- Add better ASSERT.
- (JSC::MacroAssemblerCodePtr::MacroAssemblerCodePtr):
- On ARMv7, MacroAssemblerCodePtr's mush be 'decorated' with a low bit set,
- to indicate to the processor that the code is thumb code, not traditional
- 32-bit ARM.
- (JSC::MacroAssemblerCodePtr::dataLocation):
- On ARMv7, decoration must be removed.
- * jit/ExecutableAllocator.h:
- (JSC::ExecutableAllocator::makeWritable):
- Reformatted, no change.
- (JSC::ExecutableAllocator::makeExecutable):
- When marking code executable also cache flush it, where necessary.
- (JSC::ExecutableAllocator::MakeWritable::MakeWritable):
- Only use the null implementation of this class if both !ASSEMBLER_WX_EXCLUSIVE
- and running on x86(_64) - on other platforms we may also need ensure that
- makeExecutable is called at the end to flush caches.
- (JSC::ExecutableAllocator::reprotectRegion):
- Reformatted, no change.
- (JSC::ExecutableAllocator::cacheFlush):
- Cache flush a region of memory, or platforms where this is necessary.
- * wtf/Platform.h:
- Add changes necessary to allow YARR jit to build on this platform, disabled.
- * yarr/RegexJIT.cpp:
- (JSC::Yarr::RegexGenerator::generateEnter):
- (JSC::Yarr::RegexGenerator::generateReturn):
- Add support to these methods for ARMv7.
- 2009-06-08 Dimitri Glazkov <dglazkov@chromium.org>
- Unreviewed, fix my previous fix.
- * runtime/DateInstance.cpp:
- (JSC::DateInstance::msToGregorianDateTime): Use WTF namespace qualifier to
- disambiguate func signatures.
- 2009-06-08 Mark Rowe <mrowe@apple.com>
- Attempt to fix the Tiger build.
- * wtf/Platform.h: Only test the value of the macro once we know it is defined.
- 2009-06-08 Dimitri Glazkov <dglazkov@chromium.org>
- Unreviewed, another Windows build fix.
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def:
- 2009-06-08 Dimitri Glazkov <dglazkov@chromium.org>
- Unreviewed, projectile-fixing Windows build.
- * runtime/DateConversion.cpp: Added StringExtras include.
- * wtf/DateMath.cpp: Replaced math with algorithm include (looking for std::min def for Windows).
- 2009-06-08 Dimitri Glazkov <dglazkov@chromium.org>
- Unreviewed, Windows build fix.
- * runtime/DateConstructor.cpp: Changed to use WTF namespace.
- * runtime/DateConversion.cpp: Added UString include.
- * runtime/DateInstance.cpp: Changed to use WTF namespace.
- * wtf/DateMath.cpp: Added math include.
- 2009-06-08 Dimitri Glazkov <dglazkov@chromium.org>
- Reviewed by Eric Seidel.
- https://bugs.webkit.org/show_bug.cgi?id=26238
- Move most of runtime/DateMath functions to wtf/DateMath, and split off conversion-related
- helpers to DateConversion.
- * AllInOneFile.cpp: Changed DateMath->DateConversion.
- * GNUmakefile.am: Ditto and added DateMath.
- * JavaScriptCore.exp: Ditto.
- * JavaScriptCore.pri: Ditto.
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj: Ditto.
- * JavaScriptCore.vcproj/WTF/WTF.vcproj: Added DateMath.
- * JavaScriptCore.xcodeproj/project.pbxproj: Ditto.
- * JavaScriptCoreSources.bkl: Ditto.
- * pcre/pcre_exec.cpp: Changed to use DateMath.
- * profiler/ProfileNode.cpp:
- (JSC::getCount): Changed to use DateConversion.
- * runtime/DateConstructor.cpp: Ditto.
- * runtime/DateConversion.cpp: Copied from JavaScriptCore/runtime/DateMath.cpp.
- (JSC::parseDate): Refactored to use null-terminated characters as input.
- * runtime/DateConversion.h: Copied from JavaScriptCore/runtime/DateMath.h.
- * runtime/DateInstance.cpp: Changed to use wtf/DateMath.
- * runtime/DateInstance.h: Ditto.
- * runtime/DateMath.cpp: Removed.
- * runtime/DateMath.h: Removed.
- * runtime/DatePrototype.cpp: Ditto.
- * runtime/InitializeThreading.cpp: Ditto.
- * wtf/DateMath.cpp: Copied from JavaScriptCore/runtime/DateMath.cpp.
- * wtf/DateMath.h: Copied from JavaScriptCore/runtime/DateMath.h.
- 2009-06-08 Steve Falkenburg <sfalken@apple.com>
- Windows build fix.
- * JavaScriptCore.vcproj/jsc/jscCommon.vsprops:
- 2009-06-07 David Kilzer <ddkilzer@apple.com>
- Make JavaScriptCore compile for iPhone and iPhone Simulator
- Reviewed by Gavin Barraclough.
- * Configurations/Base.xcconfig: Split GCC_ENABLE_OBJC_GC on
- $(REAL_PLATFORM_NAME). Added $(ARCHS_UNIVERSAL_IPHONE_OS) to
- VALID_ARCHS. Added REAL_PLATFORM_NAME_iphoneos,
- REAL_PLATFORM_NAME_iphonesimulator, HAVE_DTRACE_iphoneos and
- HAVE_DTRACE_iphonesimulator variables.
- * Configurations/DebugRelase.xcconfig: Split ARCHS definition on
- $(REAL_PLATFORM_NAME).
- * Configurations/JavaScriptCore.xcconfig: Added
- EXPORTED_SYMBOLS_FILE_armv6 and EXPORTED_SYMBOLS_FILE_armv7
- variables. Split OTHER_LDFLAGS into OTHER_LDFLAGS_BASE and
- OTHER_LDFLAGS_$(REAL_PLATFORM_NAME) since CoreServices.framework
- is only linked to on Mac OS X.
- * JavaScriptCore.xcodeproj/project.pbxproj: Removed references
- to CoreServices.framework since it's linked using OTHER_LDFLAGS
- in JavaScriptCore.xcconfig.
- * profiler/ProfilerServer.mm: Added #import for iPhone
- Simulator.
- (-[ProfilerServer init]): Conditionalize use of
- NSDistributedNotificationCenter to non-iPhone or iPhone
- Simulator.
- * wtf/FastMalloc.cpp:
- (WTF::TCMallocStats::): Build fix for iPhone and iPhone
- Simulator.
- * wtf/Platform.h: Defined PLATFORM(IPHONE) and
- PLATFORM(IPHONE_SIMULATOR).
- * wtf/ThreadingPthreads.cpp:
- (WTF::setThreadNameInternal): Build fix for iPhone and iPhone
- Simulator.
- 2009-06-08 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
- Reviewed by Simon Hausmann.
- [Qt] Use $QMAKE_PATH_SEP instead of hardcoded / to fix Windows build
- * JavaScriptCore.pri:
- * JavaScriptCore.pro:
- * jsc.pro:
- 2009-06-07 Gavin Barraclough <barraclough@apple.com>
- RS by Sam Weinig.
- Remove bonus bogus \n from last commit.
- * jit/JITStubs.cpp:
- (JSC::):
- 2009-06-07 Gavin Barraclough <barraclough@apple.com>
- Reviewed by Sam Weinig.
- Change the implementation of op_throw so the stub function always modifies its
- return address - if it doesn't find a 'catch' it will switch to a trampoline
- to force a return from JIT execution. This saves memory, by avoiding the need
- for a unique return for every op_throw.
- * jit/JITOpcodes.cpp:
- (JSC::JIT::emit_op_throw):
- JITStubs::cti_op_throw now always changes its return address,
- remove return code generated after the stub call (this is now
- handled by ctiOpThrowNotCaught).
- * jit/JITStubs.cpp:
- (JSC::):
- Add ctiOpThrowNotCaught definitions.
- (JSC::JITStubs::DEFINE_STUB_FUNCTION):
- Change cti_op_throw to always change its return address.
- * jit/JITStubs.h:
- Add ctiOpThrowNotCaught declaration.
- 2009-06-05 Gavin Barraclough <barraclough@apple.com>
- Rudder stamped by Sam Weinig.
- Add missing ASSERT.
- * assembler/X86Assembler.h:
- (JSC::X86Assembler::getRelocatedAddress):
- 2009-06-05 Gavin Barraclough <barraclough@apple.com>
- Reviewed by Sam Weinig.
- Switch storePtrWithPatch to take the initial immediate value as an argument.
- * assembler/MacroAssemblerX86.h:
- (JSC::MacroAssemblerX86::storePtrWithPatch):
- * assembler/MacroAssemblerX86_64.h:
- (JSC::MacroAssemblerX86_64::storePtrWithPatch):
- * jit/JITOpcodes.cpp:
- (JSC::JIT::emit_op_jsr):
- 2009-06-05 Gavin Barraclough <barraclough@apple.com>
- Reviewed by Sam Weinig.
- Remove patchLength..tByIdExternalLoadPrefix magic numbers from JIT.h.
- These aren't really suitable values to be tracking within common code
- of the JIT, since they are not (and realistically cannot) be checked
- by ASSERTs, as the other repatch offsets are. Move this functionality
- (skipping the REX prefix when patching load instructions to LEAs on
- x86-64) into the X86Assembler.
- * assembler/AbstractMacroAssembler.h:
- (JSC::AbstractMacroAssembler::CodeLocationInstruction::repatchLoadPtrToLEA):
- * assembler/X86Assembler.h:
- (JSC::X86Assembler::repatchLoadPtrToLEA):
- * jit/JIT.h:
- * jit/JITPropertyAccess.cpp:
- (JSC::JIT::patchGetByIdSelf):
- (JSC::JIT::patchPutByIdReplace):
- 2009-06-05 Shinichiro Hamaji <hamaji@chromium.org>
- Bug 26160: Compile fails in MacOSX when GNU fileutils are installed
- <https://bugs.webkit.org/show_bug.cgi?id=26160>
- Reviewed by Alexey Proskuryakov.
- Use /bin/ln instead of ln for cases where this command is used with -h option.
- As this option is not supported by GNU fileutils, this change helps users
- who have GNU fileutils in their PATH.
- * JavaScriptCore.xcodeproj/project.pbxproj:
- 2009-06-05 Gavin Barraclough <barraclough@apple.com>
- Reviewed by Oliver Hunt.
- Remove DoubleNotEqual floating point comparison condition for now -
- it is not used, and it is unclear the semantics are correct (I think
- this comparison would actually give you not-equal-or-unordered, which
- might be what is wanted... we can revisit this interface & get it
- right when required).
- Also, fix asserts in branchArith32 ops. All adds & subs can check
- for Signed, multiply only sets OF so can only check for overflow.
- * assembler/MacroAssemblerX86Common.h:
- (JSC::MacroAssemblerX86Common::):
- (JSC::MacroAssemblerX86Common::branchAdd32):
- (JSC::MacroAssemblerX86Common::branchMul32):
- (JSC::MacroAssemblerX86Common::branchSub32):
- 2009-06-05 Gavin Barraclough <barraclough@apple.com>
- Reviewed by Oliver Hunt.
- Minor tidy up in JITStubs.
- * jit/JITStubs.cpp:
- (JSC::StackHack::StackHack):
- * jit/JITStubs.h:
- 2009-06-05 Koen Kooi <koen@dominion.thruhere.net>
- Reviewed by Xan Lopez.
- Build fix for glib unicode backend.
- * wtf/unicode/glib/UnicodeMacrosFromICU.h:
- 2009-06-05 Gavin Barraclough <barraclough@apple.com>
- Reviewed by Oliver Hunt.
- 3 tiny cleanups:
- * assembler/MacroAssemblerX86.h:
- * assembler/MacroAssemblerX86_64.h:
- (JSC::MacroAssemblerX86_64::storePtrWithPatch):
- store*() methods should take an ImplicitAddress, rather than an Address.
- * assembler/X86Assembler.h:
- Make patchPointer private.
- * jit/JITOpcodes.cpp:
- (JSC::JIT::emit_op_ret):
- Remove empty line at end of function.
- 2009-06-05 Gavin Barraclough <barraclough@apple.com>
- Reviewed by Oliver Hunt.
- Encapsulate many uses of void* in the assembler & jit with types that provide
- more semantic information. The new types are:
-
- * MacroAssemblerCodePtr - this wraps a pointer into JIT generated code.
- * FunctionPtr - this wraps a pointer to a C/C++ function in JSC.
- * ReturnAddressPtr - this wraps a return address resulting from a 'call' instruction.
- Wrapping these types allows for stronger type-checking than is possible with everything
- represented a void*. For example, it is now enforced by the type system that near
- calls can only be linked to JIT code and not to C functions in JSC (this was previously
- required, but could not be enforced on the interface).
- * assembler/AbstractMacroAssembler.h:
- (JSC::AbstractMacroAssembler::CodeLocationCommon::CodeLocationCommon):
- (JSC::AbstractMacroAssembler::CodeLocationCommon::dataLocation):
- (JSC::AbstractMacroAssembler::CodeLocationCommon::executableAddress):
- (JSC::AbstractMacroAssembler::CodeLocationCommon::reset):
- (JSC::AbstractMacroAssembler::CodeLocationInstruction::repatchLoadToLEA):
- (JSC::AbstractMacroAssembler::CodeLocationInstruction::CodeLocationInstruction):
- (JSC::AbstractMacroAssembler::CodeLocationLabel::addressForSwitch):
- (JSC::AbstractMacroAssembler::CodeLocationLabel::addressForExceptionHandler):
- (JSC::AbstractMacroAssembler::CodeLocationLabel::addressForJSR):
- (JSC::AbstractMacroAssembler::CodeLocationLabel::operator!):
- (JSC::AbstractMacroAssembler::CodeLocationLabel::reset):
- (JSC::AbstractMacroAssembler::CodeLocationLabel::CodeLocationLabel):
- (JSC::AbstractMacroAssembler::CodeLocationLabel::getJumpDestination):
- (JSC::AbstractMacroAssembler::CodeLocationJump::relink):
- (JSC::AbstractMacroAssembler::CodeLocationJump::CodeLocationJump):
- (JSC::AbstractMacroAssembler::CodeLocationCall::relink):
- (JSC::AbstractMacroAssembler::CodeLocationCall::calleeReturnAddressValue):
- (JSC::AbstractMacroAssembler::CodeLocationCall::CodeLocationCall):
- (JSC::AbstractMacroAssembler::CodeLocationNearCall::relink):
- (JSC::AbstractMacroAssembler::CodeLocationNearCall::calleeReturnAddressValue):
- (JSC::AbstractMacroAssembler::CodeLocationNearCall::CodeLocationNearCall):
- (JSC::AbstractMacroAssembler::CodeLocationDataLabel32::repatch):
- (JSC::AbstractMacroAssembler::CodeLocationDataLabel32::CodeLocationDataLabel32):
- (JSC::AbstractMacroAssembler::CodeLocationDataLabelPtr::repatch):
- (JSC::AbstractMacroAssembler::CodeLocationDataLabelPtr::CodeLocationDataLabelPtr):
- (JSC::AbstractMacroAssembler::ProcessorReturnAddress::relinkCallerToTrampoline):
- (JSC::AbstractMacroAssembler::ProcessorReturnAddress::relinkCallerToFunction):
- (JSC::AbstractMacroAssembler::ProcessorReturnAddress::relinkNearCallerToTrampoline):
- (JSC::AbstractMacroAssembler::ProcessorReturnAddress::addressForLookup):
- (JSC::AbstractMacroAssembler::trampolineAt):
- (JSC::AbstractMacroAssembler::PatchBuffer::link):
- (JSC::AbstractMacroAssembler::PatchBuffer::performFinalization):
- (JSC::::CodeLocationCommon::instructionAtOffset):
- (JSC::::CodeLocationCommon::labelAtOffset):
- (JSC::::CodeLocationCommon::jumpAtOffset):
- (JSC::::CodeLocationCommon::callAtOffset):
- (JSC::::CodeLocationCommon::nearCallAtOffset):
- (JSC::::CodeLocationCommon::dataLabelPtrAtOffset):
- (JSC::::CodeLocationCommon::dataLabel32AtOffset):
- * assembler/MacroAssemblerCodeRef.h:
- (JSC::FunctionPtr::FunctionPtr):
- (JSC::FunctionPtr::value):
- (JSC::FunctionPtr::executableAddress):
- (JSC::ReturnAddressPtr::ReturnAddressPtr):
- (JSC::ReturnAddressPtr::value):
- (JSC::MacroAssemblerCodePtr::MacroAssemblerCodePtr):
- (JSC::MacroAssemblerCodePtr::executableAddress):
- (JSC::MacroAssemblerCodePtr::dataLocation):
- (JSC::MacroAssemblerCodeRef::MacroAssemblerCodeRef):
- * assembler/X86Assembler.h:
- (JSC::X86Assembler::patchPointerForCall):
- * jit/JIT.cpp:
- (JSC::ctiPatchNearCallByReturnAddress):
- (JSC::ctiPatchCallByReturnAddress):
- (JSC::JIT::privateCompile):
- (JSC::JIT::privateCompileCTIMachineTrampolines):
- * jit/JIT.h:
- (JSC::JIT::compileCTIMachineTrampolines):
- * jit/JITCall.cpp:
- (JSC::JIT::compileOpCall):
- * jit/JITCode.h:
- (JSC::JITCode::operator !):
- (JSC::JITCode::addressForCall):
- (JSC::JITCode::offsetOf):
- (JSC::JITCode::execute):
- (JSC::JITCode::size):
- (JSC::JITCode::HostFunction):
- * jit/JITInlineMethods.h:
- (JSC::JIT::emitNakedCall):
- * jit/JITPropertyAccess.cpp:
- (JSC::JIT::privateCompilePutByIdTransition):
- (JSC::JIT::patchGetByIdSelf):
- (JSC::JIT::patchPutByIdReplace):
- (JSC::JIT::privateCompilePatchGetArrayLength):
- (JSC::JIT::privateCompileGetByIdProto):
- (JSC::JIT::privateCompileGetByIdChain):
- * jit/JITStubs.cpp:
- (JSC::JITThunks::JITThunks):
- (JSC::JITThunks::tryCachePutByID):
- (JSC::JITThunks::tryCacheGetByID):
- (JSC::JITStubs::DEFINE_STUB_FUNCTION):
- * jit/JITStubs.h:
- (JSC::JITThunks::ctiArrayLengthTrampoline):
- (JSC::JITThunks::ctiStringLengthTrampoline):
- (JSC::JITThunks::ctiVirtualCallPreLink):
- (JSC::JITThunks::ctiVirtualCallLink):
- (JSC::JITThunks::ctiVirtualCall):
- (JSC::JITThunks::ctiNativeCallThunk):
- * yarr/RegexJIT.h:
- (JSC::Yarr::RegexCodeBlock::operator!):
- (JSC::Yarr::RegexCodeBlock::execute):
- 2009-06-05 Antti Koivisto <antti@apple.com>
- Try to unbreak Windows build.
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def:
- 2009-06-03 Antti Koivisto <antti@apple.com>
- Reviewed by Dave Kilzer.
-
- https://bugs.webkit.org/show_bug.cgi?id=13128
- Safari not obeying cache header
-
- Export JSC::parseDate()
- * JavaScriptCore.exp:
- * JavaScriptCore.xcodeproj/project.pbxproj:
- 2009-06-04 Oliver Hunt <oliver@apple.com>
- Reviewed by Gavin Barraclough.
- Bug in property caching of getters and setters.
- Make sure that the transition logic accounts for getters and setters.
- If we don't we end up screwing up the transition tables so that some
- transitions will start incorrectly believing that they need to check
- for getters and setters.
- * runtime/JSObject.cpp:
- (JSC::JSObject::defineGetter):
- (JSC::JSObject::defineSetter):
- * runtime/JSObject.h:
- (JSC::):
- * runtime/Structure.h:
- 2009-06-04 Gavin Barraclough <barraclough@apple.com>
- Reviewed by Sam Weinig.
- Minor tweak to PatchBuffer, change it so it no longer holds a CodeRef, and instead
- holds a separate code pointer and executable pool. Since it now always holds its
- own copy of the code size, and to simplify the construction sequence, it's neater
- this way.
- * assembler/AbstractMacroAssembler.h:
- (JSC::AbstractMacroAssembler::PatchBuffer::PatchBuffer):
- (JSC::AbstractMacroAssembler::PatchBuffer::finalizeCode):
- (JSC::AbstractMacroAssembler::PatchBuffer::code):
- (JSC::AbstractMacroAssembler::PatchBuffer::performFinalization):
- 2009-06-04 Gavin Barraclough <barraclough@apple.com>
- Reviewed by Oliver Hunt.
- Remove 'JIT_STUB_ARGUMENT_STACK' this is unused and untested.
- This just leaves JIT_STUB_ARGUMENT_REGISTER and JIT_STUB_ARGUMENT_VA_LIST.
- Since JIT_STUB_ARGUMENT_REGISTER is the sensible configuration on most platforms,
- remove this define and make this the default behaviour.
- Platforms must now define JIT_STUB_ARGUMENT_VA_LIST to get crazy va_list voodoo,
- if they so desire.
- (Refactoring of #ifdefs only, no functional change, no performance impact.)
- * jit/JIT.h:
- * jit/JITInlineMethods.h:
- (JSC::JIT::restoreArgumentReference):
- (JSC::JIT::restoreArgumentReferenceForTrampoline):
- * jit/JITStubs.cpp:
- (JSC::):
- * jit/JITStubs.h:
- * wtf/Platform.h:
- 2009-06-04 Gavin Barraclough <barraclough@apple.com>
- Rubber stamped by Sam Weinig.
- * jit/JITArithmetic.cpp:
- Remove some redundant typedefs, unused since arithmetic was added to the MacroAssembler interface.
- 2009-06-04 Brent Fulgham <bfulgham@webkit.org>
- Build fix due to header include problem.
- * interpreter/Interpreter.h: Remove wtf from includes so that
- compile can find the headers in expected places.
- 2009-06-04 Zoltan Horvath <hzoltan@inf.u-szeged.hu>
- Reviewed by Darin Adler.
- HashTable class (JavaScriptCore/wtf/HashTable.h) doesn't instantiated by 'new', so
- inheritance was removed. HashTable struct has been instantiated by operator new in
- JSGlobalData.cpp:106.
- HashTable couldn't inherited from FastAllocBase since struct with inheritance is
- no longer POD, so HashTable struct has been instantiated by fastNew, destroyed by
- fastDelete.
- * interpreter/Interpreter.h:
- * runtime/JSGlobalData.cpp:
- (JSC::JSGlobalData::JSGlobalData):
- (JSC::JSGlobalData::~JSGlobalData):
- * wtf/HashTable.h:
- 2009-06-04 Gavin Barraclough <barraclough@apple.com>
- Reviewed by Oliver Hunt.
- Wrap the code that plants pushes/pops planted by JIT in explanatorily named
- methods; move property storage reallocation into a standard stub function.
- ~No performance impact (possible <1% progression on x86-64, likely just noise).
- * jit/JIT.cpp:
- (JSC::JIT::privateCompile):
- (JSC::JIT::privateCompileCTIMachineTrampolines):
- Wrap calls to push/pop.
- * jit/JIT.h:
- Declare the new wrapper methods.
- * jit/JITInlineMethods.h:
- (JSC::JIT::preverveReturnAddressAfterCall):
- (JSC::JIT::restoreReturnAddressBeforeReturn):
- Define the new wrapper methods.
- * jit/JITOpcodes.cpp:
- (JSC::JIT::emit_op_end):
- (JSC::JIT::emit_op_ret):
- Wrap calls to push/pop.
- * jit/JITPropertyAccess.cpp:
- (JSC::JIT::privateCompilePutByIdTransition):
- Move property storage reallocation into a standard stub function.
- * jit/JITStubs.cpp:
- (JSC::JITStubs::DEFINE_STUB_FUNCTION):
- * jit/JITStubs.h:
- (JSC::JITStubs::):
- 2009-06-04 Laszlo Gombos <laszlo.1.gombos@nokia.com>
- Reviewed by Ariya Hidayat.
- [Qt] Single-threaded QtWebKit configuration
- <https://bugs.webkit.org/show_bug.cgi?id=26015>
- * JavaScriptCore.pri: Use ThreadingNone.cpp instead of
- ThreadingQt.cpp and make sure ENABLE_JSC_MULTIPLE_THREADS is turned off
- when ENABLE_SINGLE_THREADED is tuned on
- * wtf/ThreadingNone.cpp:
- (WTF::ThreadCondition::wait): Fix compilation warning.
- (WTF::ThreadCondition::timedWait): Ditto.
- 2009-06-02 Mark Rowe <mrowe@apple.com>
- Reviewed by Anders Carlsson.
- Remove workaround that was added to address <rdar://problem/5488678> as it no longer affects our Tiger builds.
- * Configurations/Base.xcconfig:
- 2009-06-02 Xan Lopez <xlopez@igalia.com>
- Reviewed by Sam Weinig.
- Use C-style comments in Platform.h so it can be included from C
- files.
- * wtf/Platform.h:
- 2009-06-02 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
- Rubber-stamped by Simon Hausmann.
- Use File::Spec->tmpdir instead of hardcoded paths for tempfile() dir
-
- This fixes the Windows-build if the user does not have a /tmp directory.
- * pcre/dftables:
- 2009-06-02 Gavin Barraclough <barraclough@apple.com>
- Reviewed by Oliver ">>" Hunt.
- emitSlow_op_rshift is linking the wrong number of slow cases, if !supportsFloatingPoint().
- Fixerate, and refactor/comment the code a little to make it clearer what is going on.
- * jit/JITArithmetic.cpp:
- (JSC::JIT::emit_op_rshift):
- (JSC::JIT::emitSlow_op_rshift):
- 2009-06-01 Gavin Barraclough <barraclough@apple.com>
- Reviewed by NOBODY - speculative windows build fix (errm, for the other patch!).
- * jit/JITStubs.cpp:
- (JSC::):
- 2009-06-01 Gavin Barraclough <barraclough@apple.com>
- Reviewed by NOBODY - speculative windows build fix.
- * assembler/AbstractMacroAssembler.h:
- (JSC::::CodeLocationCall::CodeLocationCall):
- (JSC::::CodeLocationNearCall::CodeLocationNearCall):
- 2009-06-01 Gavin Barraclough <barraclough@apple.com>
- Reviewed by Olliej Hunt.
- Change JITStub functions from being static members on the JITStub class to be
- global extern "C" functions, and switch their the function signature declaration
- in the definition of the functions to be C-macro generated. This makes it easier
- to work with the stub functions from assembler code (since the name…