OLD | NEW |
(Empty) | |
| 1 // Copyright 2011-2012 the V8 project authors. All rights reserved. |
| 2 // Redistribution and use in source and binary forms, with or without |
| 3 // modification, are permitted provided that the following conditions are |
| 4 // met: |
| 5 // |
| 6 // * Redistributions of source code must retain the above copyright |
| 7 // notice, this list of conditions and the following disclaimer. |
| 8 // * Redistributions in binary form must reproduce the above |
| 9 // copyright notice, this list of conditions and the following |
| 10 // disclaimer in the documentation and/or other materials provided |
| 11 // with the distribution. |
| 12 // * Neither the name of Google Inc. nor the names of its |
| 13 // contributors may be used to endorse or promote products derived |
| 14 // from this software without specific prior written permission. |
| 15 // |
| 16 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
| 17 // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
| 18 // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
| 19 // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
| 20 // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
| 21 // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
| 22 // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
| 23 // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
| 24 // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
| 25 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
| 26 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
| 27 |
| 28 #include "v8.h" |
| 29 |
| 30 #if defined(V8_TARGET_ARCH_SH4) |
| 31 |
| 32 #include "sh4/lithium-codegen-sh4.h" |
| 33 #include "sh4/lithium-gap-resolver-sh4.h" |
| 34 #include "code-stubs.h" |
| 35 #include "stub-cache.h" |
| 36 |
| 37 namespace v8 { |
| 38 namespace internal { |
| 39 |
| 40 |
| 41 class SafepointGenerator : public CallWrapper { |
| 42 public: |
| 43 SafepointGenerator(LCodeGen* codegen, |
| 44 LPointerMap* pointers, |
| 45 Safepoint::DeoptMode mode) |
| 46 : codegen_(codegen), |
| 47 pointers_(pointers), |
| 48 deopt_mode_(mode) { } |
| 49 virtual ~SafepointGenerator() { } |
| 50 |
| 51 virtual void BeforeCall(int call_size) const { } |
| 52 |
| 53 virtual void AfterCall() const { |
| 54 codegen_->RecordSafepoint(pointers_, deopt_mode_); |
| 55 } |
| 56 |
| 57 private: |
| 58 LCodeGen* codegen_; |
| 59 LPointerMap* pointers_; |
| 60 Safepoint::DeoptMode deopt_mode_; |
| 61 }; |
| 62 |
| 63 |
| 64 #define __ masm()-> |
| 65 |
| 66 bool LCodeGen::GenerateCode() { |
| 67 UNIMPLEMENTED(); |
| 68 return false; |
| 69 } |
| 70 |
| 71 |
| 72 void LCodeGen::FinishCode(Handle<Code> code) { |
| 73 UNIMPLEMENTED(); |
| 74 } |
| 75 |
| 76 |
| 77 void LCodeGen::Abort(const char* reason) { |
| 78 UNIMPLEMENTED(); |
| 79 } |
| 80 |
| 81 |
| 82 void LCodeGen::Comment(const char* format, ...) { |
| 83 UNIMPLEMENTED(); |
| 84 } |
| 85 |
| 86 |
| 87 bool LCodeGen::GeneratePrologue() { |
| 88 UNIMPLEMENTED(); |
| 89 return false; |
| 90 } |
| 91 |
| 92 |
| 93 bool LCodeGen::GenerateBody() { |
| 94 UNIMPLEMENTED(); |
| 95 return false; |
| 96 } |
| 97 |
| 98 |
| 99 LInstruction* LCodeGen::GetNextInstruction() { |
| 100 UNIMPLEMENTED(); |
| 101 return NULL; |
| 102 } |
| 103 |
| 104 |
| 105 bool LCodeGen::GenerateDeferredCode() { |
| 106 UNIMPLEMENTED(); |
| 107 return false; |
| 108 } |
| 109 |
| 110 |
| 111 bool LCodeGen::GenerateDeoptJumpTable() { |
| 112 UNIMPLEMENTED(); |
| 113 return false; |
| 114 } |
| 115 |
| 116 |
| 117 bool LCodeGen::GenerateSafepointTable() { |
| 118 UNIMPLEMENTED(); |
| 119 return false; |
| 120 } |
| 121 |
| 122 |
| 123 Register LCodeGen::ToRegister(int index) const { |
| 124 UNIMPLEMENTED(); |
| 125 return no_reg; |
| 126 } |
| 127 |
| 128 |
| 129 DoubleRegister LCodeGen::ToDoubleRegister(int index) const { |
| 130 UNIMPLEMENTED(); |
| 131 return no_dreg; |
| 132 } |
| 133 |
| 134 |
| 135 Register LCodeGen::ToRegister(LOperand* op) const { |
| 136 UNIMPLEMENTED(); |
| 137 return no_reg; |
| 138 } |
| 139 |
| 140 |
| 141 Register LCodeGen::EmitLoadRegister(LOperand* op, Register scratch) { |
| 142 UNIMPLEMENTED(); |
| 143 return no_reg; |
| 144 } |
| 145 |
| 146 |
| 147 DoubleRegister LCodeGen::ToDoubleRegister(LOperand* op) const { |
| 148 UNIMPLEMENTED(); |
| 149 return no_dreg; |
| 150 } |
| 151 |
| 152 |
| 153 DoubleRegister LCodeGen::EmitLoadDoubleRegister(LOperand* op, |
| 154 SwVfpRegister flt_scratch, |
| 155 DoubleRegister dbl_scratch) { |
| 156 UNIMPLEMENTED(); |
| 157 return no_dreg; |
| 158 } |
| 159 |
| 160 |
| 161 Handle<Object> LCodeGen::ToHandle(LConstantOperand* op) const { |
| 162 UNIMPLEMENTED(); |
| 163 return Handle<Object>(); |
| 164 } |
| 165 |
| 166 |
| 167 bool LCodeGen::IsInteger32(LConstantOperand* op) const { |
| 168 UNIMPLEMENTED(); |
| 169 return false; |
| 170 } |
| 171 |
| 172 |
| 173 int LCodeGen::ToInteger32(LConstantOperand* op) const { |
| 174 UNIMPLEMENTED(); |
| 175 return 0; |
| 176 } |
| 177 |
| 178 |
| 179 double LCodeGen::ToDouble(LConstantOperand* op) const { |
| 180 UNIMPLEMENTED(); |
| 181 return 0.0; |
| 182 } |
| 183 |
| 184 |
| 185 Operand LCodeGen::ToOperand(LOperand* op) { |
| 186 UNIMPLEMENTED(); |
| 187 return Operand(0); |
| 188 } |
| 189 |
| 190 |
| 191 MemOperand LCodeGen::ToMemOperand(LOperand* op) const { |
| 192 UNIMPLEMENTED(); |
| 193 return MemOperand(no_reg, 0); |
| 194 } |
| 195 |
| 196 |
| 197 MemOperand LCodeGen::ToHighMemOperand(LOperand* op) const { |
| 198 UNIMPLEMENTED(); |
| 199 return MemOperand(no_reg, 0); |
| 200 } |
| 201 |
| 202 |
| 203 void LCodeGen::WriteTranslation(LEnvironment* environment, |
| 204 Translation* translation, |
| 205 int* arguments_index, |
| 206 int* arguments_count) { |
| 207 UNIMPLEMENTED(); |
| 208 } |
| 209 |
| 210 |
| 211 void LCodeGen::AddToTranslation(Translation* translation, |
| 212 LOperand* op, |
| 213 bool is_tagged, |
| 214 bool is_uint32, |
| 215 int arguments_index, |
| 216 int arguments_count) { |
| 217 UNIMPLEMENTED(); |
| 218 } |
| 219 |
| 220 |
| 221 void LCodeGen::CallRuntime(const Runtime::Function* function, |
| 222 int num_arguments, |
| 223 LInstruction* instr) { |
| 224 UNIMPLEMENTED(); |
| 225 } |
| 226 |
| 227 |
| 228 void LCodeGen::CallRuntimeFromDeferred(Runtime::FunctionId id, |
| 229 int argc, |
| 230 LInstruction* instr) { |
| 231 UNIMPLEMENTED(); |
| 232 } |
| 233 |
| 234 |
| 235 void LCodeGen::RegisterEnvironmentForDeoptimization(LEnvironment* environment, |
| 236 Safepoint::DeoptMode mode) { |
| 237 UNIMPLEMENTED(); |
| 238 } |
| 239 |
| 240 |
| 241 void LCodeGen::DeoptimizeIf(Condition cc, LEnvironment* environment) { |
| 242 UNIMPLEMENTED(); |
| 243 } |
| 244 |
| 245 |
| 246 void LCodeGen::PopulateDeoptimizationData(Handle<Code> code) { |
| 247 UNIMPLEMENTED(); |
| 248 } |
| 249 |
| 250 |
| 251 int LCodeGen::DefineDeoptimizationLiteral(Handle<Object> literal) { |
| 252 return 0; |
| 253 UNIMPLEMENTED(); |
| 254 } |
| 255 |
| 256 |
| 257 void LCodeGen::PopulateDeoptimizationLiteralsWithInlinedFunctions() { |
| 258 UNIMPLEMENTED(); |
| 259 } |
| 260 |
| 261 |
| 262 void LCodeGen::RecordSafepoint( |
| 263 LPointerMap* pointers, |
| 264 Safepoint::Kind kind, |
| 265 int arguments, |
| 266 Safepoint::DeoptMode deopt_mode) { |
| 267 UNIMPLEMENTED(); |
| 268 } |
| 269 |
| 270 |
| 271 void LCodeGen::RecordSafepoint(LPointerMap* pointers, |
| 272 Safepoint::DeoptMode deopt_mode) { |
| 273 UNIMPLEMENTED(); |
| 274 } |
| 275 |
| 276 |
| 277 void LCodeGen::RecordSafepoint(Safepoint::DeoptMode deopt_mode) { |
| 278 UNIMPLEMENTED(); |
| 279 } |
| 280 |
| 281 |
| 282 void LCodeGen::RecordSafepointWithRegisters(LPointerMap* pointers, |
| 283 int arguments, |
| 284 Safepoint::DeoptMode deopt_mode) { |
| 285 UNIMPLEMENTED(); |
| 286 } |
| 287 |
| 288 |
| 289 void LCodeGen::RecordSafepointWithRegistersAndDoubles( |
| 290 LPointerMap* pointers, |
| 291 int arguments, |
| 292 Safepoint::DeoptMode deopt_mode) { |
| 293 UNIMPLEMENTED(); |
| 294 } |
| 295 |
| 296 |
| 297 void LCodeGen::RecordPosition(int position) { |
| 298 UNIMPLEMENTED(); |
| 299 } |
| 300 |
| 301 |
| 302 void LCodeGen::DoLabel(LLabel* label) { |
| 303 UNIMPLEMENTED(); |
| 304 } |
| 305 |
| 306 |
| 307 void LCodeGen::DoParallelMove(LParallelMove* move) { |
| 308 UNIMPLEMENTED(); |
| 309 } |
| 310 |
| 311 |
| 312 void LCodeGen::DoGap(LGap* gap) { |
| 313 UNIMPLEMENTED(); |
| 314 } |
| 315 |
| 316 |
| 317 void LCodeGen::DoInstructionGap(LInstructionGap* instr) { |
| 318 UNIMPLEMENTED(); |
| 319 } |
| 320 |
| 321 |
| 322 void LCodeGen::DoParameter(LParameter* instr) { |
| 323 UNIMPLEMENTED(); |
| 324 } |
| 325 |
| 326 |
| 327 void LCodeGen::DoCallStub(LCallStub* instr) { |
| 328 UNIMPLEMENTED(); |
| 329 } |
| 330 |
| 331 |
| 332 void LCodeGen::DoUnknownOSRValue(LUnknownOSRValue* instr) { |
| 333 UNIMPLEMENTED(); |
| 334 } |
| 335 |
| 336 |
| 337 void LCodeGen::DoModI(LModI* instr) { |
| 338 UNIMPLEMENTED(); |
| 339 } |
| 340 |
| 341 |
| 342 void LCodeGen::EmitSignedIntegerDivisionByConstant( |
| 343 Register result, |
| 344 Register dividend, |
| 345 int32_t divisor, |
| 346 Register remainder, |
| 347 Register scratch, |
| 348 LEnvironment* environment) { |
| 349 UNIMPLEMENTED(); |
| 350 } |
| 351 |
| 352 |
| 353 void LCodeGen::DoDivI(LDivI* instr) { |
| 354 UNIMPLEMENTED(); |
| 355 } |
| 356 |
| 357 |
| 358 void LCodeGen::DoMathFloorOfDiv(LMathFloorOfDiv* instr) { |
| 359 UNIMPLEMENTED(); |
| 360 } |
| 361 |
| 362 |
| 363 void LCodeGen::DoDeferredBinaryOpStub(LPointerMap* pointer_map, |
| 364 LOperand* left_argument, |
| 365 LOperand* right_argument, |
| 366 Token::Value op) { |
| 367 UNIMPLEMENTED(); |
| 368 } |
| 369 |
| 370 |
| 371 void LCodeGen::DoMulI(LMulI* instr) { |
| 372 UNIMPLEMENTED(); |
| 373 } |
| 374 |
| 375 |
| 376 void LCodeGen::DoBitI(LBitI* instr) { |
| 377 UNIMPLEMENTED(); |
| 378 } |
| 379 |
| 380 |
| 381 void LCodeGen::DoShiftI(LShiftI* instr) { |
| 382 UNIMPLEMENTED(); |
| 383 } |
| 384 |
| 385 |
| 386 void LCodeGen::DoSubI(LSubI* instr) { |
| 387 UNIMPLEMENTED(); |
| 388 } |
| 389 |
| 390 |
| 391 void LCodeGen::DoConstantI(LConstantI* instr) { |
| 392 UNIMPLEMENTED(); |
| 393 } |
| 394 |
| 395 |
| 396 void LCodeGen::DoConstantD(LConstantD* instr) { |
| 397 UNIMPLEMENTED(); |
| 398 } |
| 399 |
| 400 |
| 401 void LCodeGen::DoConstantT(LConstantT* instr) { |
| 402 UNIMPLEMENTED(); |
| 403 } |
| 404 |
| 405 |
| 406 void LCodeGen::DoJSArrayLength(LJSArrayLength* instr) { |
| 407 UNIMPLEMENTED(); |
| 408 } |
| 409 |
| 410 |
| 411 void LCodeGen::DoFixedArrayBaseLength(LFixedArrayBaseLength* instr) { |
| 412 UNIMPLEMENTED(); |
| 413 } |
| 414 |
| 415 |
| 416 void LCodeGen::DoMapEnumLength(LMapEnumLength* instr) { |
| 417 UNIMPLEMENTED(); |
| 418 } |
| 419 |
| 420 |
| 421 void LCodeGen::DoElementsKind(LElementsKind* instr) { |
| 422 UNIMPLEMENTED(); |
| 423 } |
| 424 |
| 425 |
| 426 void LCodeGen::DoValueOf(LValueOf* instr) { |
| 427 UNIMPLEMENTED(); |
| 428 } |
| 429 |
| 430 void LCodeGen::DoDateField(LDateField* instr) { |
| 431 UNIMPLEMENTED(); |
| 432 } |
| 433 |
| 434 |
| 435 void LCodeGen::DoBitNotI(LBitNotI* instr) { |
| 436 UNIMPLEMENTED(); |
| 437 } |
| 438 |
| 439 |
| 440 void LCodeGen::DoThrow(LThrow* instr) { |
| 441 UNIMPLEMENTED(); |
| 442 } |
| 443 |
| 444 |
| 445 void LCodeGen::DoAddI(LAddI* instr) { |
| 446 UNIMPLEMENTED(); |
| 447 } |
| 448 |
| 449 |
| 450 void LCodeGen::DoMathMinMax(LMathMinMax* instr) { |
| 451 UNIMPLEMENTED(); |
| 452 } |
| 453 |
| 454 |
| 455 void LCodeGen::DoArithmeticD(LArithmeticD* instr) { |
| 456 UNIMPLEMENTED(); |
| 457 } |
| 458 |
| 459 |
| 460 void LCodeGen::DoArithmeticT(LArithmeticT* instr) { |
| 461 UNIMPLEMENTED(); |
| 462 } |
| 463 |
| 464 |
| 465 int LCodeGen::GetNextEmittedBlock(int block) { |
| 466 UNIMPLEMENTED(); |
| 467 return 0; |
| 468 } |
| 469 |
| 470 |
| 471 void LCodeGen::EmitBranch(int left_block, int right_block, Condition cc) { |
| 472 UNIMPLEMENTED(); |
| 473 } |
| 474 |
| 475 |
| 476 void LCodeGen::DoBranch(LBranch* instr) { |
| 477 UNIMPLEMENTED(); |
| 478 } |
| 479 |
| 480 |
| 481 void LCodeGen::EmitGoto(int block) { |
| 482 UNIMPLEMENTED(); |
| 483 } |
| 484 |
| 485 |
| 486 void LCodeGen::DoGoto(LGoto* instr) { |
| 487 UNIMPLEMENTED(); |
| 488 } |
| 489 |
| 490 |
| 491 Condition LCodeGen::TokenToCondition(Token::Value op, bool is_unsigned) { |
| 492 UNIMPLEMENTED(); |
| 493 return ne; |
| 494 } |
| 495 |
| 496 |
| 497 void LCodeGen::DoCmpIDAndBranch(LCmpIDAndBranch* instr) { |
| 498 UNIMPLEMENTED(); |
| 499 } |
| 500 |
| 501 |
| 502 void LCodeGen::DoCmpObjectEqAndBranch(LCmpObjectEqAndBranch* instr) { |
| 503 UNIMPLEMENTED(); |
| 504 } |
| 505 |
| 506 |
| 507 void LCodeGen::DoCmpConstantEqAndBranch(LCmpConstantEqAndBranch* instr) { |
| 508 UNIMPLEMENTED(); |
| 509 } |
| 510 |
| 511 |
| 512 void LCodeGen::DoIsNilAndBranch(LIsNilAndBranch* instr) { |
| 513 UNIMPLEMENTED(); |
| 514 } |
| 515 |
| 516 |
| 517 Condition LCodeGen::EmitIsObject(Register input, |
| 518 Register temp1, |
| 519 Label* is_not_object, |
| 520 Label* is_object) { |
| 521 UNIMPLEMENTED(); |
| 522 return ne; |
| 523 } |
| 524 |
| 525 |
| 526 void LCodeGen::DoIsObjectAndBranch(LIsObjectAndBranch* instr) { |
| 527 UNIMPLEMENTED(); |
| 528 } |
| 529 |
| 530 |
| 531 Condition LCodeGen::EmitIsString(Register input, |
| 532 Register temp1, |
| 533 Label* is_not_string) { |
| 534 UNIMPLEMENTED(); |
| 535 return ne; |
| 536 } |
| 537 |
| 538 |
| 539 void LCodeGen::DoIsStringAndBranch(LIsStringAndBranch* instr) { |
| 540 UNIMPLEMENTED(); |
| 541 } |
| 542 |
| 543 |
| 544 void LCodeGen::DoIsSmiAndBranch(LIsSmiAndBranch* instr) { |
| 545 UNIMPLEMENTED(); |
| 546 } |
| 547 |
| 548 |
| 549 void LCodeGen::DoIsUndetectableAndBranch(LIsUndetectableAndBranch* instr) { |
| 550 UNIMPLEMENTED(); |
| 551 } |
| 552 |
| 553 |
| 554 void LCodeGen::DoStringCompareAndBranch(LStringCompareAndBranch* instr) { |
| 555 UNIMPLEMENTED(); |
| 556 } |
| 557 |
| 558 |
| 559 void LCodeGen::DoHasInstanceTypeAndBranch(LHasInstanceTypeAndBranch* instr) { |
| 560 UNIMPLEMENTED(); |
| 561 } |
| 562 |
| 563 |
| 564 void LCodeGen::DoGetCachedArrayIndex(LGetCachedArrayIndex* instr) { |
| 565 UNIMPLEMENTED(); |
| 566 } |
| 567 |
| 568 |
| 569 void LCodeGen::DoHasCachedArrayIndexAndBranch( |
| 570 LHasCachedArrayIndexAndBranch* instr) { |
| 571 UNIMPLEMENTED(); |
| 572 } |
| 573 |
| 574 |
| 575 // Branches to a label or falls through with the answer in flags. Trashes |
| 576 // the temp registers, but not the input. |
| 577 void LCodeGen::EmitClassOfTest(Label* is_true, |
| 578 Label* is_false, |
| 579 Handle<String>class_name, |
| 580 Register input, |
| 581 Register temp, |
| 582 Register temp2) { |
| 583 UNIMPLEMENTED(); |
| 584 } |
| 585 |
| 586 |
| 587 void LCodeGen::DoClassOfTestAndBranch(LClassOfTestAndBranch* instr) { |
| 588 UNIMPLEMENTED(); |
| 589 } |
| 590 |
| 591 |
| 592 void LCodeGen::DoCmpMapAndBranch(LCmpMapAndBranch* instr) { |
| 593 UNIMPLEMENTED(); |
| 594 } |
| 595 |
| 596 |
| 597 void LCodeGen::DoInstanceOf(LInstanceOf* instr) { |
| 598 UNIMPLEMENTED(); |
| 599 } |
| 600 |
| 601 |
| 602 void LCodeGen::DoInstanceOfKnownGlobal(LInstanceOfKnownGlobal* instr) { |
| 603 UNIMPLEMENTED(); |
| 604 } |
| 605 |
| 606 |
| 607 void LCodeGen::DoDeferredInstanceOfKnownGlobal(LInstanceOfKnownGlobal* instr, |
| 608 Label* map_check) { |
| 609 UNIMPLEMENTED(); |
| 610 } |
| 611 |
| 612 |
| 613 void LCodeGen::DoCmpT(LCmpT* instr) { |
| 614 UNIMPLEMENTED(); |
| 615 } |
| 616 |
| 617 |
| 618 void LCodeGen::DoReturn(LReturn* instr) { |
| 619 UNIMPLEMENTED(); |
| 620 } |
| 621 |
| 622 |
| 623 void LCodeGen::DoLoadGlobalCell(LLoadGlobalCell* instr) { |
| 624 UNIMPLEMENTED(); |
| 625 } |
| 626 |
| 627 |
| 628 void LCodeGen::DoLoadGlobalGeneric(LLoadGlobalGeneric* instr) { |
| 629 UNIMPLEMENTED(); |
| 630 } |
| 631 |
| 632 |
| 633 void LCodeGen::DoStoreGlobalCell(LStoreGlobalCell* instr) { |
| 634 UNIMPLEMENTED(); |
| 635 } |
| 636 |
| 637 |
| 638 void LCodeGen::DoStoreGlobalGeneric(LStoreGlobalGeneric* instr) { |
| 639 UNIMPLEMENTED(); |
| 640 } |
| 641 |
| 642 |
| 643 void LCodeGen::DoLoadContextSlot(LLoadContextSlot* instr) { |
| 644 UNIMPLEMENTED(); |
| 645 } |
| 646 |
| 647 |
| 648 void LCodeGen::DoStoreContextSlot(LStoreContextSlot* instr) { |
| 649 UNIMPLEMENTED(); |
| 650 } |
| 651 |
| 652 |
| 653 void LCodeGen::DoLoadNamedField(LLoadNamedField* instr) { |
| 654 UNIMPLEMENTED(); |
| 655 } |
| 656 |
| 657 |
| 658 void LCodeGen::EmitLoadFieldOrConstantFunction(Register result, |
| 659 Register object, |
| 660 Handle<Map> type, |
| 661 Handle<String> name, |
| 662 LEnvironment* env) { |
| 663 UNIMPLEMENTED(); |
| 664 } |
| 665 |
| 666 |
| 667 void LCodeGen::DoLoadNamedFieldPolymorphic(LLoadNamedFieldPolymorphic* instr) { |
| 668 UNIMPLEMENTED(); |
| 669 } |
| 670 |
| 671 |
| 672 void LCodeGen::DoLoadNamedGeneric(LLoadNamedGeneric* instr) { |
| 673 UNIMPLEMENTED(); |
| 674 } |
| 675 |
| 676 |
| 677 void LCodeGen::DoLoadFunctionPrototype(LLoadFunctionPrototype* instr) { |
| 678 UNIMPLEMENTED(); |
| 679 } |
| 680 |
| 681 |
| 682 void LCodeGen::DoLoadElements(LLoadElements* instr) { |
| 683 UNIMPLEMENTED(); |
| 684 } |
| 685 |
| 686 |
| 687 void LCodeGen::DoLoadExternalArrayPointer( |
| 688 LLoadExternalArrayPointer* instr) { |
| 689 UNIMPLEMENTED(); |
| 690 } |
| 691 |
| 692 |
| 693 void LCodeGen::DoAccessArgumentsAt(LAccessArgumentsAt* instr) { |
| 694 UNIMPLEMENTED(); |
| 695 } |
| 696 |
| 697 |
| 698 void LCodeGen::DoLoadKeyedExternalArray(LLoadKeyed* instr) { |
| 699 UNIMPLEMENTED(); |
| 700 } |
| 701 |
| 702 |
| 703 void LCodeGen::DoLoadKeyedFixedDoubleArray(LLoadKeyed* instr) { |
| 704 UNIMPLEMENTED(); |
| 705 } |
| 706 |
| 707 |
| 708 void LCodeGen::DoLoadKeyedFixedArray(LLoadKeyed* instr) { |
| 709 UNIMPLEMENTED(); |
| 710 } |
| 711 |
| 712 |
| 713 void LCodeGen::DoLoadKeyed(LLoadKeyed* instr) { |
| 714 UNIMPLEMENTED(); |
| 715 } |
| 716 |
| 717 |
| 718 MemOperand LCodeGen::PrepareKeyedOperand(Register key, |
| 719 Register base, |
| 720 bool key_is_constant, |
| 721 int constant_key, |
| 722 int element_size, |
| 723 int shift_size, |
| 724 int additional_index, |
| 725 int additional_offset) { |
| 726 UNIMPLEMENTED(); |
| 727 return MemOperand(no_reg, 0); |
| 728 } |
| 729 |
| 730 |
| 731 |
| 732 void LCodeGen::DoLoadKeyedGeneric(LLoadKeyedGeneric* instr) { |
| 733 UNIMPLEMENTED(); |
| 734 } |
| 735 |
| 736 |
| 737 void LCodeGen::DoArgumentsElements(LArgumentsElements* instr) { |
| 738 UNIMPLEMENTED(); |
| 739 } |
| 740 |
| 741 |
| 742 void LCodeGen::DoArgumentsLength(LArgumentsLength* instr) { |
| 743 UNIMPLEMENTED(); |
| 744 } |
| 745 |
| 746 |
| 747 void LCodeGen::DoWrapReceiver(LWrapReceiver* instr) { |
| 748 UNIMPLEMENTED(); |
| 749 } |
| 750 |
| 751 |
| 752 void LCodeGen::DoApplyArguments(LApplyArguments* instr) { |
| 753 UNIMPLEMENTED(); |
| 754 } |
| 755 |
| 756 |
| 757 void LCodeGen::DoPushArgument(LPushArgument* instr) { |
| 758 UNIMPLEMENTED(); |
| 759 } |
| 760 |
| 761 |
| 762 void LCodeGen::DoDrop(LDrop* instr) { |
| 763 UNIMPLEMENTED(); |
| 764 } |
| 765 |
| 766 |
| 767 void LCodeGen::DoThisFunction(LThisFunction* instr) { |
| 768 UNIMPLEMENTED(); |
| 769 } |
| 770 |
| 771 |
| 772 void LCodeGen::DoContext(LContext* instr) { |
| 773 UNIMPLEMENTED(); |
| 774 } |
| 775 |
| 776 |
| 777 void LCodeGen::DoOuterContext(LOuterContext* instr) { |
| 778 UNIMPLEMENTED(); |
| 779 } |
| 780 |
| 781 |
| 782 void LCodeGen::DoDeclareGlobals(LDeclareGlobals* instr) { |
| 783 UNIMPLEMENTED(); |
| 784 } |
| 785 |
| 786 |
| 787 void LCodeGen::DoGlobalObject(LGlobalObject* instr) { |
| 788 UNIMPLEMENTED(); |
| 789 } |
| 790 |
| 791 |
| 792 void LCodeGen::DoGlobalReceiver(LGlobalReceiver* instr) { |
| 793 UNIMPLEMENTED(); |
| 794 } |
| 795 |
| 796 |
| 797 void LCodeGen::CallKnownFunction(Handle<JSFunction> function, |
| 798 int arity, |
| 799 LInstruction* instr, |
| 800 CallKind call_kind, |
| 801 R1State r1_state) { |
| 802 UNIMPLEMENTED(); |
| 803 } |
| 804 |
| 805 |
| 806 void LCodeGen::DoCallConstantFunction(LCallConstantFunction* instr) { |
| 807 UNIMPLEMENTED(); |
| 808 } |
| 809 |
| 810 |
| 811 void LCodeGen::DoDeferredMathAbsTaggedHeapNumber(LUnaryMathOperation* instr) { |
| 812 UNIMPLEMENTED(); |
| 813 } |
| 814 |
| 815 |
| 816 void LCodeGen::EmitIntegerMathAbs(LUnaryMathOperation* instr) { |
| 817 UNIMPLEMENTED(); |
| 818 } |
| 819 |
| 820 |
| 821 void LCodeGen::DoMathAbs(LUnaryMathOperation* instr) { |
| 822 UNIMPLEMENTED(); |
| 823 } |
| 824 |
| 825 |
| 826 void LCodeGen::DoMathFloor(LUnaryMathOperation* instr) { |
| 827 UNIMPLEMENTED(); |
| 828 } |
| 829 |
| 830 |
| 831 void LCodeGen::DoMathRound(LUnaryMathOperation* instr) { |
| 832 UNIMPLEMENTED(); |
| 833 } |
| 834 |
| 835 |
| 836 void LCodeGen::DoMathSqrt(LUnaryMathOperation* instr) { |
| 837 UNIMPLEMENTED(); |
| 838 } |
| 839 |
| 840 |
| 841 void LCodeGen::DoMathPowHalf(LUnaryMathOperation* instr) { |
| 842 UNIMPLEMENTED(); |
| 843 } |
| 844 |
| 845 |
| 846 void LCodeGen::DoPower(LPower* instr) { |
| 847 UNIMPLEMENTED(); |
| 848 } |
| 849 |
| 850 |
| 851 void LCodeGen::DoRandom(LRandom* instr) { |
| 852 UNIMPLEMENTED(); |
| 853 } |
| 854 |
| 855 |
| 856 void LCodeGen::DoDeferredRandom(LRandom* instr) { |
| 857 UNIMPLEMENTED(); |
| 858 } |
| 859 |
| 860 |
| 861 void LCodeGen::DoMathLog(LUnaryMathOperation* instr) { |
| 862 UNIMPLEMENTED(); |
| 863 } |
| 864 |
| 865 |
| 866 void LCodeGen::DoMathCos(LUnaryMathOperation* instr) { |
| 867 UNIMPLEMENTED(); |
| 868 } |
| 869 |
| 870 |
| 871 void LCodeGen::DoMathSin(LUnaryMathOperation* instr) { |
| 872 UNIMPLEMENTED(); |
| 873 } |
| 874 |
| 875 |
| 876 void LCodeGen::DoUnaryMathOperation(LUnaryMathOperation* instr) { |
| 877 UNIMPLEMENTED(); |
| 878 } |
| 879 |
| 880 |
| 881 void LCodeGen::DoInvokeFunction(LInvokeFunction* instr) { |
| 882 UNIMPLEMENTED(); |
| 883 } |
| 884 |
| 885 |
| 886 void LCodeGen::DoCallKeyed(LCallKeyed* instr) { |
| 887 UNIMPLEMENTED(); |
| 888 } |
| 889 |
| 890 |
| 891 void LCodeGen::DoCallNamed(LCallNamed* instr) { |
| 892 UNIMPLEMENTED(); |
| 893 } |
| 894 |
| 895 |
| 896 void LCodeGen::DoCallFunction(LCallFunction* instr) { |
| 897 UNIMPLEMENTED(); |
| 898 } |
| 899 |
| 900 |
| 901 void LCodeGen::DoCallGlobal(LCallGlobal* instr) { |
| 902 UNIMPLEMENTED(); |
| 903 } |
| 904 |
| 905 |
| 906 void LCodeGen::DoCallKnownGlobal(LCallKnownGlobal* instr) { |
| 907 UNIMPLEMENTED(); |
| 908 } |
| 909 |
| 910 |
| 911 void LCodeGen::DoCallNew(LCallNew* instr) { |
| 912 UNIMPLEMENTED(); |
| 913 } |
| 914 |
| 915 |
| 916 void LCodeGen::DoCallRuntime(LCallRuntime* instr) { |
| 917 UNIMPLEMENTED(); |
| 918 } |
| 919 |
| 920 |
| 921 void LCodeGen::DoStoreNamedField(LStoreNamedField* instr) { |
| 922 UNIMPLEMENTED(); |
| 923 } |
| 924 |
| 925 |
| 926 void LCodeGen::DoStoreNamedGeneric(LStoreNamedGeneric* instr) { |
| 927 UNIMPLEMENTED(); |
| 928 } |
| 929 |
| 930 |
| 931 void LCodeGen::DeoptIfTaggedButNotSmi(LEnvironment* environment, |
| 932 HValue* value, |
| 933 LOperand* operand) { |
| 934 UNIMPLEMENTED(); |
| 935 } |
| 936 |
| 937 |
| 938 void LCodeGen::DoBoundsCheck(LBoundsCheck* instr) { |
| 939 UNIMPLEMENTED(); |
| 940 } |
| 941 |
| 942 |
| 943 void LCodeGen::DoStoreKeyedExternalArray(LStoreKeyed* instr) { |
| 944 UNIMPLEMENTED(); |
| 945 } |
| 946 |
| 947 |
| 948 void LCodeGen::DoStoreKeyedFixedDoubleArray(LStoreKeyed* instr) { |
| 949 UNIMPLEMENTED(); |
| 950 } |
| 951 |
| 952 |
| 953 void LCodeGen::DoStoreKeyedFixedArray(LStoreKeyed* instr) { |
| 954 UNIMPLEMENTED(); |
| 955 } |
| 956 |
| 957 |
| 958 void LCodeGen::DoStoreKeyed(LStoreKeyed* instr) { |
| 959 UNIMPLEMENTED(); |
| 960 } |
| 961 |
| 962 |
| 963 void LCodeGen::DoStoreKeyedGeneric(LStoreKeyedGeneric* instr) { |
| 964 UNIMPLEMENTED(); |
| 965 } |
| 966 |
| 967 |
| 968 void LCodeGen::DoTransitionElementsKind(LTransitionElementsKind* instr) { |
| 969 UNIMPLEMENTED(); |
| 970 } |
| 971 |
| 972 |
| 973 void LCodeGen::DoStringAdd(LStringAdd* instr) { |
| 974 UNIMPLEMENTED(); |
| 975 } |
| 976 |
| 977 |
| 978 void LCodeGen::DoStringCharCodeAt(LStringCharCodeAt* instr) { |
| 979 UNIMPLEMENTED(); |
| 980 } |
| 981 |
| 982 |
| 983 void LCodeGen::DoDeferredStringCharCodeAt(LStringCharCodeAt* instr) { |
| 984 UNIMPLEMENTED(); |
| 985 } |
| 986 |
| 987 |
| 988 void LCodeGen::DoStringCharFromCode(LStringCharFromCode* instr) { |
| 989 UNIMPLEMENTED(); |
| 990 } |
| 991 |
| 992 |
| 993 void LCodeGen::DoDeferredStringCharFromCode(LStringCharFromCode* instr) { |
| 994 UNIMPLEMENTED(); |
| 995 } |
| 996 |
| 997 |
| 998 void LCodeGen::DoStringLength(LStringLength* instr) { |
| 999 UNIMPLEMENTED(); |
| 1000 } |
| 1001 |
| 1002 |
| 1003 void LCodeGen::DoInteger32ToDouble(LInteger32ToDouble* instr) { |
| 1004 UNIMPLEMENTED(); |
| 1005 } |
| 1006 |
| 1007 |
| 1008 void LCodeGen::DoUint32ToDouble(LUint32ToDouble* instr) { |
| 1009 UNIMPLEMENTED(); |
| 1010 } |
| 1011 |
| 1012 |
| 1013 void LCodeGen::DoNumberTagI(LNumberTagI* instr) { |
| 1014 UNIMPLEMENTED(); |
| 1015 } |
| 1016 |
| 1017 |
| 1018 void LCodeGen::DoNumberTagU(LNumberTagU* instr) { |
| 1019 UNIMPLEMENTED(); |
| 1020 } |
| 1021 |
| 1022 |
| 1023 void LCodeGen::DoDeferredNumberTagI(LInstruction* instr, |
| 1024 LOperand* value, |
| 1025 IntegerSignedness signedness) { |
| 1026 UNIMPLEMENTED(); |
| 1027 } |
| 1028 |
| 1029 |
| 1030 void LCodeGen::DoNumberTagD(LNumberTagD* instr) { |
| 1031 UNIMPLEMENTED(); |
| 1032 } |
| 1033 |
| 1034 |
| 1035 void LCodeGen::DoDeferredNumberTagD(LNumberTagD* instr) { |
| 1036 UNIMPLEMENTED(); |
| 1037 } |
| 1038 |
| 1039 |
| 1040 void LCodeGen::DoSmiTag(LSmiTag* instr) { |
| 1041 UNIMPLEMENTED(); |
| 1042 } |
| 1043 |
| 1044 |
| 1045 void LCodeGen::DoSmiUntag(LSmiUntag* instr) { |
| 1046 UNIMPLEMENTED(); |
| 1047 } |
| 1048 |
| 1049 |
| 1050 void LCodeGen::EmitNumberUntagD(Register input_reg, |
| 1051 DoubleRegister result_reg, |
| 1052 bool deoptimize_on_undefined, |
| 1053 bool deoptimize_on_minus_zero, |
| 1054 LEnvironment* env) { |
| 1055 UNIMPLEMENTED(); |
| 1056 } |
| 1057 |
| 1058 |
| 1059 void LCodeGen::DoDeferredTaggedToI(LTaggedToI* instr) { |
| 1060 UNIMPLEMENTED(); |
| 1061 } |
| 1062 |
| 1063 |
| 1064 void LCodeGen::DoTaggedToI(LTaggedToI* instr) { |
| 1065 UNIMPLEMENTED(); |
| 1066 } |
| 1067 |
| 1068 |
| 1069 void LCodeGen::DoNumberUntagD(LNumberUntagD* instr) { |
| 1070 UNIMPLEMENTED(); |
| 1071 } |
| 1072 |
| 1073 |
| 1074 void LCodeGen::DoDoubleToI(LDoubleToI* instr) { |
| 1075 UNIMPLEMENTED(); |
| 1076 } |
| 1077 |
| 1078 |
| 1079 void LCodeGen::DoCheckSmi(LCheckSmi* instr) { |
| 1080 UNIMPLEMENTED(); |
| 1081 } |
| 1082 |
| 1083 |
| 1084 void LCodeGen::DoCheckNonSmi(LCheckNonSmi* instr) { |
| 1085 UNIMPLEMENTED(); |
| 1086 } |
| 1087 |
| 1088 |
| 1089 void LCodeGen::DoCheckInstanceType(LCheckInstanceType* instr) { |
| 1090 UNIMPLEMENTED(); |
| 1091 } |
| 1092 |
| 1093 |
| 1094 void LCodeGen::DoCheckFunction(LCheckFunction* instr) { |
| 1095 UNIMPLEMENTED(); |
| 1096 } |
| 1097 |
| 1098 |
| 1099 void LCodeGen::DoCheckMapCommon(Register reg, |
| 1100 Register scratch, |
| 1101 Handle<Map> map, |
| 1102 CompareMapMode mode, |
| 1103 LEnvironment* env) { |
| 1104 UNIMPLEMENTED(); |
| 1105 } |
| 1106 |
| 1107 |
| 1108 void LCodeGen::DoCheckMaps(LCheckMaps* instr) { |
| 1109 UNIMPLEMENTED(); |
| 1110 } |
| 1111 |
| 1112 |
| 1113 void LCodeGen::DoClampDToUint8(LClampDToUint8* instr) { |
| 1114 UNIMPLEMENTED(); |
| 1115 } |
| 1116 |
| 1117 |
| 1118 void LCodeGen::DoClampIToUint8(LClampIToUint8* instr) { |
| 1119 UNIMPLEMENTED(); |
| 1120 } |
| 1121 |
| 1122 |
| 1123 void LCodeGen::DoClampTToUint8(LClampTToUint8* instr) { |
| 1124 UNIMPLEMENTED(); |
| 1125 } |
| 1126 |
| 1127 |
| 1128 void LCodeGen::DoCheckPrototypeMaps(LCheckPrototypeMaps* instr) { |
| 1129 UNIMPLEMENTED(); |
| 1130 } |
| 1131 |
| 1132 |
| 1133 void LCodeGen::DoAllocateObject(LAllocateObject* instr) { |
| 1134 UNIMPLEMENTED(); |
| 1135 } |
| 1136 |
| 1137 |
| 1138 void LCodeGen::DoDeferredAllocateObject(LAllocateObject* instr) { |
| 1139 UNIMPLEMENTED(); |
| 1140 } |
| 1141 |
| 1142 |
| 1143 void LCodeGen::DoArrayLiteral(LArrayLiteral* instr) { |
| 1144 UNIMPLEMENTED(); |
| 1145 } |
| 1146 |
| 1147 |
| 1148 void LCodeGen::EmitDeepCopy(Handle<JSObject> object, |
| 1149 Register result, |
| 1150 Register source, |
| 1151 int* offset) { |
| 1152 UNIMPLEMENTED(); |
| 1153 } |
| 1154 |
| 1155 |
| 1156 void LCodeGen::DoFastLiteral(LFastLiteral* instr) { |
| 1157 UNIMPLEMENTED(); |
| 1158 } |
| 1159 |
| 1160 |
| 1161 void LCodeGen::DoObjectLiteral(LObjectLiteral* instr) { |
| 1162 UNIMPLEMENTED(); |
| 1163 } |
| 1164 |
| 1165 |
| 1166 void LCodeGen::DoToFastProperties(LToFastProperties* instr) { |
| 1167 UNIMPLEMENTED(); |
| 1168 } |
| 1169 |
| 1170 |
| 1171 void LCodeGen::DoRegExpLiteral(LRegExpLiteral* instr) { |
| 1172 UNIMPLEMENTED(); |
| 1173 } |
| 1174 |
| 1175 |
| 1176 void LCodeGen::DoFunctionLiteral(LFunctionLiteral* instr) { |
| 1177 UNIMPLEMENTED(); |
| 1178 } |
| 1179 |
| 1180 |
| 1181 void LCodeGen::DoTypeof(LTypeof* instr) { |
| 1182 UNIMPLEMENTED(); |
| 1183 } |
| 1184 |
| 1185 |
| 1186 void LCodeGen::DoTypeofIsAndBranch(LTypeofIsAndBranch* instr) { |
| 1187 UNIMPLEMENTED(); |
| 1188 } |
| 1189 |
| 1190 |
| 1191 Condition LCodeGen::EmitTypeofIs(Label* true_label, |
| 1192 Label* false_label, |
| 1193 Register input, |
| 1194 Handle<String> type_name) { |
| 1195 UNIMPLEMENTED(); |
| 1196 return ne; |
| 1197 } |
| 1198 |
| 1199 |
| 1200 void LCodeGen::DoIsConstructCallAndBranch(LIsConstructCallAndBranch* instr) { |
| 1201 UNIMPLEMENTED(); |
| 1202 } |
| 1203 |
| 1204 |
| 1205 void LCodeGen::EmitIsConstructCall(Register temp1, Register temp2) { |
| 1206 UNIMPLEMENTED(); |
| 1207 } |
| 1208 |
| 1209 |
| 1210 void LCodeGen::EnsureSpaceForLazyDeopt() { |
| 1211 UNIMPLEMENTED(); |
| 1212 } |
| 1213 |
| 1214 |
| 1215 void LCodeGen::DoLazyBailout(LLazyBailout* instr) { |
| 1216 UNIMPLEMENTED(); |
| 1217 } |
| 1218 |
| 1219 |
| 1220 void LCodeGen::DoDeoptimize(LDeoptimize* instr) { |
| 1221 UNIMPLEMENTED(); |
| 1222 } |
| 1223 |
| 1224 |
| 1225 void LCodeGen::DoDeleteProperty(LDeleteProperty* instr) { |
| 1226 UNIMPLEMENTED(); |
| 1227 } |
| 1228 |
| 1229 |
| 1230 void LCodeGen::DoIn(LIn* instr) { |
| 1231 UNIMPLEMENTED(); |
| 1232 } |
| 1233 |
| 1234 |
| 1235 void LCodeGen::DoDeferredStackCheck(LStackCheck* instr) { |
| 1236 UNIMPLEMENTED(); |
| 1237 } |
| 1238 |
| 1239 |
| 1240 void LCodeGen::DoStackCheck(LStackCheck* instr) { |
| 1241 UNIMPLEMENTED(); |
| 1242 } |
| 1243 |
| 1244 |
| 1245 void LCodeGen::DoOsrEntry(LOsrEntry* instr) { |
| 1246 UNIMPLEMENTED(); |
| 1247 } |
| 1248 |
| 1249 |
| 1250 void LCodeGen::DoForInPrepareMap(LForInPrepareMap* instr) { |
| 1251 UNIMPLEMENTED(); |
| 1252 } |
| 1253 |
| 1254 |
| 1255 void LCodeGen::DoForInCacheArray(LForInCacheArray* instr) { |
| 1256 UNIMPLEMENTED(); |
| 1257 } |
| 1258 |
| 1259 |
| 1260 void LCodeGen::DoCheckMapValue(LCheckMapValue* instr) { |
| 1261 UNIMPLEMENTED(); |
| 1262 } |
| 1263 |
| 1264 |
| 1265 void LCodeGen::DoLoadFieldByIndex(LLoadFieldByIndex* instr) { |
| 1266 UNIMPLEMENTED(); |
| 1267 } |
| 1268 |
| 1269 |
| 1270 } } // namespace v8::internal |
| 1271 |
| 1272 #endif // V8_TARGET_ARCH_SH4 |
OLD | NEW |