OLD | NEW |
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 20 matching lines...) Expand all Loading... |
31 | 31 |
32 // Note on Mips implementation: | 32 // Note on Mips implementation: |
33 // | 33 // |
34 // The result_register() for mips is the 'v0' register, which is defined | 34 // The result_register() for mips is the 'v0' register, which is defined |
35 // by the ABI to contain function return values. However, the first | 35 // by the ABI to contain function return values. However, the first |
36 // parameter to a function is defined to be 'a0'. So there are many | 36 // parameter to a function is defined to be 'a0'. So there are many |
37 // places where we have to move a previous result in v0 to a0 for the | 37 // places where we have to move a previous result in v0 to a0 for the |
38 // next call: mov(a0, v0). This is not needed on the other architectures. | 38 // next call: mov(a0, v0). This is not needed on the other architectures. |
39 | 39 |
40 #include "code-stubs.h" | 40 #include "code-stubs.h" |
41 #include "codegen-inl.h" | 41 #include "codegen.h" |
42 #include "compiler.h" | 42 #include "compiler.h" |
43 #include "debug.h" | 43 #include "debug.h" |
44 #include "full-codegen.h" | 44 #include "full-codegen.h" |
45 #include "parser.h" | 45 #include "parser.h" |
46 #include "scopes.h" | 46 #include "scopes.h" |
47 #include "stub-cache.h" | 47 #include "stub-cache.h" |
48 | 48 |
49 #include "mips/code-stubs-mips.h" | 49 #include "mips/code-stubs-mips.h" |
50 | 50 |
51 namespace v8 { | 51 namespace v8 { |
(...skipping 309 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
361 void FullCodeGenerator::EmitNamedPropertyLoad(Property* prop) { | 361 void FullCodeGenerator::EmitNamedPropertyLoad(Property* prop) { |
362 UNIMPLEMENTED_MIPS(); | 362 UNIMPLEMENTED_MIPS(); |
363 } | 363 } |
364 | 364 |
365 | 365 |
366 void FullCodeGenerator::EmitKeyedPropertyLoad(Property* prop) { | 366 void FullCodeGenerator::EmitKeyedPropertyLoad(Property* prop) { |
367 UNIMPLEMENTED_MIPS(); | 367 UNIMPLEMENTED_MIPS(); |
368 } | 368 } |
369 | 369 |
370 | 370 |
371 void FullCodeGenerator::EmitInlineSmiBinaryOp(Expression* expr, | 371 void FullCodeGenerator::EmitInlineSmiBinaryOp(BinaryOperation* expr, |
372 Token::Value op, | 372 Token::Value op, |
373 OverwriteMode mode, | 373 OverwriteMode mode, |
374 Expression* left, | 374 Expression* left, |
375 Expression* right) { | 375 Expression* right) { |
376 UNIMPLEMENTED_MIPS(); | 376 UNIMPLEMENTED_MIPS(); |
377 } | 377 } |
378 | 378 |
379 | 379 |
380 void FullCodeGenerator::EmitBinaryOp(Token::Value op, | 380 void FullCodeGenerator::EmitBinaryOp(BinaryOperation* expr, |
| 381 Token::Value op, |
381 OverwriteMode mode) { | 382 OverwriteMode mode) { |
382 UNIMPLEMENTED_MIPS(); | 383 UNIMPLEMENTED_MIPS(); |
383 } | 384 } |
384 | 385 |
385 | 386 |
386 void FullCodeGenerator::EmitAssignment(Expression* expr, int bailout_ast_id) { | 387 void FullCodeGenerator::EmitAssignment(Expression* expr, int bailout_ast_id) { |
387 UNIMPLEMENTED_MIPS(); | 388 UNIMPLEMENTED_MIPS(); |
388 } | 389 } |
389 | 390 |
390 | 391 |
(...skipping 25 matching lines...) Expand all Loading... |
416 } | 417 } |
417 | 418 |
418 | 419 |
419 void FullCodeGenerator::EmitKeyedCallWithIC(Call* expr, | 420 void FullCodeGenerator::EmitKeyedCallWithIC(Call* expr, |
420 Expression* key, | 421 Expression* key, |
421 RelocInfo::Mode mode) { | 422 RelocInfo::Mode mode) { |
422 UNIMPLEMENTED_MIPS(); | 423 UNIMPLEMENTED_MIPS(); |
423 } | 424 } |
424 | 425 |
425 | 426 |
426 void FullCodeGenerator::EmitCallWithStub(Call* expr) { | 427 void FullCodeGenerator::EmitCallWithStub(Call* expr, CallFunctionFlags flags) { |
427 UNIMPLEMENTED_MIPS(); | 428 UNIMPLEMENTED_MIPS(); |
428 } | 429 } |
429 | 430 |
430 | 431 |
431 void FullCodeGenerator::VisitCall(Call* expr) { | 432 void FullCodeGenerator::VisitCall(Call* expr) { |
432 UNIMPLEMENTED_MIPS(); | 433 UNIMPLEMENTED_MIPS(); |
433 } | 434 } |
434 | 435 |
435 | 436 |
436 void FullCodeGenerator::VisitCallNew(CallNew* expr) { | 437 void FullCodeGenerator::VisitCallNew(CallNew* expr) { |
(...skipping 248 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
685 return v0; | 686 return v0; |
686 } | 687 } |
687 | 688 |
688 | 689 |
689 Register FullCodeGenerator::context_register() { | 690 Register FullCodeGenerator::context_register() { |
690 UNIMPLEMENTED_MIPS(); | 691 UNIMPLEMENTED_MIPS(); |
691 return cp; | 692 return cp; |
692 } | 693 } |
693 | 694 |
694 | 695 |
695 void FullCodeGenerator::EmitCallIC(Handle<Code> ic, RelocInfo::Mode mode) { | 696 void FullCodeGenerator::EmitCallIC(Handle<Code> ic, |
| 697 RelocInfo::Mode mode, |
| 698 unsigned ast_id) { |
696 UNIMPLEMENTED_MIPS(); | 699 UNIMPLEMENTED_MIPS(); |
697 } | 700 } |
698 | 701 |
699 | 702 |
700 void FullCodeGenerator::StoreToFrameField(int frame_offset, Register value) { | 703 void FullCodeGenerator::StoreToFrameField(int frame_offset, Register value) { |
701 UNIMPLEMENTED_MIPS(); | 704 UNIMPLEMENTED_MIPS(); |
702 } | 705 } |
703 | 706 |
704 | 707 |
705 void FullCodeGenerator::LoadContextField(Register dst, int context_index) { | 708 void FullCodeGenerator::LoadContextField(Register dst, int context_index) { |
(...skipping 12 matching lines...) Expand all Loading... |
718 void FullCodeGenerator::ExitFinallyBlock() { | 721 void FullCodeGenerator::ExitFinallyBlock() { |
719 UNIMPLEMENTED_MIPS(); | 722 UNIMPLEMENTED_MIPS(); |
720 } | 723 } |
721 | 724 |
722 | 725 |
723 #undef __ | 726 #undef __ |
724 | 727 |
725 } } // namespace v8::internal | 728 } } // namespace v8::internal |
726 | 729 |
727 #endif // V8_TARGET_ARCH_MIPS | 730 #endif // V8_TARGET_ARCH_MIPS |
OLD | NEW |