| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| | |
| | |
| | |
| | |
| | |
| | | |
QtFunction::mark() does not cause infinite recursion any more.
Reviewed-by: Kent Hansen
|
| | |
| | |
| | |
| | | |
It is a POD with the size of a pointer
|
| | |
| | |
| | |
| | |
| | | |
Remove useless variable.
Use QBoolBlocker instread of custom QScript::InEval.
|
| | |
| | |
| | |
| | | |
Otherwise we will crash if someone tries to do something with the value.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| | |
| | |
| | |
| | | |
Reviewed-by: Kent Hansen
|
| | |
| | |
| | |
| | |
| | |
| | | |
There is no point in setting class member in destructor
Reviewed-by: Kent Hansen
|
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Comparison between pointer and int where removed.
According to doc operator-> where created (class
QScriptValueAutoRegister suppose to behave as pointer).
Reviewed-by: Kent Hansen
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
functions
On js functions, if the number of arguments is different from the number
of expected arguments, they are located in different place in the
stackframe. We need to call the JSC functions that take that into account.
Test is the backtrace test
Reviewed-by: Kent Hansen
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The returnPC points to the opcode after the call, but we want the opcode
right before to compute the line number.
Reviewed-by: Kent Hansen
|
| | | |
|
| | |
| | |
| | |
| | | |
The engine owns its agents, and also knows when they are deleted.
|
| | |
| | |
| | |
| | |
| | |
| | | |
Unused variable were commented.
Reviewed-by: Kent Hansen
|
| | |
| | |
| | |
| | |
| | |
| | | |
Get rid off some compilation warnings about unused variables.
Reviewed-by: Kent Hansen
|
| | |
| | |
| | |
| | |
| | |
| | | |
Remove old unused visitors code.
Reviewed-by: Kent Hansen
|
| |\ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
qtscript-jsc-backend
Conflicts:
src/script/qscriptclass.cpp
src/script/qscriptcontext.cpp
src/script/qscriptengine.cpp
src/script/qscriptvalue.cpp
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Get rid of conversion functions QScript::qtStringFromJSCUString and
QScript::qtStringToJSCUString. Code was moved to cast operators.
Reviewed-by: Kent Hansen
|
| | | |
| | | |
| | | |
| | | | |
QtScript must respect dynamic metaobjects when installed.
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Since the internal Global Object is never exposed to the public, we
need to do like we do in setActivationObject(): if the object passed
is the Global Object proxy, use the internal Global Object as the
"real" argument. (JSC requires that the initial object pushed onto
the scope chain is an instance of JSC::JSGlobalObject, and the
Global Object proxy is not; hence, we can't push the proxy.)
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
change the coding style of function from
foo (arg=text)
to foo(arg = 'text')
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
- in QScriptContextInfo, get the filename of specials context
- in QScriptContextInfo, get the right information for the global
context (from the skipped fake frame)
- addapt the test to the current backtrace layout.
|
| | | |
| | | |
| | | |
| | | |
| | | | |
No need to look up the global object via the scope chain since we have
a direct pointer to it already.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Follow-up to commit e0a86dc604b87921652b844a5f85889bb6291ed9.
Just like in the activationObject() function, we need to check if
the activation object is actually a proxy to another object, and
return that other object if that's the case (the proxy object should
not be exposed to the public).
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This was possible in the old back-end. In JSC, activation objects
have to be instances of JSC::JSVariableObject. So the way we solve
it is by having our QScriptActivationObject be able to act as a
proxy to any other JSObject.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Don't compile moc_qscriptqobject_p.cpp separately but compile it from
qscriptqobject.cpp instead, to ensure that config.h is included. That
ensures that min/max are undeffed as macros.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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.
|
| | | |
| | | |
| | | |
| | | |
| | | | |
A forward declaration of QScriptString is not sufficient for MSVC,
include qscriptstring.h.
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Use the JSC_HOST_CALL annotation for the declaration as well as for the
definition of the JSC callback functions.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Don't rely on the current working directory being src/script, as that does
not appear to be the case when building with .vcproj files. Instead add
src/script to the INCLUDEPATH, so that the above inclusion works.
|
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | | |
Not needed since commit 9727a71ea077658148e963bc8510269b08095023.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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
|
| | | |
| | | |
| | | |
| | | |
| | | | |
This is some other places where Qt native function may expect to have
their own context
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
directory
Reviewed-by: Kent Hansen
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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
|
| |\ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
qtscript-jsc-backend
Conflicts:
configure
src/script/qscriptarray_p.h
src/script/qscriptasm.cpp
src/script/qscriptasm_p.h
src/script/qscriptbuffer_p.h
src/script/qscriptclass.cpp
src/script/qscriptclassdata.cpp
src/script/qscriptclassdata_p.h
src/script/qscriptclassinfo_p.h
src/script/qscriptclasspropertyiterator_p.h
src/script/qscriptcompiler.cpp
src/script/qscriptcompiler_p.h
src/script/qscriptcontext_p.cpp
src/script/qscriptcontext_p.h
src/script/qscriptcontextfwd_p.h
src/script/qscriptcontextinfo_p.h
src/script/qscriptecmaarray.cpp
src/script/qscriptecmaarray_p.h
src/script/qscriptecmaboolean.cpp
src/script/qscriptecmaboolean_p.h
src/script/qscriptecmacore.cpp
src/script/qscriptecmacore_p.h
src/script/qscriptecmadate.cpp
src/script/qscriptecmadate_p.h
src/script/qscriptecmaerror.cpp
src/script/qscriptecmaerror_p.h
src/script/qscriptecmafunction.cpp
src/script/qscriptecmafunction_p.h
src/script/qscriptecmaglobal.cpp
src/script/qscriptecmaglobal_p.h
src/script/qscriptecmamath.cpp
src/script/qscriptecmamath_p.h
src/script/qscriptecmanumber.cpp
src/script/qscriptecmanumber_p.h
src/script/qscriptecmaobject.cpp
src/script/qscriptecmaobject_p.h
src/script/qscriptecmaregexp.cpp
src/script/qscriptecmaregexp_p.h
src/script/qscriptecmastring.cpp
src/script/qscriptecmastring_p.h
src/script/qscriptengine.cpp
src/script/qscriptengine_p.cpp
src/script/qscriptengine_p.h
src/script/qscriptengineagent_p.h
src/script/qscriptenginefwd_p.h
src/script/qscriptextenumeration.cpp
src/script/qscriptextenumeration_p.h
src/script/qscriptextqobject.cpp
src/script/qscriptextqobject_p.h
src/script/qscriptextvariant.cpp
src/script/qscriptextvariant_p.h
src/script/qscriptfunction.cpp
src/script/qscriptfunction_p.h
src/script/qscriptgc_p.h
src/script/qscriptglobals_p.h
src/script/qscriptmember_p.h
src/script/qscriptnameid_p.h
src/script/qscriptnodepool_p.h
src/script/qscriptobject_p.h
src/script/qscriptobjectfwd_p.h
src/script/qscriptprettypretty.cpp
src/script/qscriptprettypretty_p.h
src/script/qscriptsyntaxcheckresult_p.h
src/script/qscriptvalue.cpp
src/script/qscriptvalue_p.h
src/script/qscriptvaluefwd_p.h
src/script/qscriptvalueimpl.cpp
src/script/qscriptvalueimpl_p.h
src/script/qscriptvalueimplfwd_p.h
src/script/qscriptvalueiteratorimpl.cpp
src/script/qscriptvalueiteratorimpl_p.h
|
| | | | |
| | | | |
| | | | |
| | | | | |
It reverted commit f2f338a922d20ad36c9849f5ea3208a8c4f1674a.
|