| OLD | NEW |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 |
| OLD | NEW |