Version 2.0.4
Added ECMAScript 5 Object.create.
Improved performance of Math.max and Math.min.
Optimized adding of strings on 64-bit platforms.
Improved handling of external strings by using a separate table instead of weak handles. This improves garbage collection performance and uses less memory.
Changed code generation for object and array literals in toplevel code to be more compact by doing more work in the runtime.
Fixed a crash bug triggered when garbage collection happened during generation of a callback load inline cache stub.
Fixed crash bug sometimes triggered when local variables shadowed parameters in functions that used the arguments object.
git-svn-id: http://v8.googlecode.com/svn/trunk@3475 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
diff --git a/src/token.h b/src/token.h
index a60704c..2a228d6 100644
--- a/src/token.h
+++ b/src/token.h
@@ -66,8 +66,9 @@
T(DEC, "--", 0) \
\
/* Assignment operators. */ \
- /* IsAssignmentOp() relies on this block of enum values */ \
- /* being contiguous and sorted in the same order! */ \
+ /* IsAssignmentOp() and Assignment::is_compound() relies on */ \
+ /* this block of enum values being contiguous and sorted in the */ \
+ /* same order! */ \
T(INIT_VAR, "=init_var", 2) /* AST-use only. */ \
T(INIT_CONST, "=init_const", 2) /* AST-use only. */ \
T(ASSIGN, "=", 2) \
@@ -211,14 +212,12 @@
};
#undef T
-#ifdef DEBUG
// Returns a string corresponding to the C++ token name
// (e.g. "LT" for the token LT).
static const char* Name(Value tok) {
ASSERT(0 <= tok && tok < NUM_TOKENS);
return name_[tok];
}
-#endif
// Predicates
static bool IsAssignmentOp(Value tok) {
@@ -261,9 +260,7 @@
}
private:
-#ifdef DEBUG
static const char* name_[NUM_TOKENS];
-#endif
static const char* string_[NUM_TOKENS];
static int8_t precedence_[NUM_TOKENS];
};