Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(50)

Side by Side Diff: src/ia32/lithium-codegen-ia32.cc

Issue 11348349: Improve array to string conversion. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 8 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 the V8 project authors. All rights reserved.
2 // Redistribution and use in source and binary forms, with or without 2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions are 3 // modification, are permitted provided that the following conditions are
4 // met: 4 // met:
5 // 5 //
6 // * Redistributions of source code must retain the above copyright 6 // * Redistributions of source code must retain the above copyright
7 // notice, this list of conditions and the following disclaimer. 7 // notice, this list of conditions and the following disclaimer.
8 // * Redistributions in binary form must reproduce the above 8 // * Redistributions in binary form must reproduce the above
9 // copyright notice, this list of conditions and the following 9 // copyright notice, this list of conditions and the following
10 // disclaimer in the documentation and/or other materials provided 10 // disclaimer in the documentation and/or other materials provided
(...skipping 1532 matching lines...) Expand 10 before | Expand all | Expand 10 after
1543 __ bind(&runtime); 1543 __ bind(&runtime);
1544 __ PrepareCallCFunction(2, scratch); 1544 __ PrepareCallCFunction(2, scratch);
1545 __ mov(Operand(esp, 0), object); 1545 __ mov(Operand(esp, 0), object);
1546 __ mov(Operand(esp, 1 * kPointerSize), Immediate(index)); 1546 __ mov(Operand(esp, 1 * kPointerSize), Immediate(index));
1547 __ CallCFunction(ExternalReference::get_date_field_function(isolate()), 2); 1547 __ CallCFunction(ExternalReference::get_date_field_function(isolate()), 2);
1548 __ bind(&done); 1548 __ bind(&done);
1549 } 1549 }
1550 } 1550 }
1551 1551
1552 1552
1553 void LCodeGen::DoSeqStringSetChar(LSeqStringSetChar* instr) {
1554 Register string = ToRegister(instr->string());
1555 Register index = ToRegister(instr->index());
1556 Register value = ToRegister(instr->value());
1557 SeqStringSetCharGenerator::Generate(
1558 masm(), instr->is_one_byte(), string, index, value);
1559 }
1560
1561
1553 void LCodeGen::DoBitNotI(LBitNotI* instr) { 1562 void LCodeGen::DoBitNotI(LBitNotI* instr) {
1554 LOperand* input = instr->value(); 1563 LOperand* input = instr->value();
1555 ASSERT(input->Equals(instr->result())); 1564 ASSERT(input->Equals(instr->result()));
1556 __ not_(ToRegister(input)); 1565 __ not_(ToRegister(input));
1557 } 1566 }
1558 1567
1559 1568
1560 void LCodeGen::DoThrow(LThrow* instr) { 1569 void LCodeGen::DoThrow(LThrow* instr) {
1561 __ push(ToOperand(instr->value())); 1570 __ push(ToOperand(instr->value()));
1562 ASSERT(ToRegister(instr->context()).is(esi)); 1571 ASSERT(ToRegister(instr->context()).is(esi));
(...skipping 4049 matching lines...) Expand 10 before | Expand all | Expand 10 after
5612 FixedArray::kHeaderSize - kPointerSize)); 5621 FixedArray::kHeaderSize - kPointerSize));
5613 __ bind(&done); 5622 __ bind(&done);
5614 } 5623 }
5615 5624
5616 5625
5617 #undef __ 5626 #undef __
5618 5627
5619 } } // namespace v8::internal 5628 } } // namespace v8::internal
5620 5629
5621 #endif // V8_TARGET_ARCH_IA32 5630 #endif // V8_TARGET_ARCH_IA32
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698