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

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

Issue 157503002: A64: Synchronize with r18444. (Closed) Base URL: https://v8.googlecode.com/svn/branches/experimental/a64
Patch Set: Created 6 years, 10 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 | « src/arm/lithium-arm.h ('k') | src/arm/lithium-codegen-arm.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 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 238 matching lines...) Expand 10 before | Expand all | Expand 10 after
249 *hydrogen()->class_name(), 249 *hydrogen()->class_name(),
250 true_block_id(), 250 true_block_id(),
251 false_block_id()); 251 false_block_id());
252 } 252 }
253 253
254 254
255 void LTypeofIsAndBranch::PrintDataTo(StringStream* stream) { 255 void LTypeofIsAndBranch::PrintDataTo(StringStream* stream) {
256 stream->Add("if typeof "); 256 stream->Add("if typeof ");
257 value()->PrintTo(stream); 257 value()->PrintTo(stream);
258 stream->Add(" == \"%s\" then B%d else B%d", 258 stream->Add(" == \"%s\" then B%d else B%d",
259 *hydrogen()->type_literal()->ToCString(), 259 hydrogen()->type_literal()->ToCString().get(),
260 true_block_id(), false_block_id()); 260 true_block_id(), false_block_id());
261 } 261 }
262 262
263 263
264 void LStoreCodeEntry::PrintDataTo(StringStream* stream) { 264 void LStoreCodeEntry::PrintDataTo(StringStream* stream) {
265 stream->Add(" = "); 265 stream->Add(" = ");
266 function()->PrintTo(stream); 266 function()->PrintTo(stream);
267 stream->Add(".code_entry = "); 267 stream->Add(".code_entry = ");
268 code_object()->PrintTo(stream); 268 code_object()->PrintTo(stream);
269 } 269 }
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
302 } 302 }
303 303
304 304
305 void LCallKeyed::PrintDataTo(StringStream* stream) { 305 void LCallKeyed::PrintDataTo(StringStream* stream) {
306 stream->Add("[r2] #%d / ", arity()); 306 stream->Add("[r2] #%d / ", arity());
307 } 307 }
308 308
309 309
310 void LCallNamed::PrintDataTo(StringStream* stream) { 310 void LCallNamed::PrintDataTo(StringStream* stream) {
311 SmartArrayPointer<char> name_string = name()->ToCString(); 311 SmartArrayPointer<char> name_string = name()->ToCString();
312 stream->Add("%s #%d / ", *name_string, arity()); 312 stream->Add("%s #%d / ", name_string.get(), arity());
313 } 313 }
314 314
315 315
316 void LCallGlobal::PrintDataTo(StringStream* stream) { 316 void LCallGlobal::PrintDataTo(StringStream* stream) {
317 SmartArrayPointer<char> name_string = name()->ToCString(); 317 SmartArrayPointer<char> name_string = name()->ToCString();
318 stream->Add("%s #%d / ", *name_string, arity()); 318 stream->Add("%s #%d / ", name_string.get(), arity());
319 } 319 }
320 320
321 321
322 void LCallKnownGlobal::PrintDataTo(StringStream* stream) { 322 void LCallKnownGlobal::PrintDataTo(StringStream* stream) {
323 stream->Add("#%d / ", arity()); 323 stream->Add("#%d / ", arity());
324 } 324 }
325 325
326 326
327 void LCallNew::PrintDataTo(StringStream* stream) { 327 void LCallNew::PrintDataTo(StringStream* stream) {
328 stream->Add("= "); 328 stream->Add("= ");
(...skipping 24 matching lines...) Expand all
353 object()->PrintTo(stream); 353 object()->PrintTo(stream);
354 hydrogen()->access().PrintTo(stream); 354 hydrogen()->access().PrintTo(stream);
355 stream->Add(" <- "); 355 stream->Add(" <- ");
356 value()->PrintTo(stream); 356 value()->PrintTo(stream);
357 } 357 }
358 358
359 359
360 void LStoreNamedGeneric::PrintDataTo(StringStream* stream) { 360 void LStoreNamedGeneric::PrintDataTo(StringStream* stream) {
361 object()->PrintTo(stream); 361 object()->PrintTo(stream);
362 stream->Add("."); 362 stream->Add(".");
363 stream->Add(*String::cast(*name())->ToCString()); 363 stream->Add(String::cast(*name())->ToCString().get());
364 stream->Add(" <- "); 364 stream->Add(" <- ");
365 value()->PrintTo(stream); 365 value()->PrintTo(stream);
366 } 366 }
367 367
368 368
369 void LLoadKeyed::PrintDataTo(StringStream* stream) { 369 void LLoadKeyed::PrintDataTo(StringStream* stream) {
370 elements()->PrintTo(stream); 370 elements()->PrintTo(stream);
371 stream->Add("["); 371 stream->Add("[");
372 key()->PrintTo(stream); 372 key()->PrintTo(stream);
373 if (hydrogen()->IsDehoisted()) { 373 if (hydrogen()->IsDehoisted()) {
(...skipping 843 matching lines...) Expand 10 before | Expand all | Expand 10 after
1217 LOperand* context = (r.IsDouble() || r.IsSmiOrInteger32()) 1217 LOperand* context = (r.IsDouble() || r.IsSmiOrInteger32())
1218 ? NULL 1218 ? NULL
1219 : UseFixed(instr->context(), cp); 1219 : UseFixed(instr->context(), cp);
1220 LOperand* input = UseRegister(instr->value()); 1220 LOperand* input = UseRegister(instr->value());
1221 LMathAbs* result = new(zone()) LMathAbs(context, input); 1221 LMathAbs* result = new(zone()) LMathAbs(context, input);
1222 return AssignEnvironment(AssignPointerMap(DefineAsRegister(result))); 1222 return AssignEnvironment(AssignPointerMap(DefineAsRegister(result)));
1223 } 1223 }
1224 1224
1225 1225
1226 LInstruction* LChunkBuilder::DoMathLog(HUnaryMathOperation* instr) { 1226 LInstruction* LChunkBuilder::DoMathLog(HUnaryMathOperation* instr) {
1227 LOperand* input = UseFixedDouble(instr->value(), d2); 1227 ASSERT(instr->representation().IsDouble());
1228 LMathLog* result = new(zone()) LMathLog(input); 1228 ASSERT(instr->value()->representation().IsDouble());
1229 return MarkAsCall(DefineFixedDouble(result, d2), instr); 1229 LOperand* input = UseFixedDouble(instr->value(), d0);
1230 return MarkAsCall(DefineFixedDouble(new(zone()) LMathLog(input), d0), instr);
1230 } 1231 }
1231 1232
1232 1233
1233 LInstruction* LChunkBuilder::DoMathExp(HUnaryMathOperation* instr) { 1234 LInstruction* LChunkBuilder::DoMathExp(HUnaryMathOperation* instr) {
1234 ASSERT(instr->representation().IsDouble()); 1235 ASSERT(instr->representation().IsDouble());
1235 ASSERT(instr->value()->representation().IsDouble()); 1236 ASSERT(instr->value()->representation().IsDouble());
1236 LOperand* input = UseRegister(instr->value()); 1237 LOperand* input = UseRegister(instr->value());
1237 LOperand* temp1 = TempRegister(); 1238 LOperand* temp1 = TempRegister();
1238 LOperand* temp2 = TempRegister(); 1239 LOperand* temp2 = TempRegister();
1239 LOperand* double_temp = FixedTemp(d3); // Chosen by fair dice roll. 1240 LOperand* double_temp = FixedTemp(d3); // Chosen by fair dice roll.
(...skipping 1407 matching lines...) Expand 10 before | Expand all | Expand 10 after
2647 } 2648 }
2648 2649
2649 2650
2650 LInstruction* LChunkBuilder::DoLoadFieldByIndex(HLoadFieldByIndex* instr) { 2651 LInstruction* LChunkBuilder::DoLoadFieldByIndex(HLoadFieldByIndex* instr) {
2651 LOperand* object = UseRegister(instr->object()); 2652 LOperand* object = UseRegister(instr->object());
2652 LOperand* index = UseRegister(instr->index()); 2653 LOperand* index = UseRegister(instr->index());
2653 return DefineAsRegister(new(zone()) LLoadFieldByIndex(object, index)); 2654 return DefineAsRegister(new(zone()) LLoadFieldByIndex(object, index));
2654 } 2655 }
2655 2656
2656 } } // namespace v8::internal 2657 } } // namespace v8::internal
OLDNEW
« no previous file with comments | « src/arm/lithium-arm.h ('k') | src/arm/lithium-codegen-arm.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698