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

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

Issue 7355018: Merge r8623 to the 3.2 branch (Closed) Base URL: http://v8.googlecode.com/svn/branches/3.2/
Patch Set: Created 9 years, 5 months 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
« no previous file with comments | « no previous file | src/ia32/lithium-codegen-ia32.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2011 the V8 project authors. All rights reserved. 1 // Copyright 2011 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 479 matching lines...) Expand 10 before | Expand all | Expand 10 after
490 490
491 void LCodeGen::CallCodeGeneric(Handle<Code> code, 491 void LCodeGen::CallCodeGeneric(Handle<Code> code,
492 RelocInfo::Mode mode, 492 RelocInfo::Mode mode,
493 LInstruction* instr, 493 LInstruction* instr,
494 SafepointMode safepoint_mode) { 494 SafepointMode safepoint_mode) {
495 ASSERT(instr != NULL); 495 ASSERT(instr != NULL);
496 LPointerMap* pointers = instr->pointer_map(); 496 LPointerMap* pointers = instr->pointer_map();
497 RecordPosition(pointers->position()); 497 RecordPosition(pointers->position());
498 __ Call(code, mode); 498 __ Call(code, mode);
499 RegisterLazyDeoptimization(instr, safepoint_mode); 499 RegisterLazyDeoptimization(instr, safepoint_mode);
500
501 // Signal that we don't inline smi code before these stubs in the
502 // optimizing code generator.
503 if (code->kind() == Code::BINARY_OP_IC ||
504 code->kind() == Code::COMPARE_IC) {
505 __ nop();
506 }
500 } 507 }
501 508
502 509
503 void LCodeGen::CallRuntime(const Runtime::Function* function, 510 void LCodeGen::CallRuntime(const Runtime::Function* function,
504 int num_arguments, 511 int num_arguments,
505 LInstruction* instr) { 512 LInstruction* instr) {
506 ASSERT(instr != NULL); 513 ASSERT(instr != NULL);
507 LPointerMap* pointers = instr->pointer_map(); 514 LPointerMap* pointers = instr->pointer_map();
508 ASSERT(pointers != NULL); 515 ASSERT(pointers != NULL);
509 RecordPosition(pointers->position()); 516 RecordPosition(pointers->position());
(...skipping 851 matching lines...) Expand 10 before | Expand all | Expand 10 after
1361 } 1368 }
1362 1369
1363 1370
1364 void LCodeGen::DoArithmeticT(LArithmeticT* instr) { 1371 void LCodeGen::DoArithmeticT(LArithmeticT* instr) {
1365 ASSERT(ToRegister(instr->InputAt(0)).is(r1)); 1372 ASSERT(ToRegister(instr->InputAt(0)).is(r1));
1366 ASSERT(ToRegister(instr->InputAt(1)).is(r0)); 1373 ASSERT(ToRegister(instr->InputAt(1)).is(r0));
1367 ASSERT(ToRegister(instr->result()).is(r0)); 1374 ASSERT(ToRegister(instr->result()).is(r0));
1368 1375
1369 TypeRecordingBinaryOpStub stub(instr->op(), NO_OVERWRITE); 1376 TypeRecordingBinaryOpStub stub(instr->op(), NO_OVERWRITE);
1370 CallCode(stub.GetCode(), RelocInfo::CODE_TARGET, instr); 1377 CallCode(stub.GetCode(), RelocInfo::CODE_TARGET, instr);
1378 __ nop(); // Signals no inlined code.
1371 } 1379 }
1372 1380
1373 1381
1374 int LCodeGen::GetNextEmittedBlock(int block) { 1382 int LCodeGen::GetNextEmittedBlock(int block) {
1375 for (int i = block + 1; i < graph()->blocks()->length(); ++i) { 1383 for (int i = block + 1; i < graph()->blocks()->length(); ++i) {
1376 LLabel* label = chunk_->GetLabel(i); 1384 LLabel* label = chunk_->GetLabel(i);
1377 if (!label->HasReplacement()) return i; 1385 if (!label->HasReplacement()) return i;
1378 } 1386 }
1379 return -1; 1387 return -1;
1380 } 1388 }
(...skipping 2827 matching lines...) Expand 10 before | Expand all | Expand 10 after
4208 ASSERT(!environment->HasBeenRegistered()); 4216 ASSERT(!environment->HasBeenRegistered());
4209 RegisterEnvironmentForDeoptimization(environment); 4217 RegisterEnvironmentForDeoptimization(environment);
4210 ASSERT(osr_pc_offset_ == -1); 4218 ASSERT(osr_pc_offset_ == -1);
4211 osr_pc_offset_ = masm()->pc_offset(); 4219 osr_pc_offset_ = masm()->pc_offset();
4212 } 4220 }
4213 4221
4214 4222
4215 #undef __ 4223 #undef __
4216 4224
4217 } } // namespace v8::internal 4225 } } // namespace v8::internal
OLDNEW
« no previous file with comments | « no previous file | src/ia32/lithium-codegen-ia32.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698