| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
Winscw gets very confused when the name of an enum value is the same as
the name of an entire namespace, JSC in this case. Renaming the enum
value to JavaScriptCore fixes this.
Rubber-stamped-by: Kent
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch remove the 'fake' context that appears in the debugger
backtrace when there is a break point in the global context.
This problem never appeared in the tests because the
QScriptContext::backtrace has always at least two items in the backtrace
as it needs the native 'bt' function to be called.
Changed QScriptEnginePrivate::contextForFrame to skip the fake frame
(instead of QScriptContext::parentContext). So we never have a QScriptContext
pointing to that frame.
The changes in QScriptContextInfo are for retreiving the right filename
information for the global context when the global context is on top.
Reviewed-by: Kent Hansen
|
|
|
|
| |
Reviewed-by: Trust Me
|
|
|
|
|
|
|
|
| |
Get rid of QPointer.
Use linked list of privates (like was recently done for QScriptValue).
Allocate the private on the stack when we can.
Reviewed-by: Olivier Goffart
|
|
|
|
| |
That's the last of them... for now.
|
|
|
|
|
|
|
| |
Do not convert JSC::Identifier to QString to convert it later to
JSC::Identivier again
Reviewed-by: Kent Hansen
|
|
|
|
| |
Reviewed-by: Trust Me
|
|
|
|
|
|
| |
Currently there are some differences in behavior and availability
of information between the interpreter and the JIT. This is now
documented as expected failures in the relevant autotests.
|
|
|
|
|
|
|
| |
JIT does create stackframe while the interperer doesn't.
So we would end up with one superflous stackframe
Reviewed-by: Kent Hansen
|
|
|
|
| |
"*/ outside of comment"
|
|
|
|
|
|
|
|
| |
QScriptValuePrivate released by garbage collector later in
~QScriptEnginePrivate (when destroying the agents) would be
added to the freelist and not be released
Reviewed-by: Kent Hansen
|
|
|
|
|
|
|
| |
The documentation of the agent constructor specify that the agant is
owned by the engine. Even if the agent is not set to the engine
Reviewed-by: Kent Hansen
|
|
|
|
|
|
|
| |
Do not reset the delegate and the prototype when reusing existing
wrapper.
Reviewed-by: Kent Hansen
|
|
|
|
| |
Make it faster.
|
|
|
|
| |
Just a little cleanup.
|
|
|
|
|
|
|
|
|
| |
Avoid calling malloc() and free() so often. The premise is that
QScriptValue is usually a short-lived type, and only a few QScriptValues
exist at a time, so if we cache privates in the engine, QScriptValues
will be much faster to create and destroy.
Reviewed-by: Olivier Goffart
|
|
|
|
| |
Reviewed-by: Trust Me
|
| |
|
|
|
|
| |
It's faster.
|
|
|
|
| |
Get rid of the hash.
|
|
|
|
|
| |
It's the d-pointer that we most frequently want to access, so store it
to avoid having to use QScriptEnginePrivate::get() all over the place.
|
|
|
|
|
| |
For the innermost frame, we don't have a returnPC, so use the line
number that was last passed to the engine agent.
|
|
|
|
|
| |
It needs to work even when there is no public QScriptValue that
holds a reference to the object.
|
|
|
|
| |
It is a POD with the size of a pointer
|
|
|
|
|
| |
Remove useless variable.
Use QBoolBlocker instread of custom QScript::InEval.
|
|
|
|
|
|
|
| |
QScriptValue id were made persistent. It depands
on JSC:JSValue JSCell pointer not on QScriptValuePrivate attr.
Reviewed-by: Kent Hansen
|
|
|
|
|
|
| |
Since QScriptEngine::evaluate() doesn't create a new stack frame
anymore, we need to use a dedicated variable to keep track of
whether the engine is currently evaluating or not.
|
|
|
|
|
|
| |
Static method QScriptValue::initFromJSCValue was removed.
Reviewed-by: Kent Hansen
|
|
|
|
|
|
|
|
|
| |
Internal API of QScriptValue were cleaned. toPublic() was
removed and replaced by standard static Private::get().
All initFromXXX() methods were replaced by overload call
of initFrom().
Reviewed-by: Kent Hansen
|
|
|
|
| |
The engine owns its agents, and also knows when they are deleted.
|
|
|
|
|
|
|
| |
Get rid of conversion functions QScript::qtStringFromJSCUString and
QScript::qtStringToJSCUString. Code was moved to cast operators.
Reviewed-by: Kent Hansen
|
| |
|
|
|
|
|
| |
No need to look up the global object via the scope chain since we have
a direct pointer to it already.
|
|
|
|
|
|
| |
In WebKit/JSC config.h needs to be included first in .cpp files, to among
other things make sure that min/max are not defined as macros through
windows.h.
|
|
|
|
|
| |
Use the JSC_HOST_CALL annotation for the declaration as well as for the
definition of the JSC callback functions.
|
|
|
|
|
|
|
|
|
|
|
| |
We can store flags on the ReturnValueRegister entry in the stackframe
header (as native function don't use that)
Then when requesting an activation object we can lookup the flags to
know if we should create it.
This reduce a lot the cost of a native call.
Reviewed-by: Kent Hansen
|
| |
|
|
|
|
|
|
|
| |
When called from the interpreter, we do not need to create a stack
frame, but we need anyway to put the newly created this on the stack.
This fixes crash in the test qscriptjstestsuite
|
|
|
|
|
|
|
|
| |
doesn't construct.
Removes code duplication.
This also indirrectly fixes the QMetaObjectWrapperObject where this was missing
|
|
|
|
|
|
|
|
|
|
| |
The original JavaScriptCore doesn't create stack frame or scope for
native function.
JSC has been patched to support that.
This commit revert our patches to JSC, and implement create the stack
frame from QScript
Reviewed-by: Kent Hansen
|
|
|
|
|
|
|
| |
QSCriptEngine::evaluate()
Fix broken behavior after bad integration with
538153994cacc4613aef1eb8ef77e501be7f5a88 commit
|
|
|
|
|
|
| |
Fix GetSetAgent() in tst_qscriptengine.
Reviewed-by: TrustMe
|
|
|
|
|
|
|
|
|
|
|
| |
Complete reimplementation of QScriptEngineAgentPrivate.
New QScriptEngineAgentPrivate implementation makes conversion from
different JSC::Debuger types and events to corresponding
QScriptEngineAgent.
contextPush and contextPop events are created in QScriptEngine each time
contextPush or contextPop is ordered from public API
|
| |
|
|
|
|
|
| |
Introduce a frameForContext() function so we don't have to cast
all over the place.
|
|
|
|
|
| |
Added the properties to the activation object: __extension__,
__setupPackage__ and __postInit__.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
-script (default) and -no-script.
This means we can get rid of the SCRIPT feature from qfeatures,
since it's now handled by the new configure variable.
It also allows us to get rid of all the QT_NO_SCRIPT ifdefs from
the source files, since qmake isn't going to include those files
for compilation when you configure with -no-script.
The QtScriptTools module will be disabled if the QtScript module
is not built. You'll have to build the old QtScript back-end
(will be made available in a separate package), then build the
QtScriptTools module yourself.
Reviewed-by: Simon Hausmann
|
| |
|
| |
|
|
|
|
|
| |
We can infer it from the JSC environment when the function is
actually called.
|