Changeset 34659 in webkit for trunk/JavaScriptCore/kjs/nodes.cpp


Ignore:
Timestamp:
Jun 19, 2008, 10:29:29 AM (17 years ago)
Author:
[email protected]
Message:

Reviewed by Darin.

Prepare JavaScript heap for being per-thread.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/kjs/nodes.cpp

    r34620 r34659  
    196196RegisterID* Node::emitThrowError(CodeGenerator& generator, ErrorType e, const char* msg)
    197197{
    198     RegisterID* exception = generator.emitNewError(generator.newTemporary(), e, jsString(msg));
     198    RegisterID* exception = generator.emitNewError(generator.newTemporary(), e, jsString(generator.globalExec(), msg));
    199199    generator.emitThrow(exception);
    200200    return exception;
     
    205205    UString message = msg;
    206206    substitute(message, label.ustring());
    207     RegisterID* exception = generator.emitNewError(generator.newTemporary(), e, jsString(message));
     207    RegisterID* exception = generator.emitNewError(generator.newTemporary(), e, jsString(generator.globalExec(), message));
    208208    generator.emitThrow(exception);
    209209    return exception;
     
    273273{
    274274    // FIXME: should we try to atomize constant strings?
    275     return generator.emitLoad(generator.finalDestination(dst), jsOwnedString(m_value));
     275    return generator.emitLoad(generator.finalDestination(dst), jsOwnedString(generator.globalExec(), m_value));
    276276}
    277277
     
    322322    }
    323323
    324     value = generator.emitLoad(generator.newTemporary(), jsNumber(m_elision + length));
     324    value = generator.emitLoad(generator.newTemporary(), jsNumber(generator.globalExec(), m_elision + length));
    325325    generator.emitPutById(newArray.get(), generator.propertyNames().length, value);
    326326
     
    16931693JSFunction* FuncDeclNode::makeFunction(ExecState* exec, ScopeChainNode* scopeChain)
    16941694{
    1695     JSFunction* func = new JSFunction(exec, m_ident, m_body.get(), scopeChain);
     1695    JSFunction* func = new (exec) JSFunction(exec, m_ident, m_body.get(), scopeChain);
    16961696
    16971697    JSObject* proto = exec->lexicalGlobalObject()->objectConstructor()->construct(exec, exec->emptyList());
    16981698    proto->putDirect(exec->propertyNames().constructor, func, DontEnum);
    16991699    func->putDirect(exec->propertyNames().prototype, proto, DontDelete);
    1700     func->putDirect(exec->propertyNames().length, jsNumber(m_body->parameters().size()), ReadOnly | DontDelete | DontEnum);
     1700    func->putDirect(exec->propertyNames().length, jsNumber(exec, m_body->parameters().size()), ReadOnly | DontDelete | DontEnum);
    17011701    return func;
    17021702}
     
    17161716JSFunction* FuncExprNode::makeFunction(ExecState* exec, ScopeChainNode* scopeChain)
    17171717{
    1718     JSFunction* func = new JSFunction(exec, m_ident, m_body.get(), scopeChain);
     1718    JSFunction* func = new (exec) JSFunction(exec, m_ident, m_body.get(), scopeChain);
    17191719    JSObject* proto = exec->lexicalGlobalObject()->objectConstructor()->construct(exec, exec->emptyList());
    17201720    proto->putDirect(exec->propertyNames().constructor, func, DontEnum);
     
    17301730
    17311731    if (!m_ident.isNull()) {
    1732         JSObject* functionScopeObject = new JSObject;
     1732        JSObject* functionScopeObject = new (exec) JSObject;
    17331733        functionScopeObject->putDirect(m_ident, func, ReadOnly | DontDelete);
    17341734        func->scope().push(functionScopeObject);
Note: See TracChangeset for help on using the changeset viewer.