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

Side by Side Diff: src/ia32/code-stubs-ia32.h

Issue 5763004: Second attempt: Improve our type feedback by recogizining never-executed IC c... (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge/
Patch Set: '' Created 10 years 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
OLDNEW
1 // Copyright 2010 the V8 project authors. All rights reserved. 1 // Copyright 2010 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 232 matching lines...) Expand 10 before | Expand all | Expand 10 after
243 TypeRecordingBinaryOpStub(Token::Value op, OverwriteMode mode) 243 TypeRecordingBinaryOpStub(Token::Value op, OverwriteMode mode)
244 : op_(op), 244 : op_(op),
245 mode_(mode), 245 mode_(mode),
246 operands_type_(TRBinaryOpIC::UNINITIALIZED), 246 operands_type_(TRBinaryOpIC::UNINITIALIZED),
247 result_type_(TRBinaryOpIC::UNINITIALIZED), 247 result_type_(TRBinaryOpIC::UNINITIALIZED),
248 name_(NULL) { 248 name_(NULL) {
249 use_sse3_ = CpuFeatures::IsSupported(SSE3); 249 use_sse3_ = CpuFeatures::IsSupported(SSE3);
250 ASSERT(OpBits::is_valid(Token::NUM_TOKENS)); 250 ASSERT(OpBits::is_valid(Token::NUM_TOKENS));
251 } 251 }
252 252
253 TypeRecordingBinaryOpStub(int key, 253 TypeRecordingBinaryOpStub(
254 int key,
254 TRBinaryOpIC::TypeInfo operands_type, 255 TRBinaryOpIC::TypeInfo operands_type,
255 TRBinaryOpIC::TypeInfo result_type = TRBinaryOpIC::UNINITIALIZED) 256 TRBinaryOpIC::TypeInfo result_type = TRBinaryOpIC::UNINITIALIZED)
256 : op_(OpBits::decode(key)), 257 : op_(OpBits::decode(key)),
257 mode_(ModeBits::decode(key)), 258 mode_(ModeBits::decode(key)),
258 use_sse3_(SSE3Bits::decode(key)), 259 use_sse3_(SSE3Bits::decode(key)),
259 operands_type_(operands_type), 260 operands_type_(operands_type),
260 result_type_(result_type), 261 result_type_(result_type),
261 name_(NULL) { 262 name_(NULL) { }
262 }
263 263
264 // Generate code to call the stub with the supplied arguments. This will add 264 // Generate code to call the stub with the supplied arguments. This will add
265 // code at the call site to prepare arguments either in registers or on the 265 // code at the call site to prepare arguments either in registers or on the
266 // stack together with the actual call. 266 // stack together with the actual call.
267 void GenerateCall(MacroAssembler* masm, Register left, Register right); 267 void GenerateCall(MacroAssembler* masm, Register left, Register right);
268 void GenerateCall(MacroAssembler* masm, Register left, Smi* right); 268 void GenerateCall(MacroAssembler* masm, Register left, Smi* right);
269 void GenerateCall(MacroAssembler* masm, Smi* left, Register right); 269 void GenerateCall(MacroAssembler* masm, Smi* left, Register right);
270 270
271 private: 271 private:
272 enum SmiCodeGenerateHeapNumberResults { 272 enum SmiCodeGenerateHeapNumberResults {
(...skipping 234 matching lines...) Expand 10 before | Expand all | Expand 10 after
507 void Print() { 507 void Print() {
508 PrintF("NumberToStringStub\n"); 508 PrintF("NumberToStringStub\n");
509 } 509 }
510 #endif 510 #endif
511 }; 511 };
512 512
513 513
514 } } // namespace v8::internal 514 } } // namespace v8::internal
515 515
516 #endif // V8_IA32_CODE_STUBS_IA32_H_ 516 #endif // V8_IA32_CODE_STUBS_IA32_H_
OLDNEW
« no previous file with comments | « src/ia32/assembler-ia32.h ('k') | src/ia32/code-stubs-ia32.cc » ('j') | src/ia32/ic-ia32.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698