On 10/31/14 11:02, David Malcolm wrote:
This file implements the entrypoints of the library's public API.

It performs error-checking at this boundary, before calling into the
jit-recording.h internal API.

gcc/jit/
        * libgccjit.c: New.
---
  gcc/jit/libgccjit.c | 1506 +++++++++++++++++++++++++++++++++++++++++++++++++++
  1 file changed, 1506 insertions(+)
  create mode 100644 gcc/jit/libgccjit.c

+
+#define IS_ASCII_ALPHA(CHAR) \
+  (                                    \
+    ((CHAR) >= 'a' && (CHAR) <='z')      \
+    ||                                 \
+    ((CHAR) >= 'A' && (CHAR) <= 'Z')     \
+  )
+
+#define IS_ASCII_DIGIT(CHAR) \
+  ((CHAR) >= '0' && (CHAR) <='9')
+
+#define IS_ASCII_ALNUM(CHAR) \
+  (IS_ASCII_ALPHA (CHAR) || IS_ASCII_DIGIT (CHAR))
Can't we rely on the C library to give us equivalents?

+
+/* TODO: mark failure branches as unlikely? */
+
Not likely worth the effort. And it'd be better to somehow mark jit_error such that anytime a path unconditionally calls jit_error, the whole path is considered unlikely.

I think it was Ball & Larus that had a predictor of this nature, I don't recall its effectiveness offhand. But I'd rather be marking the function than sprinlkling unlikely all over the actual codepaths.



+static bool
+compatible_types (gcc::jit::recording::type *ltype,
+                 gcc::jit::recording::type *rtype)
All function definitions should have a block comment describing the function and its arguments. This comment applies throughout the code and needs to be addressed prior to commit. In fact I really can't even continue review of this code due to the lack of comments -- I rely heavily on them.

jeff


Reply via email to