First round of comments. There are missing adaptations in macros.py because
the
IS_VAR macro is not actually expanded but is a runtime intrinsic.
https://chromiumcodereview.appspot.com/12095035/diff/1013/src/parser.cc
File src/parser.cc (right):
https://chromiumcodereview.appspot.com/12095035/diff/1013/src/parser.cc#newcode4625
src/parser.cc:4625: // %IS_VAR(x) evaluates to x if x is a variable,
Comment about IS_VAR needs adaptation as well.
https://chromiumcodereview.appspot.com/12095035/diff/1013/src/parser.cc#newcode4654
src/parser.cc:4654: name = isolate()->factory()->NewSubString(name, 1,
name->length());
This essentially merge the "%foo" and "%_foo" namespace at the moment,
which is probably not what we want. Instead the "%foo" namespace should
be checked against a white-list of allowed API-instrinsics. That
white-list is empty for now.
Also the AST node generated at the end of this function needs to know
the distinction between API-intrinsics and runtime-intrinsics, because
otherwise that distinction would be lost by the name mangling.
https://chromiumcodereview.appspot.com/12095035/diff/1013/test/mjsunit/regress/regress-2286.js
File test/mjsunit/regress/regress-2286.js (right):
https://chromiumcodereview.appspot.com/12095035/diff/1013/test/mjsunit/regress/regress-2286.js#newcode31
test/mjsunit/regress/regress-2286.js:31: assertThrows("%_f()",
TypeError);
We should add a test that a call of "%f()" still throws a TypeError.
https://chromiumcodereview.appspot.com/12095035/
--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
---
You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.