smparkes-johnson 1.1.2.3 → 1.1.2.4
Sign up to get free protection for your applications and to get access to all the features.
- data/ext/tracemonkey/conversions.cc +3 -0
- data/lib/johnson.rb +1 -1
- data/vendor/tracemonkey/jsobj.h +1 -4
- data/vendor/tracemonkey/jsparse.cpp +5 -20
- metadata +2 -2
@@ -256,6 +256,9 @@ VALUE convert_to_ruby(JohnsonRuntime* runtime, jsval js)
|
|
256
256
|
JRETURN_RUBY(Qnil);
|
257
257
|
|
258
258
|
case JSTYPE_FUNCTION:
|
259
|
+
#if JS_HAS_XML_SUPPORT
|
260
|
+
case JSTYPE_XML:
|
261
|
+
#endif JS_HAS_XML_SUPPORT
|
259
262
|
case JSTYPE_OBJECT: {
|
260
263
|
if (OBJECT_TO_JSVAL(runtime->global) == js)
|
261
264
|
// global gets special treatment, since the Prelude might not be loaded
|
data/lib/johnson.rb
CHANGED
data/vendor/tracemonkey/jsobj.h
CHANGED
@@ -230,11 +230,8 @@ struct JSObject {
|
|
230
230
|
|
231
231
|
#define STOBJ_GET_PROTO(obj) \
|
232
232
|
JSVAL_TO_OBJECT((obj)->fslots[JSSLOT_PROTO])
|
233
|
-
#define _STOBJ_SET_PROTO(obj,proto) \
|
234
|
-
(void)(STOBJ_NULLSAFE_SET_DELEGATE(proto), \
|
235
|
-
(obj)->fslots[JSSLOT_PROTO] = OBJECT_TO_JSVAL(proto))
|
236
233
|
#define STOBJ_SET_PROTO(obj,proto) \
|
237
|
-
(void)(
|
234
|
+
(void)(STOBJ_NULLSAFE_SET_DELEGATE(proto), \
|
238
235
|
(obj)->fslots[JSSLOT_PROTO] = OBJECT_TO_JSVAL(proto))
|
239
236
|
#define STOBJ_CLEAR_PROTO(obj) \
|
240
237
|
((obj)->fslots[JSSLOT_PROTO] = JSVAL_NULL)
|
@@ -880,34 +880,25 @@ JSCompiler::compileScript(JSContext *cx, JSObject *scopeChain, JSStackFrame *cal
|
|
880
880
|
if (tt == TOK_EOF)
|
881
881
|
break;
|
882
882
|
JS_ASSERT(tt == TOK_ERROR);
|
883
|
-
// fprintf(stderr,"1\n");
|
884
883
|
goto out;
|
885
884
|
}
|
886
885
|
|
887
886
|
pn = Statement(cx, &jsc.tokenStream, &cg);
|
888
|
-
if (!pn)
|
889
|
-
// fprintf(stderr,"2\n");
|
887
|
+
if (!pn)
|
890
888
|
goto out;
|
891
|
-
}
|
892
889
|
JS_ASSERT(!cg.blockNode);
|
893
890
|
|
894
|
-
if (!js_FoldConstants(cx, pn, &cg))
|
895
|
-
// fprintf(stderr,"3\n");
|
891
|
+
if (!js_FoldConstants(cx, pn, &cg))
|
896
892
|
goto out;
|
897
|
-
}
|
898
893
|
|
899
894
|
if (cg.functionList) {
|
900
|
-
if (!jsc.analyzeFunctions(cg.functionList, cg.flags))
|
901
|
-
// fprintf(stderr,"4\n");
|
895
|
+
if (!jsc.analyzeFunctions(cg.functionList, cg.flags))
|
902
896
|
goto out;
|
903
|
-
}
|
904
897
|
cg.functionList = NULL;
|
905
898
|
}
|
906
899
|
|
907
|
-
if (!js_EmitTree(cx, &cg, pn))
|
908
|
-
// fprintf(stderr,"5\n");
|
900
|
+
if (!js_EmitTree(cx, &cg, pn))
|
909
901
|
goto out;
|
910
|
-
}
|
911
902
|
#if JS_HAS_XML_SUPPORT
|
912
903
|
if (PN_TYPE(pn) != TOK_SEMI ||
|
913
904
|
!pn->pn_kid ||
|
@@ -918,8 +909,6 @@ JSCompiler::compileScript(JSContext *cx, JSObject *scopeChain, JSStackFrame *cal
|
|
918
909
|
RecycleTree(pn, &cg);
|
919
910
|
}
|
920
911
|
|
921
|
-
// fprintf(stderr,"a\n");
|
922
|
-
|
923
912
|
#if JS_HAS_XML_SUPPORT
|
924
913
|
/*
|
925
914
|
* Prevent XML data theft via <script src="http://victim.com/foo.xml">.
|
@@ -934,7 +923,6 @@ JSCompiler::compileScript(JSContext *cx, JSObject *scopeChain, JSStackFrame *cal
|
|
934
923
|
}
|
935
924
|
#endif
|
936
925
|
|
937
|
-
// fprintf(stderr,"b\n");
|
938
926
|
/*
|
939
927
|
* Global variables and regexps share the index space with locals. Due to
|
940
928
|
* incremental code generation we need to patch the bytecode to adjust the
|
@@ -983,7 +971,6 @@ JSCompiler::compileScript(JSContext *cx, JSObject *scopeChain, JSStackFrame *cal
|
|
983
971
|
before = sbrk(0);
|
984
972
|
#endif
|
985
973
|
|
986
|
-
// fprintf(stderr,"c\n");
|
987
974
|
/*
|
988
975
|
* Nowadays the threaded interpreter needs a stop instruction, so we
|
989
976
|
* do have to emit that here.
|
@@ -4380,10 +4367,8 @@ Statement(JSContext *cx, JSTokenStream *ts, JSTreeContext *tc)
|
|
4380
4367
|
#if JS_HAS_GETTER_SETTER
|
4381
4368
|
if (tt == TOK_NAME) {
|
4382
4369
|
tt = CheckGetterOrSetter(cx, ts, TOK_FUNCTION);
|
4383
|
-
if (tt == TOK_ERROR)
|
4384
|
-
// fprintf(stderr,"aa");
|
4370
|
+
if (tt == TOK_ERROR)
|
4385
4371
|
return NULL;
|
4386
|
-
}
|
4387
4372
|
}
|
4388
4373
|
#endif
|
4389
4374
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: smparkes-johnson
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.2.
|
4
|
+
version: 1.1.2.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- John Barnette
|
@@ -12,7 +12,7 @@ autorequire:
|
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
14
|
|
15
|
-
date: 2009-11-
|
15
|
+
date: 2009-11-18 00:00:00 -08:00
|
16
16
|
default_executable:
|
17
17
|
dependencies:
|
18
18
|
- !ruby/object:Gem::Dependency
|