Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(5)

Side by Side Diff: src/mips/macro-assembler-mips.h

Issue 7830036: Optimize isFinite and isNaN. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Made the change general by moving putting it in the NUMBER_IS_FINITE macro. Created 9 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « src/mips/frames-mips.h ('k') | src/mips/macro-assembler-mips.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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_
OLDNEW
« no previous file with comments | « src/mips/frames-mips.h ('k') | src/mips/macro-assembler-mips.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698