Author: [email protected]
Date: Tue Jan 13 01:23:26 2009
New Revision: 1060
Modified:
branches/bleeding_edge/src/regexp-macro-assembler-ia32.cc
branches/bleeding_edge/src/regexp-macro-assembler-ia32.h
branches/bleeding_edge/test/cctest/test-regexp.cc
Log:
Unsigned number can't be negated in the VisualStudio compiler.
Fixed a few earlier review comments that had slipped through.
Modified: branches/bleeding_edge/src/regexp-macro-assembler-ia32.cc
==============================================================================
--- branches/bleeding_edge/src/regexp-macro-assembler-ia32.cc (original)
+++ branches/bleeding_edge/src/regexp-macro-assembler-ia32.cc Tue Jan 13
01:23:26 2009
@@ -618,8 +618,9 @@
__ sub(ecx, Operand::StaticVariable(stack_guard_limit));
// Handle it if the stack pointer is already below the stack limit.
__ j(below_equal, &stack_limit_hit, not_taken);
- // Check if there is room for num_registers + ebp above the stack limit.
- __ cmp(ecx, (num_registers_ + 1) * kPointerSize);
+ // Check if there is room for the variable number of registers above
+ // the stack limit.
+ __ cmp(ecx, num_registers_ * kPointerSize);
__ j(above_equal, &stack_ok, taken);
// Exit with exception.
__ mov(eax, EXCEPTION);
Modified: branches/bleeding_edge/src/regexp-macro-assembler-ia32.h
==============================================================================
--- branches/bleeding_edge/src/regexp-macro-assembler-ia32.h (original)
+++ branches/bleeding_edge/src/regexp-macro-assembler-ia32.h Tue Jan 13
01:23:26 2009
@@ -178,7 +178,7 @@
inline Register backtrack_stackpointer() { return ecx; }
// Byte size of chars in the string to match (decided by the Mode
argument)
- inline size_t char_size() { return static_cast<size_t>(mode_); }
+ inline int char_size() { return static_cast<int>(mode_); }
// Equivalent to a conditional branch to the label, unless the label
// is NULL, in which case it is a conditional Backtrack.
@@ -225,7 +225,7 @@
// constants.
ByteArrayProvider constants_;
- // Which mode to generate code for (ASCII or UTF16).
+ // Which mode to generate code for (ASCII or UC16).
Mode mode_;
// One greater than maximal register index actually used.
Modified: branches/bleeding_edge/test/cctest/test-regexp.cc
==============================================================================
--- branches/bleeding_edge/test/cctest/test-regexp.cc (original)
+++ branches/bleeding_edge/test/cctest/test-regexp.cc Tue Jan 13 01:23:26
2009
@@ -1055,8 +1055,6 @@
}
-
-
TEST(MacroAssemblerIA32BackRefNoCase) {
v8::V8::Initialize();
ContextInitializer initializer;
--~--~---------~--~----~------------~-------~--~----~
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
-~----------~----~----~----~------~----~------~--~---