Ignore:
Timestamp:
Jul 22, 2008, 10:10:05 PM (17 years ago)
Author:
[email protected]
Message:

JavaScriptCore:

2008-07-22 Geoffrey Garen <[email protected]>

Reviewed by Oliver Hunt and Sam Weinig.

Next step toward putting doubles in registers: Prepare the Register class
and its clients for registers that don't contain JSValue*s.


This means a few things:


  1. Register::jsValue() clients, including ArgList clients, must now supply an ExecState* when accessing an entry in an ArgList, in case the entry will need to create a JSValue* on the fly.


  1. Register clients that definitely don't want to create a JSValue* on the fly now use different APIs: getJSValue() for clients that know the register contains a JSValue*, and v() for clients who just want a void*.


  1. I had to change some headers around in order to resolve dependency problems created by using a Register in the ArgList header.


SunSpider reports no change.

JavaScriptGlue:

2008-07-22 Geoffrey Garen <[email protected]>

Reviewed by Oliver Hunt and Sam Weinig.

Next step toward putting doubles in registers: Prepare the Register class
and its clients for registers that don't contain JSValue*s.

WebCore:

2008-07-22 Geoffrey Garen <[email protected]>

Reviewed by Oliver Hunt and Sam Weinig.

Next step toward putting doubles in registers: Prepare the Register class
and its clients for registers that don't contain JSValue*s.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/API/JSCallbackObjectFunctions.h

    r35242 r35291  
    262262            Vector<JSValueRef, 16> arguments(argumentCount);
    263263            for (int i = 0; i < argumentCount; i++)
    264                 arguments[i] = toRef(args[i]);
     264                arguments[i] = toRef(args.at(exec, i));
    265265            JSLock::DropAllLocks dropAllLocks(exec);
    266266            return toJS(callAsConstructor(execRef, constructorRef, argumentCount, arguments.data(), toRef(exec->exceptionSlot())));
     
    322322            Vector<JSValueRef, 16> arguments(argumentCount);
    323323            for (int i = 0; i < argumentCount; i++)
    324                 arguments[i] = toRef(args[i]);
     324                arguments[i] = toRef(args.at(exec, i));
    325325            JSLock::DropAllLocks dropAllLocks(exec);
    326326            return toJS(callAsFunction(execRef, functionRef, thisObjRef, argumentCount, arguments.data(), toRef(exec->exceptionSlot())));
Note: See TracChangeset for help on using the changeset viewer.