ARM: Fix GC bug with previous change

The change in r4990 contained a bug in Math.pow. One of the arguments for the call to runtime where clobbered if allocation of the heap number for the result failed.

Caught by a couple of Mozilla tests which does a lot of calls to Math.pow.

Fix presubmit error in x64.
Review URL: http://codereview.chromium.org/2847037

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4993 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
This commit is contained in:
sgjesse@chromium.org 2010-06-30 13:39:03 +00:00
parent b122fbd363
commit bbb2648464
2 changed files with 6 additions and 3 deletions

View File

@ -4402,8 +4402,10 @@ void CodeGenerator::GenerateMathPow(ZoneList<Expression*>* args) {
__ vsqrt(d0, d0);
__ bind(&allocate_return);
__ AllocateHeapNumberWithValue(
base, d0, scratch1, scratch2, heap_number_map, runtime.entry_label());
Register scratch3 = r5;
__ AllocateHeapNumberWithValue(scratch3, d0, scratch1, scratch2,
heap_number_map, runtime.entry_label());
__ mov(base, scratch3);
done.Jump();
runtime.Bind();

View File

@ -9113,7 +9113,8 @@ void CompareStub::Generate(MacroAssembler* masm) {
__ bind(&check_for_strings);
__ JumpIfNotBothSequentialAsciiStrings(rdx, rax, rcx, rbx, &check_unequal_objects);
__ JumpIfNotBothSequentialAsciiStrings(
rdx, rax, rcx, rbx, &check_unequal_objects);
// Inline comparison of ascii strings.
StringCompareStub::GenerateCompareFlatAsciiStrings(masm,