Commit 9d3557ef authored by lrn@chromium.org's avatar lrn@chromium.org

Formatting fixes (e.g., whitespace at end of line)

Added in-file documentation for --log-regexp switch.


git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@278 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
parent d667ef8e
......@@ -371,7 +371,7 @@ void Logger::SharedLibraryEvent(const wchar_t* library_path,
}
void Logger::LogRegExpSource(Handle<JSValue> regexp) {
// Prints "/" + re.source + "/" +
// Prints "/" + re.source + "/" +
// (re.global?"g":"") + (re.ignorecase?"i":"") + (re.multiline?"m":"")
Handle<Object> source = GetProperty(regexp, "source");
......@@ -427,14 +427,15 @@ void Logger::RegExpCompileEvent(Handle<JSValue> regexp) {
void Logger::RegExpExecEvent(Handle<JSValue> regexp,
int start_index,
Handle<String> string) {
Handle<String> input_string) {
#ifdef ENABLE_LOGGING_AND_PROFILING
if (logfile_ == NULL || !FLAG_log_regexp) return;
ScopedLock sl(mutex_);
fprintf(logfile_, "regexp-run,");
LogRegExpSource(regexp);
fprintf(logfile_, ",0x%08x,%d..%d\n", string->Hash(), start_index, string->length());
fprintf(logfile_, ",0x%08x,%d..%d\n",
input_string->Hash(), start_index, input_string->length());
#endif
}
......
......@@ -40,7 +40,7 @@ namespace v8 { namespace internal {
//
// --log-all
// Log all events to the file, default is off. This is the same as combining
// --log-api, --log-code, and --log-gc.
// --log-api, --log-code, --log-gc, and --log-regexp.
//
// --log-api
// Log API events to the logfile, default is off. --log-api implies --log.
......@@ -53,6 +53,10 @@ namespace v8 { namespace internal {
// Log GC heap samples after each GC that can be processed by hp2ps, default
// is off. --log-gc implies --log.
//
// --log-regexp
// Log creation and use of regular expressions, Default is off.
// --log-regexp implies --log.
//
// --logfile <filename>
// Specify the name of the logfile, default is "v8.log".
//
......@@ -179,9 +183,9 @@ class Logger {
static void RegExpCompileEvent(Handle<JSValue> regexp);
static void RegExpExecEvent(Handle<JSValue> regexp,
int start_index,
Handle<String> string);
static void RegExpExecEvent(Handle<JSValue> regexp,
int start_index,
Handle<String> input_string);
#ifdef ENABLE_LOGGING_AND_PROFILING
static StateTag state() {
......
......@@ -2861,7 +2861,8 @@ class String: public HeapObject {
// ROBUST_STRING_TRAVERSAL invokes behaviour that is robust This means it
// handles unexpected data without causing assert failures and it does not
// do any heap allocations. This is useful when printing stack traces.
SmartPointer<uc16> ToWideCString(RobustnessFlag robustness_flag = FAST_STRING_TRAVERSAL);
SmartPointer<uc16> ToWideCString(
RobustnessFlag robustness_flag = FAST_STRING_TRAVERSAL);
// Tells whether the hash code has been computed.
inline bool HasHashCode();
......
......@@ -37,7 +37,7 @@ template<typename T>
class SmartPointer {
public:
// Default constructor. Construct an empty scoped pointer.
// Default constructor. Construct an empty scoped pointer.
inline SmartPointer() : p(NULL) {}
......@@ -86,8 +86,8 @@ class SmartPointer {
// the copy constructor it removes the pointer in the original to avoid
// double freeing.
inline SmartPointer& operator=(const SmartPointer<T>& rhs) {
ASSERT(p == NULL);
T* tmp = rhs.p; // swap to handle self-assignment
ASSERT(p == NULL);
T* tmp = rhs.p; // swap to handle self-assignment
const_cast<SmartPointer<T>&>(rhs).p = NULL;
p = tmp;
return *this;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment