Ignore:
Timestamp:
Oct 5, 2011, 9:52:16 AM (14 years ago)
Author:
[email protected]
Message:

Removed JSValue::toJSNumber
https://bugs.webkit.org/show_bug.cgi?id=69399

No perf. change.

toJSNumber() used to provide an implicit fast path for immediate numbers,
but those fast paths are all explicit now, so it's just cruft.

  • interpreter/Interpreter.cpp:

(JSC::Interpreter::privateExecute):

  • jit/JITStubs.cpp:

(JSC::DEFINE_STUB_FUNCTION):

  • runtime/JSValue.h:
  • runtime/JSValueInlineMethods.h:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/jit/JITStubs.cpp

    r96677 r96717  
    30503050    CallFrame* callFrame = stackFrame.callFrame;
    30513051
    3052     JSValue number = v.toJSNumber(callFrame);
    3053     CHECK_FOR_EXCEPTION_AT_END();
    3054 
    3055     callFrame->registers()[stackFrame.args[1].int32()] = jsNumber(number.asNumber() + 1);
    3056     return JSValue::encode(number);
     3052    double number = v.toNumber(callFrame);
     3053    CHECK_FOR_EXCEPTION_AT_END();
     3054
     3055    callFrame->registers()[stackFrame.args[1].int32()] = jsNumber(number + 1);
     3056    return JSValue::encode(jsNumber(number));
    30573057}
    30583058
     
    33493349    CallFrame* callFrame = stackFrame.callFrame;
    33503350
    3351     JSValue number = v.toJSNumber(callFrame);
    3352     CHECK_FOR_EXCEPTION_AT_END();
    3353 
    3354     callFrame->registers()[stackFrame.args[1].int32()] = jsNumber(number.asNumber() - 1);
    3355     return JSValue::encode(number);
     3351    double number = v.toNumber(callFrame);
     3352    CHECK_FOR_EXCEPTION_AT_END();
     3353
     3354    callFrame->registers()[stackFrame.args[1].int32()] = jsNumber(number - 1);
     3355    return JSValue::encode(jsNumber(number));
    33563356}
    33573357
     
    35833583    CallFrame* callFrame = stackFrame.callFrame;
    35843584
    3585     JSValue result = src.toJSNumber(callFrame);
    3586     CHECK_FOR_EXCEPTION_AT_END();
    3587     return JSValue::encode(result);
     3585    double number = src.toNumber(callFrame);
     3586    CHECK_FOR_EXCEPTION_AT_END();
     3587    return JSValue::encode(jsNumber(number));
    35883588}
    35893589
Note: See TracChangeset for help on using the changeset viewer.