That was snapshot=on issue: I ran tests with plain ./tools/test.py vs.
scons ... snapshot=on && ./tools/test.py --no-build dance on the bots.

So reverting was the right thing.

Sorry for noise, everyone.

yours,
anton.

On Thu, Jan 27, 2011 at 9:24 PM, Anton Muhin <[email protected]> wrote:
> Weird.  Tests ran fine on my box.  Investigating.
>
> yours,
> anton.
>
> On Thu, Jan 27, 2011 at 9:22 PM,  <[email protected]> wrote:
>> Revision: 6519
>> Author: [email protected]
>> Date: Thu Jan 27 10:21:07 2011
>> Log: Revert "Unification: introduce
>> ExternalReference::pending_exception_address()."
>>
>> This reverts r6518.
>>
>> [email protected]
>>
>> Review URL: http://codereview.chromium.org/6359015
>> http://code.google.com/p/v8/source/detail?r=6519
>>
>> Modified:
>>  /branches/bleeding_edge/src/arm/code-stubs-arm.cc
>>  /branches/bleeding_edge/src/assembler.cc
>>  /branches/bleeding_edge/src/assembler.h
>>  /branches/bleeding_edge/src/ia32/code-stubs-ia32.cc
>>  /branches/bleeding_edge/src/mips/codegen-mips.cc
>>  /branches/bleeding_edge/src/top.h
>>  /branches/bleeding_edge/src/x64/code-stubs-x64.cc
>>
>> =======================================
>> --- /branches/bleeding_edge/src/arm/code-stubs-arm.cc   Thu Jan 27 10:10:45
>> 2011
>> +++ /branches/bleeding_edge/src/arm/code-stubs-arm.cc   Thu Jan 27 10:21:07
>> 2011
>> @@ -3132,7 +3132,7 @@
>>     // Set pending exception and r0 to out of memory exception.
>>     Failure* out_of_memory = Failure::OutOfMemoryException();
>>     __ mov(r0, Operand(reinterpret_cast<int32_t>(out_of_memory)));
>> -    __ mov(r2, Operand(ExternalReference::pending_exception_address()));
>> +    __ mov(r2,
>> Operand(ExternalReference(Top::k_pending_exception_address)));
>>     __ str(r0, MemOperand(r2));
>>   }
>>
>> @@ -3262,7 +3262,7 @@
>>   // Retrieve the pending exception and clear the variable.
>>   __ mov(ip, Operand(ExternalReference::the_hole_value_location()));
>>   __ ldr(r3, MemOperand(ip));
>> -  __ mov(ip, Operand(ExternalReference::pending_exception_address()));
>> +  __ mov(ip, Operand(ExternalReference(Top::k_pending_exception_address)));
>>   __ ldr(r0, MemOperand(ip));
>>   __ str(r3, MemOperand(ip));
>>
>> @@ -3395,7 +3395,7 @@
>>   // exception field in the JSEnv and return a failure sentinel.
>>   // Coming in here the fp will be invalid because the PushTryHandler below
>>   // sets it to 0 to signal the existence of the JSEntry frame.
>> -  __ mov(ip, Operand(ExternalReference::pending_exception_address()));
>> +  __ mov(ip, Operand(ExternalReference(Top::k_pending_exception_address)));
>>   __ str(r0, MemOperand(ip));
>>   __ mov(r0, Operand(reinterpret_cast<int32_t>(Failure::Exception())));
>>   __ b(&exit);
>> @@ -3412,7 +3412,7 @@
>>   // Clear any pending exceptions.
>>   __ mov(ip, Operand(ExternalReference::the_hole_value_location()));
>>   __ ldr(r5, MemOperand(ip));
>> -  __ mov(ip, Operand(ExternalReference::pending_exception_address()));
>> +  __ mov(ip, Operand(ExternalReference(Top::k_pending_exception_address)));
>>   __ str(r5, MemOperand(ip));
>>
>>   // Invoke the function by calling through JS entry trampoline builtin.
>> @@ -4079,7 +4079,7 @@
>>   // TODO(592): Rerunning the RegExp to get the stack overflow exception.
>>   __ mov(r0, Operand(ExternalReference::the_hole_value_location()));
>>   __ ldr(r0, MemOperand(r0, 0));
>> -  __ mov(r1, Operand(ExternalReference::pending_exception_address()));
>> +  __ mov(r1, Operand(ExternalReference(Top::k_pending_exception_address)));
>>   __ ldr(r1, MemOperand(r1, 0));
>>   __ cmp(r0, r1);
>>   __ b(eq, &runtime);
>> =======================================
>> --- /branches/bleeding_edge/src/assembler.cc    Thu Jan 27 10:10:45 2011
>> +++ /branches/bleeding_edge/src/assembler.cc    Thu Jan 27 10:21:07 2011
>> @@ -711,11 +711,6 @@
>>  ExternalReference ExternalReference::handle_scope_limit_address() {
>>   return ExternalReference(HandleScope::current_limit_address());
>>  }
>> -
>> -
>> -ExternalReference ExternalReference::pending_exception_address() {
>> -  return ExternalReference(Top::pending_exception_address());
>> -}
>>
>>
>>  ExternalReference ExternalReference::scheduled_exception_address() {
>> =======================================
>> --- /branches/bleeding_edge/src/assembler.h     Thu Jan 27 10:10:45 2011
>> +++ /branches/bleeding_edge/src/assembler.h     Thu Jan 27 10:21:07 2011
>> @@ -551,7 +551,6 @@
>>   static ExternalReference handle_scope_limit_address();
>>   static ExternalReference handle_scope_level_address();
>>
>> -  static ExternalReference pending_exception_address();
>>   static ExternalReference scheduled_exception_address();
>>
>>   // Static variables containing common double constants.
>> =======================================
>> --- /branches/bleeding_edge/src/ia32/code-stubs-ia32.cc Thu Jan 27 10:10:45
>> 2011
>> +++ /branches/bleeding_edge/src/ia32/code-stubs-ia32.cc Thu Jan 27 10:21:07
>> 2011
>> @@ -3922,11 +3922,10 @@
>>   // stack overflow (on the backtrack stack) was detected in RegExp code but
>>   // haven't created the exception yet. Handle that in the runtime system.
>>   // TODO(592): Rerunning the RegExp to get the stack overflow exception.
>> -  ExternalReference pending_exception_address =
>> -      ExternalReference::pending_exception_address();
>> +  ExternalReference pending_exception(Top::k_pending_exception_address);
>>   __ mov(eax,
>>
>>  Operand::StaticVariable(ExternalReference::the_hole_value_location()));
>> -  __ cmp(eax, Operand::StaticVariable(pending_exception_address));
>> +  __ cmp(eax, Operand::StaticVariable(pending_exception));
>>   __ j(equal, &runtime);
>>   __ bind(&failure);
>>   // For failure and exception return null.
>> @@ -4716,8 +4715,7 @@
>>   __ j(equal, throw_out_of_memory_exception);
>>
>>   // Retrieve the pending exception and clear the variable.
>> -  ExternalReference pending_exception_address =
>> -      ExternalReference::pending_exception_address();
>> +  ExternalReference
>> pending_exception_address(Top::k_pending_exception_address);
>>   __ mov(eax, Operand::StaticVariable(pending_exception_address));
>>   __ mov(edx,
>>
>>  Operand::StaticVariable(ExternalReference::the_hole_value_location()));
>> @@ -4769,10 +4767,9 @@
>>     __ mov(Operand::StaticVariable(external_caught), eax);
>>
>>     // Set pending exception and eax to out of memory exception.
>> -    ExternalReference pending_exception_address =
>> -        ExternalReference::pending_exception_address();
>> +    ExternalReference pending_exception(Top::k_pending_exception_address);
>>     __ mov(eax, reinterpret_cast<int32_t>(Failure::OutOfMemoryException()));
>> -    __ mov(Operand::StaticVariable(pending_exception_address), eax);
>> +    __ mov(Operand::StaticVariable(pending_exception), eax);
>>   }
>>
>>   // Clear the context pointer.
>> @@ -4888,9 +4885,8 @@
>>
>>   // Caught exception: Store result (exception) in the pending
>>   // exception field in the JSEnv and return a failure sentinel.
>> -  ExternalReference pending_exception_address =
>> -      ExternalReference::pending_exception_address();
>> -  __ mov(Operand::StaticVariable(pending_exception_address), eax);
>> +  ExternalReference pending_exception(Top::k_pending_exception_address);
>> +  __ mov(Operand::StaticVariable(pending_exception), eax);
>>   __ mov(eax, reinterpret_cast<int32_t>(Failure::Exception()));
>>   __ jmp(&exit);
>>
>> @@ -4901,7 +4897,7 @@
>>   // Clear any pending exceptions.
>>   __ mov(edx,
>>
>>  Operand::StaticVariable(ExternalReference::the_hole_value_location()));
>> -  __ mov(Operand::StaticVariable(pending_exception_address), edx);
>> +  __ mov(Operand::StaticVariable(pending_exception), edx);
>>
>>   // Fake a receiver (NULL).
>>   __ push(Immediate(0));  // receiver
>> =======================================
>> --- /branches/bleeding_edge/src/mips/codegen-mips.cc    Thu Jan 27 10:10:45
>> 2011
>> +++ /branches/bleeding_edge/src/mips/codegen-mips.cc    Thu Jan 27 10:21:07
>> 2011
>> @@ -1178,7 +1178,7 @@
>>   __ LoadExternalReference(t0,
>> ExternalReference::the_hole_value_location());
>>   __ lw(a3, MemOperand(t0));
>>   __ LoadExternalReference(t0,
>> -      ExternalReference::pending_exception_address());
>> +      ExternalReference(Top::k_pending_exception_address));
>>   __ lw(v0, MemOperand(t0));
>>   __ sw(a3, MemOperand(t0));
>>
>> @@ -1311,7 +1311,7 @@
>>   // Coming in here the fp will be invalid because the PushTryHandler below
>>   // sets it to 0 to signal the existence of the JSEntry frame.
>>   __ LoadExternalReference(t0,
>> -      ExternalReference::pending_exception_address());
>> +      ExternalReference(Top::k_pending_exception_address));
>>   __ sw(v0, MemOperand(t0));  // We come back from 'invoke'. result is in
>> v0.
>>   __ li(v0, Operand(reinterpret_cast<int32_t>(Failure::Exception())));
>>   __ b(&exit);
>> @@ -1329,7 +1329,7 @@
>>   __ LoadExternalReference(t0,
>> ExternalReference::the_hole_value_location());
>>   __ lw(t1, MemOperand(t0));
>>   __ LoadExternalReference(t0,
>> -      ExternalReference::pending_exception_address());
>> +      ExternalReference(Top::k_pending_exception_address));
>>   __ sw(t1, MemOperand(t0));
>>
>>   // Invoke the function by calling through JS entry trampoline builtin.
>> =======================================
>> --- /branches/bleeding_edge/src/top.h   Thu Jan 27 10:10:45 2011
>> +++ /branches/bleeding_edge/src/top.h   Thu Jan 27 10:21:07 2011
>> @@ -142,6 +142,7 @@
>>   C(handler_address)                   \
>>   C(c_entry_fp_address)                \
>>   C(context_address)                   \
>> +  C(pending_exception_address)         \
>>   C(external_caught_exception_address)
>>
>>  #ifdef ENABLE_LOGGING_AND_PROFILING
>> =======================================
>> --- /branches/bleeding_edge/src/x64/code-stubs-x64.cc   Thu Jan 27 10:10:45
>> 2011
>> +++ /branches/bleeding_edge/src/x64/code-stubs-x64.cc   Thu Jan 27 10:21:07
>> 2011
>> @@ -2126,7 +2126,8 @@
>>   // stack overflow (on the backtrack stack) was detected in RegExp code but
>>   // haven't created the exception yet. Handle that in the runtime system.
>>   // TODO(592): Rerunning the RegExp to get the stack overflow exception.
>> -  __ movq(kScratchRegister,
>> ExternalReference::pending_exception_address());
>> +  ExternalReference
>> pending_exception_address(Top::k_pending_exception_address);
>> +  __ movq(kScratchRegister, pending_exception_address);
>>   __ Cmp(kScratchRegister, Factory::the_hole_value());
>>   __ j(equal, &runtime);
>>   __ bind(&failure);
>> @@ -2884,7 +2885,8 @@
>>   __ j(equal, throw_out_of_memory_exception);
>>
>>   // Retrieve the pending exception and clear the variable.
>> -  __ movq(kScratchRegister,
>> ExternalReference::pending_exception_address());
>> +  ExternalReference
>> pending_exception_address(Top::k_pending_exception_address);
>> +  __ movq(kScratchRegister, pending_exception_address);
>>   __ movq(rax, Operand(kScratchRegister, 0));
>>   __ movq(rdx, ExternalReference::the_hole_value_location());
>>   __ movq(rdx, Operand(rdx, 0));
>> @@ -2934,8 +2936,9 @@
>>     __ store_rax(external_caught);
>>
>>     // Set pending exception and rax to out of memory exception.
>> +    ExternalReference pending_exception(Top::k_pending_exception_address);
>>     __ movq(rax, Failure::OutOfMemoryException(), RelocInfo::NONE);
>> -    __ store_rax(ExternalReference::pending_exception_address());
>> +    __ store_rax(pending_exception);
>>   }
>>
>>   // Clear the context pointer.
>> @@ -3088,7 +3091,8 @@
>>
>>   // Caught exception: Store result (exception) in the pending
>>   // exception field in the JSEnv and return a failure sentinel.
>> -  __ store_rax(ExternalReference::pending_exception_address());
>> +  ExternalReference pending_exception(Top::k_pending_exception_address);
>> +  __ store_rax(pending_exception);
>>   __ movq(rax, Failure::Exception(), RelocInfo::NONE);
>>   __ jmp(&exit);
>>
>> @@ -3098,7 +3102,7 @@
>>
>>   // Clear any pending exceptions.
>>   __ load_rax(ExternalReference::the_hole_value_location());
>> -  __ store_rax(ExternalReference::pending_exception_address());
>> +  __ store_rax(pending_exception);
>>
>>   // Fake a receiver (NULL).
>>   __ push(Immediate(0));  // receiver
>>
>> --
>> v8-dev mailing list
>> [email protected]
>> http://groups.google.com/group/v8-dev
>>
>

-- 
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev

Reply via email to