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 344 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
355 void AllocateTwoByteConsString(Register result, | 355 void AllocateTwoByteConsString(Register result, |
356 Register length, | 356 Register length, |
357 Register scratch1, | 357 Register scratch1, |
358 Register scratch2, | 358 Register scratch2, |
359 Label* gc_required); | 359 Label* gc_required); |
360 void AllocateAsciiConsString(Register result, | 360 void AllocateAsciiConsString(Register result, |
361 Register length, | 361 Register length, |
362 Register scratch1, | 362 Register scratch1, |
363 Register scratch2, | 363 Register scratch2, |
364 Label* gc_required); | 364 Label* gc_required); |
365 void AllocateTwoByteSlicedString(Register result, | |
366 Register length, | |
367 Register scratch1, | |
368 Register scratch2, | |
369 Label* gc_required); | |
370 void AllocateAsciiSlicedString(Register result, | |
371 Register length, | |
372 Register scratch1, | |
373 Register scratch2, | |
374 Label* gc_required); | |
375 | 365 |
376 // Allocates a heap number or jumps to the gc_required label if the young | 366 // Allocates a heap number or jumps to the gc_required label if the young |
377 // space is full and a scavenge is needed. All registers are clobbered also | 367 // space is full and a scavenge is needed. All registers are clobbered also |
378 // when control continues at the gc_required label. | 368 // when control continues at the gc_required label. |
379 void AllocateHeapNumber(Register result, | 369 void AllocateHeapNumber(Register result, |
380 Register scratch1, | 370 Register scratch1, |
381 Register scratch2, | 371 Register scratch2, |
382 Register heap_number_map, | 372 Register heap_number_map, |
383 Label* gc_required); | 373 Label* gc_required); |
384 void AllocateHeapNumberWithValue(Register result, | 374 void AllocateHeapNumberWithValue(Register result, |
(...skipping 821 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1206 | 1196 |
1207 // Generate a MemOperand for loading a field from an object. | 1197 // Generate a MemOperand for loading a field from an object. |
1208 static inline MemOperand FieldMemOperand(Register object, int offset) { | 1198 static inline MemOperand FieldMemOperand(Register object, int offset) { |
1209 return MemOperand(object, offset - kHeapObjectTag); | 1199 return MemOperand(object, offset - kHeapObjectTag); |
1210 } | 1200 } |
1211 | 1201 |
1212 | 1202 |
1213 // Generate a MemOperand for storing arguments 5..N on the stack | 1203 // Generate a MemOperand for storing arguments 5..N on the stack |
1214 // when calling CallCFunction(). | 1204 // when calling CallCFunction(). |
1215 static inline MemOperand CFunctionArgumentOperand(int index) { | 1205 static inline MemOperand CFunctionArgumentOperand(int index) { |
1216 ASSERT(index > kCArgSlotCount); | 1206 ASSERT(index > StandardFrameConstants::kCArgSlotCount); |
1217 // Argument 5 takes the slot just past the four Arg-slots. | 1207 // Argument 5 takes the slot just past the four Arg-slots. |
1218 int offset = (index - 5) * kPointerSize + kCArgsSlotsSize; | 1208 int offset = |
| 1209 (index - 5) * kPointerSize + StandardFrameConstants::kCArgsSlotsSize; |
1219 return MemOperand(sp, offset); | 1210 return MemOperand(sp, offset); |
1220 } | 1211 } |
1221 | 1212 |
1222 | 1213 |
1223 #ifdef GENERATED_CODE_COVERAGE | 1214 #ifdef GENERATED_CODE_COVERAGE |
1224 #define CODE_COVERAGE_STRINGIFY(x) #x | 1215 #define CODE_COVERAGE_STRINGIFY(x) #x |
1225 #define CODE_COVERAGE_TOSTRING(x) CODE_COVERAGE_STRINGIFY(x) | 1216 #define CODE_COVERAGE_TOSTRING(x) CODE_COVERAGE_STRINGIFY(x) |
1226 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) | 1217 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) |
1227 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> | 1218 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> |
1228 #else | 1219 #else |
1229 #define ACCESS_MASM(masm) masm-> | 1220 #define ACCESS_MASM(masm) masm-> |
1230 #endif | 1221 #endif |
1231 | 1222 |
1232 } } // namespace v8::internal | 1223 } } // namespace v8::internal |
1233 | 1224 |
1234 #endif // V8_MIPS_MACRO_ASSEMBLER_MIPS_H_ | 1225 #endif // V8_MIPS_MACRO_ASSEMBLER_MIPS_H_ |
OLD | NEW |