Ignore:
Timestamp:
Jul 14, 2006, 3:39:58 PM (19 years ago)
Author:
ggaren
Message:

JavaScriptCore:

Reviewed by Maciej.


  • Implemented ref-counting of JSContexts by splitting into two datatypes: JSGlobalContext, which you can create/retain/release, and JSContext, which you can't.


Internally, you retain a JSGlobalContext/ExecState by retaining its
interpreter, which, in the case of a global ExecState, owns it.


  • Also made ~Interpreter() protected to catch places where Interpreter is manually deleted. (Can't make it private because some crazy fool decided it would be a good idea to subclass Interpreter in other frameworks. I pity da fool.)
  • API/APICast.h: (toJS): Added cast for new JSGlobalContext
  • API/JSStringRef.h: Changed vague "you must" language to more specific (but, ultimately, equally vague) "behavior is undefined if you don't" language. (KJS::Interpreter::Interpreter): Factored more common initialization into init()
  • kjs/interpreter.h: (KJS::Interpreter::ref): new (KJS::Interpreter::deref): new (KJS::Interpreter::refCount): new
  • kjs/testkjs.cpp: (doIt): Ref-count the interpreter.

JavaScriptGlue:

Reviewed by Maciej.


  • Updated JSInterpreter to work with Interpreter ref-counting in JavaScriptCore.

(JSInterpreter::JSInterpreter::~JSInterpreter): Now protected to catch
manual delete.

WebCore:

Reviewed by Maciej.

  • Updated ScriptInterpreter to work with Interpreter ref-counting in JavaScriptCore.

(KJS::ScriptInterpreter::~ScriptInterpreter): Now protected to catch
manual delete.

File:
1 edited

Legend:

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

    r15400 r15437  
    111111@param string The source JSString.
    112112@param buffer The destination byte buffer into which to copy a null-terminated
    113  UTF8 string representation of string. The buffer must be at least bufferSize
    114  bytes in size. On return, buffer contains a UTF8 string representation of string.
    115  If bufferSize is too small, buffer will contain only partial results.
     113 UTF8 representation of string. On return, buffer contains a UTF8 string
     114 representation of string. If bufferSize is too small, buffer will contain only
     115 partial results. If buffer is not at least bufferSize bytes in size,
     116 behavior is undefined.
    116117@param bufferSize The size of the external buffer in bytes.
    117118@result The number of bytes written into buffer (including the null-terminator byte).
Note: See TracChangeset for help on using the changeset viewer.