1. 20 May, 2010 3 commits
    • ggaren@apple.com's avatar
      2010-05-20 Geoffrey Garen <ggaren@apple.com> · 544432d4
      ggaren@apple.com authored
              Reviewed by Darin Adler.
      
              Removed some reliance on callFame[CodeBlock] by storing CodeBlock in a
              local variable in the Interpreter.
              https://bugs.webkit.org/show_bug.cgi?id=39447
      
              Small speedup on SunSpider in Interpreter mode.
      
              * interpreter/Interpreter.cpp:
              (JSC::Interpreter::privateExecute):
              * jsc.cpp:
              * wtf/Platform.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@59863 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      544432d4
    • barraclough@apple.com's avatar
      Bug 39408 - Unify JIT/interpreter return behaviour. · c73ede7f
      barraclough@apple.com authored
      Reviewed by Oliver Hunt.
      
      Presently the JIT and the interpreter have differing implementations in how
      they handle storing the result of a function call back to the register file.
      In both cases the op_call ( / _eval / _varargs / op_construct) opcode has an
      operand indicating the VM register in which the result should be stored.
      The JIT plants code after the call to store the result, so the value will be
      stored as soon as the callee has returned.  In the interpreter the call
      passes the return value register id into the callee via the callee callframe,
      and the callee is responsible for writing the result back into its callers
      register file after it has restored the parents callframe pointer, but before
      returning.
      
      Instead, move the task of writing the call result to the register file into a
      new opcode (op_call_put_result), and after returning the callee should leave
      the return value in a canonical location.  In the case of the interpreter,
      this canonical location is a local variable in privateExecute
      (functionReturnValue), in the case of the JIT this is the normal return value
      registers (regT0, or regT1:regT0 in JSVALUE32_64).  op_call_put_result stores
      the result from the canonical location to the registerfile.
      
      In addition to unifying JIT & interpreter behaviour this change allows us to
      remove a slot from the callframe, omit the write of the result where the
      return value from the call is not used, and provides a 2% speedup on sunspider
      in the interpreter.
      
      * bytecode/CodeBlock.cpp:
      (JSC::CodeBlock::dump):
      * bytecode/Opcode.h:
      * bytecompiler/BytecodeGenerator.cpp:
      (JSC::BytecodeGenerator::emitCall):
      (JSC::BytecodeGenerator::emitCallVarargs):
      (JSC::BytecodeGenerator::emitConstruct):
      * bytecompiler/BytecodeGenerator.h:
      (JSC::BytecodeGenerator::finalDestinationOrIgnored):
      * bytecompiler/NodesCodegen.cpp:
      (JSC::NewExprNode::emitBytecode):
      (JSC::FunctionCallValueNode::emitBytecode):
      (JSC::FunctionCallResolveNode::emitBytecode):
      (JSC::FunctionCallBracketNode::emitBytecode):
      (JSC::FunctionCallDotNode::emitBytecode):
      (JSC::CallFunctionCallDotNode::emitBytecode):
      (JSC::ApplyFunctionCallDotNode::emitBytecode):
      * interpreter/CallFrame.h:
      (JSC::ExecState::init):
      (JSC::ExecState::noCaller):
      * interpreter/Interpreter.cpp:
      (JSC::Interpreter::dumpRegisters):
      (JSC::Interpreter::throwException):
      (JSC::Interpreter::privateExecute):
      * interpreter/RegisterFile.h:
      (JSC::RegisterFile::):
      * jit/JIT.cpp:
      (JSC::JIT::privateCompileMainPass):
      * jit/JIT.h:
      * jit/JITCall.cpp:
      (JSC::JIT::compileOpCallSetupArgs):
      (JSC::JIT::compileOpConstructSetupArgs):
      (JSC::JIT::emit_op_call_put_result):
      (JSC::JIT::compileOpCallVarargs):
      (JSC::JIT::compileOpCallVarargsSlowCase):
      (JSC::JIT::compileOpCall):
      (JSC::JIT::compileOpCallSlowCase):
      (JSC::JIT::compileOpCallVarargsSetupArgs):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@59860 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c73ede7f
    • steveblock@google.com's avatar
      2010-05-20 Steve Block <steveblock@google.com> · 2f4e6fc9
      steveblock@google.com authored
              Reviewed by Jeremy Orlow.
      
              Provide bindings for DeviceOrientation
              https://bugs.webkit.org/show_bug.cgi?id=39210
      
              Adds ENABLE_DEVICE_ORIENTATION to XCode project file, always disabled.
      
              * Configurations/FeatureDefines.xcconfig:
      2010-05-20  Steve Block  <steveblock@google.com>
      
              Reviewed by Jeremy Orlow.
      
              Provide bindings for DeviceOrientation
              https://bugs.webkit.org/show_bug.cgi?id=39210
      
              Adds ENABLE_DEVICE_ORIENTATION to VisualStudio project files, always disabled.
      
              * win/tools/vsprops/FeatureDefines.vsprops:
              * win/tools/vsprops/FeatureDefinesCairo.vsprops:
      2010-05-20  Steve Block  <steveblock@google.com>
      
              Reviewed by Jeremy Orlow.
      
              Provide bindings for DeviceOrientation
              https://bugs.webkit.org/show_bug.cgi?id=39210
      
              Adds ENABLE_DEVICE_ORIENTATION to XCode project file, always disabled.
      
              * Configurations/FeatureDefines.xcconfig:
      2010-05-20  Steve Block  <steveblock@google.com>
      
              Reviewed by Jeremy Orlow.
      
              Provide bindings for DeviceOrientation
              https://bugs.webkit.org/show_bug.cgi?id=39210
      
              Tests: fast/dom/DeviceOrientation/window-property.html
                     fast/dom/Window/window-properties-on-device-orientation.html
      
              Adds bindings for DeviceOrientation as defined in
              http://dev.w3.org/geo/api/spec-source-orientation.html
              This is guarded by ENABLE(DEVICE_ORIENTATION) which is currently disabled on
              all platforms but Android.
      
              * Android.derived.jscbindings.mk:
              * Android.derived.v8bindings.mk:
              * Android.mk:
              * Configurations/FeatureDefines.xcconfig:
              * DerivedSources.cpp:
              * DerivedSources.make:
              * GNUmakefile.am:
              * WebCore.gypi:
              * WebCore.pri:
              * WebCore.pro:
              * WebCore.xcodeproj/project.pbxproj:
              * bindings/js/JSEventCustom.cpp:
              (WebCore::toJS):
              * bindings/v8/custom/V8EventCustom.cpp:
              (WebCore::toV8):
              * dom/DeviceOrientationEvent.cpp: Added.
              (WebCore::DeviceOrientationEvent::DeviceOrientationEvent):
              (WebCore::DeviceOrientationEvent::initDeviceOrientationEvent):
              * dom/DeviceOrientationEvent.h: Added.
              (WebCore::DeviceOrientationEvent::create):
              (WebCore::DeviceOrientationEvent::alpha):
              (WebCore::DeviceOrientationEvent::beta):
              (WebCore::DeviceOrientationEvent::gamma):
              (WebCore::DeviceOrientationEvent::isDeviceOrientationEvent):
              * dom/DeviceOrientationEvent.idl: Added.
              * dom/Event.cpp:
              (WebCore::Event::isDeviceOrientationEvent):
              * dom/Event.h:
              * dom/EventNames.h:
              * page/DOMWindow.h:
              * page/DOMWindow.idl:
      2010-05-20  Steve Block  <steveblock@google.com>
      
              Reviewed by Jeremy Orlow.
      
              Provide bindings for DeviceOrientation
              https://bugs.webkit.org/show_bug.cgi?id=39210
      
              Modifies existing fast/dom/Window tests to skip window.ondeviceorientation until
              it is widely supported.
              Adds new fast/dom/Window/window-properties-on-device-orientation.html to test
              type and presence of window.ondeviceorientation.
              Adds new fast/dom/DeviceOrientation directory and initial test.
              Adds all DeviceOrientation tests to all skipped lists.
      
              * fast/dom/DeviceOrientation: Added.
              * fast/dom/DeviceOrientation/script-tests: Added.
              * fast/dom/DeviceOrientation/script-tests/TEMPLATE.html: Added.
              * fast/dom/DeviceOrientation/script-tests/window-property.js: Added.
              (hasOnDeviceOrientationProperty):
              * fast/dom/DeviceOrientation/window-property-expected.txt: Added.
              * fast/dom/DeviceOrientation/window-property.html: Added.
              * fast/dom/Window/script-tests/window-property-descriptors.js:
              * fast/dom/Window/window-properties-on-device-orientation-expected.txt: Added.
              * fast/dom/Window/window-properties-on-device-orientation.html: Added.
              * fast/dom/Window/window-properties.html:
              * platform/chromium/test_expectations.txt:
              * platform/gtk/Skipped:
              * platform/mac/Skipped:
              * platform/qt/Skipped:
              * platform/win/Skipped:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@59847 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2f4e6fc9
  2. 19 May, 2010 13 commits
    • barraclough@apple.com's avatar
      Errk! rename op_constructor_ret as requested in review of Bug 39399. · fd6a150a
      barraclough@apple.com authored
      Reviewed by Geoff Garen.
      
      * bytecode/CodeBlock.cpp:
      (JSC::CodeBlock::dump):
      * bytecode/Opcode.h:
      * bytecompiler/BytecodeGenerator.cpp:
      (JSC::BytecodeGenerator::emitReturn):
      * interpreter/Interpreter.cpp:
      (JSC::Interpreter::privateExecute):
      * jit/JIT.cpp:
      (JSC::JIT::privateCompileMainPass):
      * jit/JIT.h:
      * jit/JITCall.cpp:
      (JSC::JIT::emit_op_ret_object_or_this):
      * jit/JITOpcodes.cpp:
      (JSC::JIT::emit_op_ret_object_or_this):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@59820 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      fd6a150a
    • barraclough@apple.com's avatar
      Bug 39399 - Move responsibility for verifying constructors return objects from... · fdaf8dcc
      barraclough@apple.com authored
      Bug 39399 - Move responsibility for verifying constructors return objects from the caller to the callee.
              
      Reviewed by Geoff Garen.
      
      This is a necessary step to move object creation from caller to callee.
      
      * bytecode/CodeBlock.cpp:
      (JSC::CodeBlock::dump):
      * bytecode/Opcode.h:
      * bytecompiler/BytecodeGenerator.cpp:
      (JSC::BytecodeGenerator::BytecodeGenerator):
      (JSC::BytecodeGenerator::emitReturn):
      (JSC::BytecodeGenerator::emitConstruct):
      * bytecompiler/BytecodeGenerator.h:
      (JSC::BytecodeGenerator::isConstructor):
      * bytecompiler/NodesCodegen.cpp:
      (JSC::FunctionBodyNode::emitBytecode):
      * interpreter/Interpreter.cpp:
      (JSC::Interpreter::privateExecute):
      * jit/JIT.cpp:
      (JSC::JIT::privateCompileMainPass):
      (JSC::JIT::privateCompileSlowCases):
      * jit/JIT.h:
      * jit/JITCall.cpp:
      (JSC::JIT::emit_op_constructor_ret):
      * jit/JITOpcodes.cpp:
      (JSC::JIT::emit_op_constructor_ret):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@59817 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      fdaf8dcc
    • barraclough@apple.com's avatar
      Fix windows build II. · 48ade0ed
      barraclough@apple.com authored
      Reviewed by NOBODY (build fix).
      
      * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@59813 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      48ade0ed
    • barraclough@apple.com's avatar
      Fix windows build. · 3be58fde
      barraclough@apple.com authored
      Reviewed by NOBODY (build fix).
      
      * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@59812 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3be58fde
    • barraclough@apple.com's avatar
      JavaScriptCore: Bug 39393 - JSFunction need not be a subclass of InternalFunction. · 4be541cf
      barraclough@apple.com authored
      Reviewed by Oliver Hunt.
      
      re-landing r59800.
      
      * JavaScriptCore.exp:
      * interpreter/Interpreter.cpp:
      (JSC::Interpreter::retrieveCaller):
      (JSC::Interpreter::findFunctionCallFrame):
      * interpreter/Interpreter.h:
      * profiler/Profiler.cpp:
      (JSC::Profiler::createCallIdentifier):
      * runtime/FunctionPrototype.cpp:
      (JSC::functionProtoFuncToString):
      * runtime/JSFunction.cpp:
      (JSC::):
      (JSC::JSFunction::JSFunction):
      (JSC::JSFunction::name):
      (JSC::JSFunction::displayName):
      (JSC::JSFunction::calculatedDisplayName):
      * runtime/JSFunction.h:
      * runtime/JSObject.cpp:
      (JSC::JSObject::putDirectFunction):
      (JSC::JSObject::putDirectFunctionWithoutTransition):
      * runtime/JSObject.h:
      * runtime/Lookup.cpp:
      (JSC::setUpStaticFunctionSlot):
      
      WebCore: Rubber Stamped by Sam Weinig.
      
      JSFunctions are no longer a subclass of InternalFunction.
      
      * bindings/js/ScriptCallStack.cpp:
      (WebCore::ScriptCallStack::ScriptCallStack):
      (WebCore::ScriptCallStack::initialize):
      * bindings/js/ScriptCallStack.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@59811 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4be541cf
    • barraclough@apple.com's avatar
      Reverting r59800, this b0rked stuff. · 96e4bba9
      barraclough@apple.com authored
      Reviewed by NOBODY (build fix).
      
      * JavaScriptCore.exp:
      * interpreter/Interpreter.cpp:
      (JSC::Interpreter::retrieveCaller):
      (JSC::Interpreter::findFunctionCallFrame):
      * interpreter/Interpreter.h:
      * profiler/Profiler.cpp:
      (JSC::Profiler::createCallIdentifier):
      * runtime/FunctionPrototype.cpp:
      (JSC::functionProtoFuncToString):
      * runtime/JSFunction.cpp:
      (JSC::):
      (JSC::JSFunction::JSFunction):
      * runtime/JSFunction.h:
      * runtime/JSObject.cpp:
      * runtime/JSObject.h:
      * runtime/Lookup.cpp:
      (JSC::setUpStaticFunctionSlot):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@59801 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      96e4bba9
    • barraclough@apple.com's avatar
      Bug 39393 - JSFunction need not be a subclass of InternalFunction. · fe12c1f5
      barraclough@apple.com authored
      Reviewed by Oliver Hunt.
      
      This may prevent us from introducing a more useful parent class to
      JSFunction, e.g. a JSObject that holds an executable, which could
      also reference an eval or program executable.
      
      * JavaScriptCore.exp:
      * interpreter/Interpreter.cpp:
      (JSC::Interpreter::retrieveCaller):
      (JSC::Interpreter::findFunctionCallFrame):
      * interpreter/Interpreter.h:
      * profiler/Profiler.cpp:
      (JSC::Profiler::createCallIdentifier):
      * runtime/FunctionPrototype.cpp:
      (JSC::functionProtoFuncToString):
      * runtime/JSFunction.cpp:
      (JSC::):
      (JSC::JSFunction::JSFunction):
      (JSC::JSFunction::name):
      (JSC::JSFunction::displayName):
      (JSC::JSFunction::calculatedDisplayName):
      * runtime/JSFunction.h:
      * runtime/JSObject.cpp:
      (JSC::JSObject::putDirectFunction):
      (JSC::JSObject::putDirectFunctionWithoutTransition):
      * runtime/JSObject.h:
      * runtime/Lookup.cpp:
      (JSC::setUpStaticFunctionSlot):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@59800 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      fe12c1f5
    • oliver@apple.com's avatar
      2010-05-19 Oliver Hunt <oliver@apple.com> · fc502ee5
      oliver@apple.com authored
              Reviewed by Geoffrey Garen.
      
              emitJumpIfNotJSCell should special case constant immediate values
              https://bugs.webkit.org/show_bug.cgi?id=39392
              <rdar://problem/8001324>
      
              Make emitJumpSlowCaseIfNotJSCell special case constant immediate
              values, in addition to the immediate JSCell optimisation.
      
              Also add assertions to make sure no one else produces code that
              attempts to load constants from the register file.
      
              * jit/JITInlineMethods.h:
              (JSC::JIT::emitJumpSlowCaseIfNotJSCell):
              * jit/JSInterfaceJIT.h:
              (JSC::JSInterfaceJIT::emitJumpIfNotJSCell):
              (JSC::JSInterfaceJIT::emitLoadInt32):
              (JSC::JSInterfaceJIT::tagFor):
              (JSC::JSInterfaceJIT::payloadFor):
              (JSC::JSInterfaceJIT::emitLoadDouble):
              (JSC::JSInterfaceJIT::addressFor):
              * jit/ThunkGenerators.cpp:
      2010-05-19  Oliver Hunt  <oliver@apple.com>
      
              Reviewed by Geoffrey Garen.
      
              emitJumpIfNotJSCell should special case constant immediate values
              https://bugs.webkit.org/show_bug.cgi?id=39392
      
              Add tests for immediate constants being used where cells are expected.
      
              * fast/js/immediate-constant-instead-of-cell-expected.txt: Added.
              * fast/js/immediate-constant-instead-of-cell.html: Added.
              * fast/js/script-tests/immediate-constant-instead-of-cell.js: Added.
              ():
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@59798 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      fc502ee5
    • ggaren@apple.com's avatar
      2010-05-19 Geoffrey Garen <ggaren@apple.com> · 11760a7f
      ggaren@apple.com authored
              Reviewed by Sam Weinig.
      
              Slight refactoring to CodeBlock bytecode access
              https://bugs.webkit.org/show_bug.cgi?id=39384
      
              * bytecode/CodeBlock.h:
              (JSC::CodeBlock::bytecodeOffset):
              * interpreter/CallFrame.h:
              (JSC::ExecState::returnPC):
              * interpreter/Interpreter.cpp:
              (JSC::Interpreter::unwindCallFrame):
              (JSC::Interpreter::retrieveLastCaller): Moved bytecode access into a
              CodeBlock helper function. Changed CallFrame to accurately represent
              how the returnPC is stored in JIT vs Interpreter.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@59791 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      11760a7f
    • ggaren@apple.com's avatar
      2010-05-19 Geoffrey Garen <ggaren@apple.com> · 3a0bf1f8
      ggaren@apple.com authored
              Reviewed by Sam Weinig.
      
              Don't build the Interpreter into JIT builds.
              https://bugs.webkit.org/show_bug.cgi?id=39373
      
              SunSpider says no change.
      
              * interpreter/Interpreter.cpp:
              (JSC::Interpreter::privateExecute):
              * interpreter/Interpreter.h:
              * wtf/Platform.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@59781 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3a0bf1f8
    • ggaren@apple.com's avatar
      Standardized naming: "bytecode offset" wins; "bytecode index" loses. · 1ba49818
      ggaren@apple.com authored
              
      Reviewed by Gavin Barraclough.
      
      Also renamed getBytecodeOffset to bytecodeOffset, to match the WebKit
      naming style.
      
      * bytecode/CodeBlock.h:
      (JSC::CallReturnOffsetToBytecodeOffset::CallReturnOffsetToBytecodeOffset):
      (JSC::getCallReturnOffset):
      (JSC::CodeBlock::bytecodeOffset):
      (JSC::CodeBlock::callReturnIndexVector):
      * interpreter/Interpreter.cpp:
      (JSC::bytecodeOffsetForPC):
      * jit/JIT.cpp:
      (JSC::JIT::JIT):
      (JSC::JIT::privateCompileMainPass):
      (JSC::JIT::privateCompileLinkPass):
      (JSC::JIT::privateCompileSlowCases):
      (JSC::JIT::privateCompile):
      * jit/JIT.h:
      (JSC::CallRecord::CallRecord):
      (JSC::JumpTable::JumpTable):
      (JSC::SwitchRecord::SwitchRecord):
      * jit/JITCall.cpp:
      (JSC::JIT::compileOpCallVarargsSlowCase):
      (JSC::JIT::compileOpCall):
      * jit/JITInlineMethods.h:
      (JSC::JIT::emitNakedCall):
      (JSC::JIT::addSlowCase):
      (JSC::JIT::addJump):
      (JSC::JIT::emitJumpSlowToHot):
      (JSC::JIT::isLabeled):
      (JSC::JIT::map):
      (JSC::JIT::unmap):
      (JSC::JIT::isMapped):
      (JSC::JIT::getMappedPayload):
      (JSC::JIT::getMappedTag):
      (JSC::JIT::emitGetVirtualRegister):
      * jit/JITOpcodes.cpp:
      (JSC::JIT::emit_op_switch_imm):
      (JSC::JIT::emit_op_switch_char):
      (JSC::JIT::emit_op_switch_string):
      (JSC::JIT::emit_op_new_error):
      * jit/JITOpcodes32_64.cpp:
      (JSC::JIT::emit_op_mov):
      (JSC::JIT::emit_op_get_global_var):
      (JSC::JIT::emit_op_put_global_var):
      (JSC::JIT::emit_op_get_scoped_var):
      (JSC::JIT::emit_op_put_scoped_var):
      (JSC::JIT::emit_op_to_primitive):
      (JSC::JIT::emit_op_resolve_global):
      (JSC::JIT::emit_op_to_jsnumber):
      (JSC::JIT::emit_op_catch):
      (JSC::JIT::emit_op_switch_imm):
      (JSC::JIT::emit_op_switch_char):
      (JSC::JIT::emit_op_switch_string):
      (JSC::JIT::emit_op_new_error):
      (JSC::JIT::emit_op_convert_this):
      * jit/JITPropertyAccess.cpp:
      (JSC::JIT::emit_op_method_check):
      (JSC::JIT::emitSlow_op_method_check):
      * jit/JITPropertyAccess32_64.cpp:
      (JSC::JIT::emit_op_method_check):
      (JSC::JIT::emitSlow_op_method_check):
      (JSC::JIT::emit_op_get_by_val):
      (JSC::JIT::emit_op_get_by_id):
      (JSC::JIT::emit_op_get_by_pname):
      * jit/JITStubCall.h:
      (JSC::JITStubCall::call):
      * jit/JITStubs.cpp:
      (JSC::DEFINE_STUB_FUNCTION):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@59777 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1ba49818
    • abecsi@webkit.org's avatar
      The backtrackParenthesesOnceEnd function should store the start position · a3e99255
      abecsi@webkit.org authored
      of the subpattern's non-greedy match at the place of the subpattern's
      start index in the output array instead of the place of the
      subpattern's end index.
      Add layout test for checking of non-greedy matching of subpattern in
      regular expressions.
      https://bugs.webkit.org/show_bug.cgi?id=39289
      
      Patch by Peter Varga <pvarga@inf.u-szeged.hu> on 2010-05-19
      Reviewed by Darin Adler.
      
      JavaScriptCore: 
      
      * yarr/RegexInterpreter.cpp:
      (JSC::Yarr::Interpreter::backtrackParenthesesOnceEnd):
      
      LayoutTests: 
      
      * fast/js/regexp-non-greedy-parentheses-expected.txt: Added.
      * fast/js/regexp-non-greedy-parentheses.html: Added.
      * fast/js/script-tests/regexp-non-greedy-parentheses.js: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@59766 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a3e99255
    • barraclough@apple.com's avatar
      Bug 39343 - Dynamically generate a native call thunk per NativeFunction · 8cc46690
      barraclough@apple.com authored
              
      Reviewed by Geoff Garen.
      
      https://bugs.webkit.org/show_bug.cgi?id=39252 regressed performance on i386,
      by adding an extra indirection to making a native call.  By introducing per-
      NativeFunction thunks we can hard code the function pointer into the thunk
      so that it need not be loaded from the callee.
      
      * jit/JIT.h:
      (JSC::JIT::compileCTINativeCall):
      * jit/JITOpcodes.cpp:
      (JSC::JIT::privateCompileCTINativeCall):
      * jit/JITOpcodes32_64.cpp:
      (JSC::JIT::privateCompileCTINativeCall):
      * jit/JITPropertyAccess.cpp:
      (JSC::JIT::emitSlow_op_get_by_val):
      * jit/JITPropertyAccess32_64.cpp:
      (JSC::JIT::emitSlow_op_get_by_val):
      * jit/JITStubs.cpp:
      (JSC::JITThunks::ctiStub):
      (JSC::JITThunks::hostFunctionStub):
      * jit/JITStubs.h:
      * jit/SpecializedThunkJIT.h:
      (JSC::SpecializedThunkJIT::finalize):
      * jit/ThunkGenerators.cpp:
      (JSC::charCodeAtThunkGenerator):
      (JSC::charAtThunkGenerator):
      (JSC::fromCharCodeThunkGenerator):
      (JSC::sqrtThunkGenerator):
      (JSC::powThunkGenerator):
      * runtime/JSFunction.cpp:
      (JSC::JSFunction::JSFunction):
      * runtime/JSGlobalData.cpp:
      (JSC::JSGlobalData::getHostFunction):
      * runtime/JSGlobalData.h:
      (JSC::JSGlobalData::getCTIStub):
      * runtime/Lookup.cpp:
      (JSC::setUpStaticFunctionSlot):
      * runtime/StringConstructor.cpp:
      (JSC::StringConstructor::StringConstructor):
      * wtf/Platform.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@59746 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8cc46690
  3. 18 May, 2010 4 commits
    • ggaren@apple.com's avatar
      JavaScriptCore: Simplified handling of 'arguments' -- 1.2% SunSpider speedup · 83ce11ca
      ggaren@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=39200
              
      Reviewed by Darin Adler.
      
      Removed the reserved OptionalCalleeArguments slot from the CallFrame.
      Now, slots for 'arguments' are allocated and initialized only by
      functions that might need them.
              
      * bytecode/CodeBlock.cpp:
      (JSC::CodeBlock::dump): Updated for new bytecode operands.
      
      (JSC::CodeBlock::CodeBlock):
      * bytecode/CodeBlock.h:
      (JSC::unmodifiedArgumentsRegister): Added a helper function for mapping
      from the arguments register to its unmodified counterpart.
      
      (JSC::CodeBlock::setArgumentsRegister):
      (JSC::CodeBlock::argumentsRegister):
      (JSC::CodeBlock::usesArguments):  Changed from a "usesArguments" bool to
      an optional int index representing the arguments register.
      
      * bytecode/Opcode.h: Updated for new bytecode operands.
      
      * bytecompiler/BytecodeGenerator.cpp:
      (JSC::BytecodeGenerator::addVar): Factored out a helper function for
      allocating an anonymous var.
      
      (JSC::BytecodeGenerator::BytecodeGenerator): Merged / simplified some
      arguments vs activation logic, and added code to allocate the arguments
      registers when needed.
      
      (JSC::BytecodeGenerator::createArgumentsIfNecessary): Updated for new bytecode operands.
      
      (JSC::BytecodeGenerator::emitCallEval): No need to create the arguments
      object before calling eval; the activation object will lazily create the
      arguments object if eval resolves it.
      
      (JSC::BytecodeGenerator::emitReturn): Updated for new bytecode operands.
      
      (JSC::BytecodeGenerator::emitPushScope):
      (JSC::BytecodeGenerator::emitPushNewScope): Ditto emitCallEval.
      
      * bytecompiler/BytecodeGenerator.h:
      (JSC::BytecodeGenerator::addVar): Factored out a helper function for
      allocating an anonymous var.
      
      (JSC::BytecodeGenerator::registerFor): No more need for special handling
      of the arguments registers; they're allocated just like normal registers
      now.
      
      * interpreter/CallFrame.h:
      (JSC::ExecState::callerFrame):
      (JSC::ExecState::init):
      * interpreter/CallFrameClosure.h:
      (JSC::CallFrameClosure::resetCallFrame): Nixed optionalCalleeArguments.
      
      * interpreter/Interpreter.cpp:
      (JSC::Interpreter::dumpRegisters):
      (JSC::Interpreter::unwindCallFrame):
      (JSC::Interpreter::privateExecute):
      (JSC::Interpreter::retrieveArguments): Opcodes accessing 'arguments' now
      take operands specifying registers, just like all other opcodes.
      JSActivation::copyRegisters is no longer responsible for tearing off the
      arguments object; instead, the VM is responsible for both.
      
      Also, a behavior change: Each access to f.arguments creates a new object,
      unless f itself uses 'arguments'. This matches Chrome, and is necessary
      for the optimization. f.arguments is a nonstandard, deprecated feature,
      so high fidelity to a given implementation is not necessarily a goal.
      Also, as illustrated by the new test case, the identity of f.arguments
      has been broken since 2008, except in the case where f itself accesses
      f.arguments -- but nobody seemed to notice. So, hopefully this change won't
      break the web.
              
      * interpreter/Register.h: Nixed the special arguments accessor. It's no
      longer needed.
      
      * interpreter/RegisterFile.h:
      (JSC::RegisterFile::):
      * jit/JITCall.cpp:
      (JSC::JIT::compileOpCallInitializeCallFrame):
      (JSC::JIT::compileOpCall):
      * jit/JITOpcodes.cpp:
      (JSC::JIT::emit_op_tear_off_activation):
      (JSC::JIT::emit_op_tear_off_arguments):
      (JSC::JIT::emit_op_create_arguments):
      (JSC::JIT::emit_op_init_arguments):
      * jit/JITOpcodes32_64.cpp:
      (JSC::JIT::emit_op_tear_off_activation):
      (JSC::JIT::emit_op_tear_off_arguments):
      (JSC::JIT::emit_op_create_arguments):
      (JSC::JIT::emit_op_init_arguments): The actual optimization: Removed
      OptionalCalleeArguments from the callframe slot. Now, it doesn't need
      to be initialized for most calls.
      
      * jit/JITStubs.cpp:
      (JSC::DEFINE_STUB_FUNCTION):
      * jit/JITStubs.h:
      (JSC::): Updated stubs to support arbitrary 'arguments' registers,
      instead of hard-coding something in the call frame.
      
      * runtime/Arguments.h:
      (JSC::JSActivation::copyRegisters): Removed some obfuscatory abstraction.
      
      * runtime/Executable.h:
      (JSC::FunctionExecutable::generatedByteCode): Added a helper for accessing
      the 'arguments' register. In a future patch, that kind of data should
      probably move out of CodeBlock and into Executable.
      
      * runtime/JSActivation.cpp:
      (JSC::JSActivation::getOwnPropertySlot):
      (JSC::JSActivation::argumentsGetter):
      * runtime/JSActivation.h: Simplified / fixed access to 'arguments' via
      the activation object. It now implements the same behavior implemented
      by optimized variable access in the VM. This simplifies some other
      things, too -- like eval code generation.
      
      LayoutTests: Simplified handling of 'arguments' -- 1.2% SunSpider speedup
      https://bugs.webkit.org/show_bug.cgi?id=39200
      
      Reviewed by Darin Adler.
      
      * fast/js/function-dot-arguments-expected.txt:
      * fast/js/script-tests/function-dot-arguments.js:
      (argumentsIdentity): Updated to match new behavior.
      
      * fast/js/function-dot-arguments2-expected.txt:
      * fast/js/function-dot-arguments2.html: New tests for some things that
      weren't covered before.
      
      * fast/js/global-recursion-on-full-stack.html: Rejiggered the stack
      usage in this test. Since stack usage is more efficient now, you
      need a slightly different usage pattern to hit the exact thing this
      test wanted to test.
      
      * fast/js/kde/script-tests/function_arguments.js:
      (f): Updated to more specifically test what this was trying to test,
      to avoid just testing the identity of f.arguments.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@59742 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      83ce11ca
    • weinig@apple.com's avatar
      Try to fix the windows build. · 3bbebb75
      weinig@apple.com authored
      * API/JSStringRefBSTR.cpp:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@59685 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3bbebb75
    • andersca@apple.com's avatar
      2010-05-18 Anders Carlsson <andersca@apple.com> · 998f2291
      andersca@apple.com authored
              Reviewed by Sam Weinig.
      
              Add an inlineCapacity template parameter to ListHashSet and use it to shrink the positioned object list hash set.
              https://bugs.webkit.org/show_bug.cgi?id=39304
              <rdar://problem/7998366>
      
              Add an inlineCapacity template parameter to ListHashSet.
      
              * wtf/ListHashSet.h:
              (WTF::::ListHashSet):
              (WTF::::operator):
              (WTF::::swap):
              (WTF::::~ListHashSet):
              (WTF::::size):
              (WTF::::capacity):
              (WTF::::isEmpty):
              (WTF::::begin):
              (WTF::::end):
              (WTF::::find):
              (WTF::::contains):
              (WTF::::add):
              (WTF::::insertBefore):
              (WTF::::remove):
              (WTF::::clear):
              (WTF::::unlinkAndDelete):
              (WTF::::appendNode):
              (WTF::::insertNodeBefore):
              (WTF::::deleteAllNodes):
              (WTF::::makeIterator):
              (WTF::::makeConstIterator):
              (WTF::deleteAllValues):
      2010-05-18  Anders Carlsson  <andersca@apple.com>
      
              Reviewed by Sam Weinig.
      
              Add an inlineCapacity template parameter to ListHashSet and use it to shrink the positioned object list hash set.
              https://bugs.webkit.org/show_bug.cgi?id=39304
              <rdar://problem/7998366>
      
              Set the inlineCapacity for the positionedObjects ListHashSet to 4 instead of 256. Since a RenderBlock usually has 
              few positioned objects, this saves memory.
      
              * WebCore.base.exp:
              * rendering/RenderBlock.cpp:
              (WebCore::clipOutPositionedObjects):
              (WebCore::RenderBlock::insertPositionedObject):
              * rendering/RenderBlock.h:
              (WebCore::RenderBlock::positionedObjects):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@59678 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      998f2291
    • loki@webkit.org's avatar
      Fix the interpreter after r59637 · 750cb137
      loki@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=39287
      
      Reviewed by Darin Adler.
      
      * runtime/Executable.h:
      * runtime/JSFunction.cpp:
      (JSC::JSFunction::JSFunction):
      (JSC::JSFunction::getCallData):
      * runtime/JSGlobalData.cpp:
      * runtime/JSGlobalData.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@59676 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      750cb137
  4. 17 May, 2010 3 commits
    • barraclough@apple.com's avatar
      Oops, meant ebx not eax there. Fix Qt (and probably Win too). · 7a36bb4c
      barraclough@apple.com authored
      Reviewed by Geoff Garen.
      
      * jit/JITOpcodes32_64.cpp:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@59642 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7a36bb4c
    • barraclough@apple.com's avatar
      Bug 39252 - Move host/native JSFunction's NativeFunction onto NativeExecutable. · bf6c8bad
      barraclough@apple.com authored
      Reviewed by Geoff Garen.
      
      Currently host functions reuse JSFunction's ScopeChain as storage for their
      NativeFunction (the C function pointer to the host function implementation).
      Instead, move this onto NativeExecutable.  This will allow host functions to
      have a scopechain (which will be implemented as a separate patch).
      
      * JavaScriptCore.xcodeproj/project.pbxproj:
      * jit/JIT.h:
      * jit/JITCall.cpp:
      (JSC::JIT::compileOpCallInitializeCallFrame):
      (JSC::JIT::compileOpCall):
      * jit/JITOpcodes.cpp:
      (JSC::JIT::privateCompileCTIMachineTrampolines):
      * jit/JITOpcodes32_64.cpp:
      * jit/JITPropertyAccess.cpp:
      (JSC::JIT::stringGetByValStubGenerator):
      (JSC::JIT::emitSlow_op_get_by_val):
      * jit/JITPropertyAccess32_64.cpp:
      (JSC::JIT::stringGetByValStubGenerator):
      (JSC::JIT::emitSlow_op_get_by_val):
      * jit/JITStubs.cpp:
      (JSC::JITThunks::specializedThunk):
      * jit/JITStubs.h:
      (JSC::JITThunks::ctiNativeCall):
      * jit/SpecializedThunkJIT.h:
      (JSC::SpecializedThunkJIT::finalize):
      * jit/ThunkGenerators.cpp:
      (JSC::charCodeAtThunkGenerator):
      (JSC::charAtThunkGenerator):
      (JSC::fromCharCodeThunkGenerator):
      (JSC::sqrtThunkGenerator):
      (JSC::powThunkGenerator):
      * jit/ThunkGenerators.h:
      * runtime/Executable.h:
      (JSC::NativeExecutable::create):
      (JSC::NativeExecutable::function):
      (JSC::NativeExecutable::NativeExecutable):
      (JSC::JSFunction::nativeFunction):
      * runtime/JSFunction.cpp:
      (JSC::JSFunction::JSFunction):
      (JSC::JSFunction::~JSFunction):
      (JSC::JSFunction::markChildren):
      (JSC::JSFunction::getCallData):
      (JSC::JSFunction::call):
      (JSC::JSFunction::getOwnPropertySlot):
      (JSC::JSFunction::getConstructData):
      (JSC::JSFunction::construct):
      * runtime/JSFunction.h:
      (JSC::JSFunction::scope):
      * runtime/JSGlobalData.h:
      (JSC::JSGlobalData::getThunk):
      * runtime/Lookup.cpp:
      (JSC::setUpStaticFunctionSlot):
      * runtime/StringConstructor.cpp:
      (JSC::StringConstructor::StringConstructor):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@59637 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      bf6c8bad
    • eric@webkit.org's avatar
      2010-05-17 Patrick Gansterer <paroga@paroga.com> · f5b82490
      eric@webkit.org authored
              Reviewed by Laszlo Gombos.
      
              [Qt] Remove WinCE endian dedection.
              https://bugs.webkit.org/show_bug.cgi?id=38511
      
              Windows CE supports little-endian format only.
              Correct dedection was added in r57804.
      
              * wtf/Platform.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@59600 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f5b82490
  5. 16 May, 2010 1 commit
  6. 15 May, 2010 6 commits
  7. 14 May, 2010 4 commits
  8. 13 May, 2010 2 commits
    • mjs@apple.com's avatar
      No review, attempted build fix. · 25f059e3
      mjs@apple.com authored
      Try to fix Tiger build with some gratuitous initialization of
      seemingly uninitialized variables.
      
      * wtf/text/StringImpl.h:
      (WebCore::StringImpl::tryCreateUninitialized):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@59358 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      25f059e3
    • mjs@apple.com's avatar
      2010-05-13 Maciej Stachowiak <mjs@apple.com> · 88e2ff72
      mjs@apple.com authored
              Reviewed by Mark Rowe.
      
              Various JavaScript string optimizations
              https://bugs.webkit.org/show_bug.cgi?id=39051
      
              Approximately 1% SunSpider speedup.
              
              * runtime/ArrayPrototype.cpp:
              (JSC::arrayProtoFuncJoin): Remove branches from the hot code path
              by moving the first pass outside the loop, and duplicating the hot loop
              to extract the loop-invariant branch.
              * runtime/RegExp.cpp:
              (JSC::RegExp::match): resize ovector to 0 instead of clearing to avoid
              thrash in case of large matches.
              * runtime/RegExpConstructor.h:
              (JSC::RegExpConstructor::performMatch): Mark ALWAYS_INLINE to make the
              compiler respect our authority.
              * runtime/StringPrototype.cpp:
              (JSC::jsSpliceSubstringsWithSeparators): Inline.
              (JSC::stringProtoFuncSubstring): Rewrite boundary condition checks to
              reduce the number of floating point comparisons and branches.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@59355 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      88e2ff72
  9. 12 May, 2010 4 commits
    • barraclough@apple.com's avatar
      https://bugs.webkit.org/show_bug.cgi?id=39039 · 83c4e8c4
      barraclough@apple.com authored
      Provide support for separate bytecode/JIT code translations for call/construct usage
      This will allow us to produce code generated specifically for use as a constructor, not for general function use.
      
      Reviewed by Oliver Hunt.
      
      * bytecode/CodeBlock.cpp:
      (JSC::CodeBlock::CodeBlock):
      (JSC::CodeBlock::unlinkCallers):
      * bytecode/CodeBlock.h:
      (JSC::CodeBlock::getBytecodeIndex):
      (JSC::CodeBlock::getJITCode):
      (JSC::CodeBlock::executablePool):
      (JSC::GlobalCodeBlock::GlobalCodeBlock):
      (JSC::FunctionCodeBlock::FunctionCodeBlock):
      * interpreter/Interpreter.cpp:
      (JSC::Interpreter::executeCall):
      (JSC::Interpreter::executeConstruct):
      (JSC::Interpreter::prepareForRepeatCall):
      (JSC::Interpreter::execute):
      (JSC::Interpreter::privateExecute):
      * interpreter/Interpreter.h:
      * jit/JIT.cpp:
      (JSC::JIT::unlinkCallOrConstruct):
      (JSC::JIT::linkConstruct):
      * jit/JIT.h:
      * jit/JITCall.cpp:
      (JSC::JIT::compileOpCall):
      (JSC::JIT::compileOpCallSlowCase):
      * jit/JITOpcodes.cpp:
      (JSC::JIT::privateCompileCTIMachineTrampolines):
      * jit/JITOpcodes32_64.cpp:
      (JSC::JIT::privateCompileCTIMachineTrampolines):
      * jit/JITPropertyAccess.cpp:
      (JSC::JIT::emitSlow_op_get_by_val):
      * jit/JITPropertyAccess32_64.cpp:
      (JSC::JIT::emitSlow_op_get_by_val):
      * jit/JITStubs.cpp:
      (JSC::DEFINE_STUB_FUNCTION):
      * jit/JITStubs.h:
      (JSC::JITThunks::ctiVirtualConstructLink):
      (JSC::JITThunks::ctiVirtualConstruct):
      (JSC::):
      * jit/SpecializedThunkJIT.h:
      (JSC::SpecializedThunkJIT::finalize):
      * runtime/Arguments.h:
      (JSC::JSActivation::copyRegisters):
      * runtime/ArrayPrototype.cpp:
      (JSC::isNumericCompareFunction):
      * runtime/Executable.cpp:
      (JSC::FunctionExecutable::~FunctionExecutable):
      (JSC::FunctionExecutable::compileForCall):
      (JSC::FunctionExecutable::compileForConstruct):
      (JSC::EvalExecutable::generateJITCode):
      (JSC::ProgramExecutable::generateJITCode):
      (JSC::FunctionExecutable::generateJITCodeForCall):
      (JSC::FunctionExecutable::generateJITCodeForConstruct):
      (JSC::FunctionExecutable::markAggregate):
      (JSC::FunctionExecutable::reparseExceptionInfo):
      (JSC::EvalExecutable::reparseExceptionInfo):
      (JSC::FunctionExecutable::recompile):
      * runtime/Executable.h:
      (JSC::ExecutableBase::ExecutableBase):
      (JSC::ExecutableBase::isHostFunction):
      (JSC::ExecutableBase::generatedJITCodeForCall):
      (JSC::ExecutableBase::generatedJITCodeForConstruct):
      (JSC::NativeExecutable::NativeExecutable):
      (JSC::EvalExecutable::jitCode):
      (JSC::ProgramExecutable::jitCode):
      (JSC::FunctionExecutable::bytecodeForCall):
      (JSC::FunctionExecutable::isGeneratedForCall):
      (JSC::FunctionExecutable::generatedBytecodeForCall):
      (JSC::FunctionExecutable::bytecodeForConstruct):
      (JSC::FunctionExecutable::isGeneratedForConstruct):
      (JSC::FunctionExecutable::generatedBytecodeForConstruct):
      (JSC::FunctionExecutable::symbolTable):
      (JSC::FunctionExecutable::FunctionExecutable):
      (JSC::FunctionExecutable::jitCodeForCall):
      (JSC::FunctionExecutable::jitCodeForConstruct):
      * runtime/JSActivation.h:
      (JSC::JSActivation::JSActivationData::JSActivationData):
      * runtime/JSFunction.cpp:
      (JSC::JSFunction::~JSFunction):
      (JSC::JSFunction::call):
      (JSC::JSFunction::construct):
      * runtime/JSGlobalData.cpp:
      (JSC::JSGlobalData::numericCompareFunction):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@59339 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      83c4e8c4
    • oliver@apple.com's avatar
      Build fix · e881e6f0
      oliver@apple.com authored
      <rdar://problem/7977960> REGRESSION (r59282): Tiger PPC build broken
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@59337 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e881e6f0
    • oliver@apple.com's avatar
      2010-05-12 Oliver Hunt <oliver@apple.com> · e5ef7a00
      oliver@apple.com authored
              Reviewed by Gavin Barraclough.
      
              <rdar://7969718> Incorrect 32-bit codegen for op_jnlesseq
              https://bugs.webkit.org/show_bug.cgi?id=39038
      
              Correct the use of incorrect comparison operators.
      
              * jit/JITArithmetic32_64.cpp:
              (JSC::JIT::emit_op_jlesseq):
              (JSC::JIT::emitBinaryDoubleOp):
      2010-05-12  Oliver Hunt  <oliver@apple.com>
      
              Reviewed by Gavin Barraclough.
      
              <rdar://7969718> Incorrect 32-bit codegen for op_jnlesseq
              https://bugs.webkit.org/show_bug.cgi?id=39038
      
              Add more tests for <=, <, >, and >=.
      
              * fast/js/comparison-operators-greater-expected.txt:
              * fast/js/comparison-operators-less-expected.txt:
              * fast/js/script-tests/comparison-operators-greater.js:
              * fast/js/script-tests/comparison-operators-less.js:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@59336 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e5ef7a00
    • eric@webkit.org's avatar
      2010-05-12 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org> · 508d5900
      eric@webkit.org authored
              Reviewed by Eric Seidel.
      
              JavaScriptCore: fix build when some optimizations are disabled
              https://bugs.webkit.org/show_bug.cgi?id=38800
      
              Remove outdated UNUSED_PARAMs when using JIT but with
              ENABLE_JIT_OPTIMIZE_CALL and ENABLE_JIT_OPTIMIZE_PROPERTY_ACCESS
              disabled.
      
              * jit/JITOpcodes.cpp:
              * jit/JITOpcodes32_64.cpp:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@59334 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      508d5900