blob: 007aa17067a9118fba66e2785c7f8cb4cfebdd72 [file] [log] [blame]
lrn@chromium.org7516f052011-03-30 08:52:27 +00001// Copyright 2011 the V8 project authors. All rights reserved.
ager@chromium.org5c838252010-02-19 08:53:10 +00002// 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
erik.corry@gmail.com9dfbea42010-05-21 12:58:28 +000030#if defined(V8_TARGET_ARCH_MIPS)
31
lrn@chromium.org7516f052011-03-30 08:52:27 +000032// Note on Mips implementation:
33//
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
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
38// next call: mov(a0, v0). This is not needed on the other architectures.
39
40#include "code-stubs.h"
karlklose@chromium.org83a47282011-05-11 11:54:09 +000041#include "codegen.h"
ager@chromium.org5c838252010-02-19 08:53:10 +000042#include "compiler.h"
43#include "debug.h"
44#include "full-codegen.h"
45#include "parser.h"
lrn@chromium.org7516f052011-03-30 08:52:27 +000046#include "scopes.h"
47#include "stub-cache.h"
48
49#include "mips/code-stubs-mips.h"
ager@chromium.org5c838252010-02-19 08:53:10 +000050
51namespace v8 {
52namespace internal {
53
54#define __ ACCESS_MASM(masm_)
55
lrn@chromium.org7516f052011-03-30 08:52:27 +000056// Generate code for a JS function. On entry to the function the receiver
57// and arguments have been pushed on the stack left to right. The actual
58// argument count matches the formal parameter count expected by the
59// function.
60//
61// The live registers are:
62// o a1: the JS function object being called (ie, ourselves)
63// o cp: our context
64// o fp: our caller's frame pointer
65// o sp: stack pointer
66// o ra: return address
67//
68// The function builds a JS frame. Please see JavaScriptFrameConstants in
69// frames-mips.h for its layout.
70void FullCodeGenerator::Generate(CompilationInfo* info) {
71 UNIMPLEMENTED_MIPS();
72}
73
74
75void FullCodeGenerator::ClearAccumulator() {
76 UNIMPLEMENTED_MIPS();
77}
78
79
80void FullCodeGenerator::EmitStackCheck(IterationStatement* stmt) {
ager@chromium.org5c838252010-02-19 08:53:10 +000081 UNIMPLEMENTED_MIPS();
82}
83
84
ager@chromium.org2cc82ae2010-06-14 07:35:38 +000085void FullCodeGenerator::EmitReturnSequence() {
ager@chromium.org5c838252010-02-19 08:53:10 +000086 UNIMPLEMENTED_MIPS();
87}
88
89
lrn@chromium.org7516f052011-03-30 08:52:27 +000090void FullCodeGenerator::EffectContext::Plug(Slot* slot) const {
ager@chromium.org5c838252010-02-19 08:53:10 +000091 UNIMPLEMENTED_MIPS();
92}
93
94
lrn@chromium.org7516f052011-03-30 08:52:27 +000095void FullCodeGenerator::AccumulatorValueContext::Plug(Slot* slot) const {
ager@chromium.org5c838252010-02-19 08:53:10 +000096 UNIMPLEMENTED_MIPS();
97}
98
99
lrn@chromium.org7516f052011-03-30 08:52:27 +0000100void FullCodeGenerator::StackValueContext::Plug(Slot* slot) const {
ager@chromium.org5c838252010-02-19 08:53:10 +0000101 UNIMPLEMENTED_MIPS();
102}
103
104
lrn@chromium.org7516f052011-03-30 08:52:27 +0000105void FullCodeGenerator::TestContext::Plug(Slot* slot) const {
ager@chromium.org5c838252010-02-19 08:53:10 +0000106 UNIMPLEMENTED_MIPS();
107}
108
109
lrn@chromium.org7516f052011-03-30 08:52:27 +0000110void FullCodeGenerator::EffectContext::Plug(Heap::RootListIndex index) const {
ager@chromium.org5c838252010-02-19 08:53:10 +0000111 UNIMPLEMENTED_MIPS();
112}
113
114
lrn@chromium.org7516f052011-03-30 08:52:27 +0000115void FullCodeGenerator::AccumulatorValueContext::Plug(
116 Heap::RootListIndex index) const {
117 UNIMPLEMENTED_MIPS();
118}
119
120
121void FullCodeGenerator::StackValueContext::Plug(
122 Heap::RootListIndex index) const {
123 UNIMPLEMENTED_MIPS();
124}
125
126
127void FullCodeGenerator::TestContext::Plug(Heap::RootListIndex index) const {
128 UNIMPLEMENTED_MIPS();
129}
130
131
132void FullCodeGenerator::EffectContext::Plug(Handle<Object> lit) const {
133 UNIMPLEMENTED_MIPS();
134}
135
136
137void FullCodeGenerator::AccumulatorValueContext::Plug(
138 Handle<Object> lit) const {
139 UNIMPLEMENTED_MIPS();
140}
141
142
143void FullCodeGenerator::StackValueContext::Plug(Handle<Object> lit) const {
144 UNIMPLEMENTED_MIPS();
145}
146
147
148void FullCodeGenerator::TestContext::Plug(Handle<Object> lit) const {
149 UNIMPLEMENTED_MIPS();
150}
151
152
153void FullCodeGenerator::EffectContext::DropAndPlug(int count,
154 Register reg) const {
155 UNIMPLEMENTED_MIPS();
156}
157
158
159void FullCodeGenerator::AccumulatorValueContext::DropAndPlug(
160 int count,
161 Register reg) const {
162 UNIMPLEMENTED_MIPS();
163}
164
165
166void FullCodeGenerator::StackValueContext::DropAndPlug(int count,
167 Register reg) const {
168 UNIMPLEMENTED_MIPS();
169}
170
171
172void FullCodeGenerator::TestContext::DropAndPlug(int count,
173 Register reg) const {
174 UNIMPLEMENTED_MIPS();
175}
176
177
178void FullCodeGenerator::EffectContext::Plug(Label* materialize_true,
179 Label* materialize_false) const {
180 UNIMPLEMENTED_MIPS();
181}
182
183
184void FullCodeGenerator::AccumulatorValueContext::Plug(
185 Label* materialize_true,
186 Label* materialize_false) const {
187 UNIMPLEMENTED_MIPS();
188}
189
190
191void FullCodeGenerator::StackValueContext::Plug(
192 Label* materialize_true,
193 Label* materialize_false) const {
194 UNIMPLEMENTED_MIPS();
195}
196
197
198void FullCodeGenerator::TestContext::Plug(Label* materialize_true,
199 Label* materialize_false) const {
200 UNIMPLEMENTED_MIPS();
201}
202
203
204void FullCodeGenerator::EffectContext::Plug(bool flag) const {
205 UNIMPLEMENTED_MIPS();
206}
207
208
209void FullCodeGenerator::AccumulatorValueContext::Plug(bool flag) const {
210 UNIMPLEMENTED_MIPS();
211}
212
213
214void FullCodeGenerator::StackValueContext::Plug(bool flag) const {
215 UNIMPLEMENTED_MIPS();
216}
217
218
219void FullCodeGenerator::TestContext::Plug(bool flag) const {
220 UNIMPLEMENTED_MIPS();
221}
222
223
224void FullCodeGenerator::DoTest(Label* if_true,
225 Label* if_false,
226 Label* fall_through) {
227 UNIMPLEMENTED_MIPS();
228}
229
230
231// Original prototype for mips, needs arch-indep change. Leave out for now.
232// void FullCodeGenerator::Split(Condition cc,
233// Register lhs,
234// const Operand& rhs,
235// Label* if_true,
236// Label* if_false,
237// Label* fall_through) {
238void FullCodeGenerator::Split(Condition cc,
239 Label* if_true,
240 Label* if_false,
241 Label* fall_through) {
ager@chromium.org5c838252010-02-19 08:53:10 +0000242 UNIMPLEMENTED_MIPS();
243}
244
245
246MemOperand FullCodeGenerator::EmitSlotSearch(Slot* slot, Register scratch) {
247 UNIMPLEMENTED_MIPS();
lrn@chromium.org7516f052011-03-30 08:52:27 +0000248 return MemOperand(zero_reg, 0);
ager@chromium.org5c838252010-02-19 08:53:10 +0000249}
250
251
252void FullCodeGenerator::Move(Register destination, Slot* source) {
253 UNIMPLEMENTED_MIPS();
254}
255
256
lrn@chromium.org7516f052011-03-30 08:52:27 +0000257void FullCodeGenerator::PrepareForBailoutBeforeSplit(State state,
258 bool should_normalize,
259 Label* if_true,
260 Label* if_false) {
261 UNIMPLEMENTED_MIPS();
262}
263
264
ager@chromium.org5c838252010-02-19 08:53:10 +0000265void FullCodeGenerator::Move(Slot* dst,
266 Register src,
267 Register scratch1,
268 Register scratch2) {
269 UNIMPLEMENTED_MIPS();
270}
271
272
lrn@chromium.org7516f052011-03-30 08:52:27 +0000273void FullCodeGenerator::EmitDeclaration(Variable* variable,
274 Variable::Mode mode,
275 FunctionLiteral* function) {
276 UNIMPLEMENTED_MIPS();
277}
278
279
ager@chromium.org5c838252010-02-19 08:53:10 +0000280void FullCodeGenerator::VisitDeclaration(Declaration* decl) {
281 UNIMPLEMENTED_MIPS();
282}
283
284
285void FullCodeGenerator::DeclareGlobals(Handle<FixedArray> pairs) {
286 UNIMPLEMENTED_MIPS();
287}
288
289
lrn@chromium.org7516f052011-03-30 08:52:27 +0000290void FullCodeGenerator::VisitSwitchStatement(SwitchStatement* stmt) {
291 UNIMPLEMENTED_MIPS();
292}
293
294
295void FullCodeGenerator::VisitForInStatement(ForInStatement* stmt) {
296 UNIMPLEMENTED_MIPS();
297}
298
299
300void FullCodeGenerator::EmitNewClosure(Handle<SharedFunctionInfo> info,
301 bool pretenure) {
ager@chromium.org5c838252010-02-19 08:53:10 +0000302 UNIMPLEMENTED_MIPS();
303}
304
305
306void FullCodeGenerator::VisitVariableProxy(VariableProxy* expr) {
307 UNIMPLEMENTED_MIPS();
308}
309
310
lrn@chromium.org7516f052011-03-30 08:52:27 +0000311MemOperand FullCodeGenerator::ContextSlotOperandCheckExtensions(
312 Slot* slot,
313 Label* slow) {
314 UNIMPLEMENTED_MIPS();
315 return MemOperand(zero_reg, 0);
316}
317
318
319void FullCodeGenerator::EmitDynamicLoadFromSlotFastCase(
320 Slot* slot,
321 TypeofState typeof_state,
322 Label* slow,
323 Label* done) {
324 UNIMPLEMENTED_MIPS();
325}
326
327
328void FullCodeGenerator::EmitLoadGlobalSlotCheckExtensions(
329 Slot* slot,
330 TypeofState typeof_state,
331 Label* slow) {
332 UNIMPLEMENTED_MIPS();
333}
334
335
336void FullCodeGenerator::EmitVariableLoad(Variable* var) {
ager@chromium.org5c838252010-02-19 08:53:10 +0000337 UNIMPLEMENTED_MIPS();
338}
339
340
341void FullCodeGenerator::VisitRegExpLiteral(RegExpLiteral* expr) {
342 UNIMPLEMENTED_MIPS();
343}
344
345
346void FullCodeGenerator::VisitObjectLiteral(ObjectLiteral* expr) {
347 UNIMPLEMENTED_MIPS();
348}
349
350
351void FullCodeGenerator::VisitArrayLiteral(ArrayLiteral* expr) {
352 UNIMPLEMENTED_MIPS();
353}
354
355
ager@chromium.orgce5e87b2010-03-10 10:24:18 +0000356void FullCodeGenerator::VisitAssignment(Assignment* expr) {
357 UNIMPLEMENTED_MIPS();
358}
359
360
ager@chromium.org5c838252010-02-19 08:53:10 +0000361void FullCodeGenerator::EmitNamedPropertyLoad(Property* prop) {
362 UNIMPLEMENTED_MIPS();
363}
364
365
366void FullCodeGenerator::EmitKeyedPropertyLoad(Property* prop) {
367 UNIMPLEMENTED_MIPS();
368}
369
370
karlklose@chromium.org83a47282011-05-11 11:54:09 +0000371void FullCodeGenerator::EmitInlineSmiBinaryOp(BinaryOperation* expr,
lrn@chromium.org7516f052011-03-30 08:52:27 +0000372 Token::Value op,
373 OverwriteMode mode,
374 Expression* left,
375 Expression* right) {
376 UNIMPLEMENTED_MIPS();
377}
378
379
karlklose@chromium.org83a47282011-05-11 11:54:09 +0000380void FullCodeGenerator::EmitBinaryOp(BinaryOperation* expr,
381 Token::Value op,
lrn@chromium.org7516f052011-03-30 08:52:27 +0000382 OverwriteMode mode) {
383 UNIMPLEMENTED_MIPS();
384}
385
386
387void FullCodeGenerator::EmitAssignment(Expression* expr, int bailout_ast_id) {
ager@chromium.org5c838252010-02-19 08:53:10 +0000388 UNIMPLEMENTED_MIPS();
389}
390
391
392void FullCodeGenerator::EmitVariableAssignment(Variable* var,
lrn@chromium.org7516f052011-03-30 08:52:27 +0000393 Token::Value op) {
ager@chromium.org5c838252010-02-19 08:53:10 +0000394 UNIMPLEMENTED_MIPS();
395}
396
397
398void FullCodeGenerator::EmitNamedPropertyAssignment(Assignment* expr) {
399 UNIMPLEMENTED_MIPS();
400}
401
402
403void FullCodeGenerator::EmitKeyedPropertyAssignment(Assignment* expr) {
404 UNIMPLEMENTED_MIPS();
405}
406
407
408void FullCodeGenerator::VisitProperty(Property* expr) {
409 UNIMPLEMENTED_MIPS();
410}
411
lrn@chromium.org7516f052011-03-30 08:52:27 +0000412
ager@chromium.org5c838252010-02-19 08:53:10 +0000413void FullCodeGenerator::EmitCallWithIC(Call* expr,
lrn@chromium.org7516f052011-03-30 08:52:27 +0000414 Handle<Object> name,
ager@chromium.org5c838252010-02-19 08:53:10 +0000415 RelocInfo::Mode mode) {
416 UNIMPLEMENTED_MIPS();
417}
418
419
lrn@chromium.org7516f052011-03-30 08:52:27 +0000420void FullCodeGenerator::EmitKeyedCallWithIC(Call* expr,
421 Expression* key,
422 RelocInfo::Mode mode) {
423 UNIMPLEMENTED_MIPS();
424}
425
426
karlklose@chromium.org83a47282011-05-11 11:54:09 +0000427void FullCodeGenerator::EmitCallWithStub(Call* expr, CallFunctionFlags flags) {
ager@chromium.org5c838252010-02-19 08:53:10 +0000428 UNIMPLEMENTED_MIPS();
429}
430
431
432void FullCodeGenerator::VisitCall(Call* expr) {
433 UNIMPLEMENTED_MIPS();
434}
435
436
437void FullCodeGenerator::VisitCallNew(CallNew* expr) {
438 UNIMPLEMENTED_MIPS();
439}
440
441
lrn@chromium.org7516f052011-03-30 08:52:27 +0000442void FullCodeGenerator::EmitIsSmi(ZoneList<Expression*>* args) {
443 UNIMPLEMENTED_MIPS();
444}
445
446
447void FullCodeGenerator::EmitIsNonNegativeSmi(ZoneList<Expression*>* args) {
448 UNIMPLEMENTED_MIPS();
449}
450
451
452void FullCodeGenerator::EmitIsObject(ZoneList<Expression*>* args) {
453 UNIMPLEMENTED_MIPS();
454}
455
456
457void FullCodeGenerator::EmitIsSpecObject(ZoneList<Expression*>* args) {
458 UNIMPLEMENTED_MIPS();
459}
460
461
462void FullCodeGenerator::EmitIsUndetectableObject(ZoneList<Expression*>* args) {
463 UNIMPLEMENTED_MIPS();
464}
465
466
467void FullCodeGenerator::EmitIsStringWrapperSafeForDefaultValueOf(
468 ZoneList<Expression*>* args) {
469 UNIMPLEMENTED_MIPS();
470}
471
472
473void FullCodeGenerator::EmitIsFunction(ZoneList<Expression*>* args) {
474 UNIMPLEMENTED_MIPS();
475}
476
477
478void FullCodeGenerator::EmitIsArray(ZoneList<Expression*>* args) {
479 UNIMPLEMENTED_MIPS();
480}
481
482
483void FullCodeGenerator::EmitIsRegExp(ZoneList<Expression*>* args) {
484 UNIMPLEMENTED_MIPS();
485}
486
487
488void FullCodeGenerator::EmitIsConstructCall(ZoneList<Expression*>* args) {
489 UNIMPLEMENTED_MIPS();
490}
491
492
493void FullCodeGenerator::EmitObjectEquals(ZoneList<Expression*>* args) {
494 UNIMPLEMENTED_MIPS();
495}
496
497
498void FullCodeGenerator::EmitArguments(ZoneList<Expression*>* args) {
499 UNIMPLEMENTED_MIPS();
500}
501
502
503void FullCodeGenerator::EmitArgumentsLength(ZoneList<Expression*>* args) {
504 UNIMPLEMENTED_MIPS();
505}
506
507
508void FullCodeGenerator::EmitClassOf(ZoneList<Expression*>* args) {
509 UNIMPLEMENTED_MIPS();
510}
511
512
513void FullCodeGenerator::EmitLog(ZoneList<Expression*>* args) {
514 UNIMPLEMENTED_MIPS();
515}
516
517
518void FullCodeGenerator::EmitRandomHeapNumber(ZoneList<Expression*>* args) {
519 UNIMPLEMENTED_MIPS();
520}
521
522
523void FullCodeGenerator::EmitSubString(ZoneList<Expression*>* args) {
524 UNIMPLEMENTED_MIPS();
525}
526
527
528void FullCodeGenerator::EmitRegExpExec(ZoneList<Expression*>* args) {
529 UNIMPLEMENTED_MIPS();
530}
531
532
533void FullCodeGenerator::EmitValueOf(ZoneList<Expression*>* args) {
534 UNIMPLEMENTED_MIPS();
535}
536
537
538void FullCodeGenerator::EmitMathPow(ZoneList<Expression*>* args) {
539 UNIMPLEMENTED_MIPS();
540}
541
542
543void FullCodeGenerator::EmitSetValueOf(ZoneList<Expression*>* args) {
544 UNIMPLEMENTED_MIPS();
545}
546
547
548void FullCodeGenerator::EmitNumberToString(ZoneList<Expression*>* args) {
549 UNIMPLEMENTED_MIPS();
550}
551
552
553void FullCodeGenerator::EmitStringCharFromCode(ZoneList<Expression*>* args) {
554 UNIMPLEMENTED_MIPS();
555}
556
557
558void FullCodeGenerator::EmitStringCharCodeAt(ZoneList<Expression*>* args) {
559 UNIMPLEMENTED_MIPS();
560}
561
562
563void FullCodeGenerator::EmitStringCharAt(ZoneList<Expression*>* args) {
564 UNIMPLEMENTED_MIPS();
565}
566
567
568void FullCodeGenerator::EmitStringAdd(ZoneList<Expression*>* args) {
569 UNIMPLEMENTED_MIPS();
570}
571
572
573void FullCodeGenerator::EmitStringCompare(ZoneList<Expression*>* args) {
574 UNIMPLEMENTED_MIPS();
575}
576
577
578void FullCodeGenerator::EmitMathSin(ZoneList<Expression*>* args) {
579 UNIMPLEMENTED_MIPS();
580}
581
582
583void FullCodeGenerator::EmitMathCos(ZoneList<Expression*>* args) {
584 UNIMPLEMENTED_MIPS();
585}
586
587
588void FullCodeGenerator::EmitMathSqrt(ZoneList<Expression*>* args) {
589 UNIMPLEMENTED_MIPS();
590}
591
592
593void FullCodeGenerator::EmitMathLog(ZoneList<Expression*>* args) {
594 UNIMPLEMENTED_MIPS();
595}
596
597
598void FullCodeGenerator::EmitCallFunction(ZoneList<Expression*>* args) {
599 UNIMPLEMENTED_MIPS();
600}
601
602
603void FullCodeGenerator::EmitRegExpConstructResult(ZoneList<Expression*>* args) {
604 UNIMPLEMENTED_MIPS();
605}
606
607
608void FullCodeGenerator::EmitSwapElements(ZoneList<Expression*>* args) {
609 UNIMPLEMENTED_MIPS();
610}
611
612
613void FullCodeGenerator::EmitGetFromCache(ZoneList<Expression*>* args) {
614 UNIMPLEMENTED_MIPS();
615}
616
617
618void FullCodeGenerator::EmitIsRegExpEquivalent(ZoneList<Expression*>* args) {
619 UNIMPLEMENTED_MIPS();
620}
621
622
623void FullCodeGenerator::EmitHasCachedArrayIndex(ZoneList<Expression*>* args) {
624 UNIMPLEMENTED_MIPS();
625}
626
627
628void FullCodeGenerator::EmitGetCachedArrayIndex(ZoneList<Expression*>* args) {
629 UNIMPLEMENTED_MIPS();
630}
631
632
633void FullCodeGenerator::EmitFastAsciiArrayJoin(ZoneList<Expression*>* args) {
634 UNIMPLEMENTED_MIPS();
635}
636
637
ager@chromium.org5c838252010-02-19 08:53:10 +0000638void FullCodeGenerator::VisitCallRuntime(CallRuntime* expr) {
639 UNIMPLEMENTED_MIPS();
640}
641
642
643void FullCodeGenerator::VisitUnaryOperation(UnaryOperation* expr) {
644 UNIMPLEMENTED_MIPS();
645}
646
647
648void FullCodeGenerator::VisitCountOperation(CountOperation* expr) {
649 UNIMPLEMENTED_MIPS();
650}
651
652
lrn@chromium.org7516f052011-03-30 08:52:27 +0000653void FullCodeGenerator::VisitForTypeofValue(Expression* expr) {
ager@chromium.org5c838252010-02-19 08:53:10 +0000654 UNIMPLEMENTED_MIPS();
655}
656
657
lrn@chromium.org7516f052011-03-30 08:52:27 +0000658bool FullCodeGenerator::TryLiteralCompare(Token::Value op,
659 Expression* left,
660 Expression* right,
661 Label* if_true,
662 Label* if_false,
663 Label* fall_through) {
664 UNIMPLEMENTED_MIPS();
665 return false;
666}
667
668
ager@chromium.org5c838252010-02-19 08:53:10 +0000669void FullCodeGenerator::VisitCompareOperation(CompareOperation* expr) {
670 UNIMPLEMENTED_MIPS();
671}
672
673
lrn@chromium.org7516f052011-03-30 08:52:27 +0000674void FullCodeGenerator::VisitCompareToNull(CompareToNull* expr) {
675 UNIMPLEMENTED_MIPS();
676}
677
678
ager@chromium.org5c838252010-02-19 08:53:10 +0000679void FullCodeGenerator::VisitThisFunction(ThisFunction* expr) {
680 UNIMPLEMENTED_MIPS();
681}
682
683
lrn@chromium.org7516f052011-03-30 08:52:27 +0000684Register FullCodeGenerator::result_register() {
685 UNIMPLEMENTED_MIPS();
686 return v0;
687}
ager@chromium.org5c838252010-02-19 08:53:10 +0000688
689
lrn@chromium.org7516f052011-03-30 08:52:27 +0000690Register FullCodeGenerator::context_register() {
691 UNIMPLEMENTED_MIPS();
692 return cp;
693}
694
695
karlklose@chromium.org83a47282011-05-11 11:54:09 +0000696void FullCodeGenerator::EmitCallIC(Handle<Code> ic,
697 RelocInfo::Mode mode,
698 unsigned ast_id) {
lrn@chromium.org7516f052011-03-30 08:52:27 +0000699 UNIMPLEMENTED_MIPS();
700}
ager@chromium.org5c838252010-02-19 08:53:10 +0000701
702
703void FullCodeGenerator::StoreToFrameField(int frame_offset, Register value) {
704 UNIMPLEMENTED_MIPS();
705}
706
707
708void FullCodeGenerator::LoadContextField(Register dst, int context_index) {
709 UNIMPLEMENTED_MIPS();
710}
711
712
713// ----------------------------------------------------------------------------
714// Non-local control flow support.
715
716void FullCodeGenerator::EnterFinallyBlock() {
717 UNIMPLEMENTED_MIPS();
718}
719
720
721void FullCodeGenerator::ExitFinallyBlock() {
722 UNIMPLEMENTED_MIPS();
723}
724
725
726#undef __
727
728} } // namespace v8::internal
erik.corry@gmail.com9dfbea42010-05-21 12:58:28 +0000729
730#endif // V8_TARGET_ARCH_MIPS