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 294 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
305 KeyedStoreStubCompiler::GenerateStoreDictionaryElement(masm); | 305 KeyedStoreStubCompiler::GenerateStoreDictionaryElement(masm); |
306 break; | 306 break; |
307 case NON_STRICT_ARGUMENTS_ELEMENTS: | 307 case NON_STRICT_ARGUMENTS_ELEMENTS: |
308 UNREACHABLE(); | 308 UNREACHABLE(); |
309 break; | 309 break; |
310 } | 310 } |
311 } | 311 } |
312 | 312 |
313 | 313 |
314 void ArgumentsAccessStub::PrintName(StringStream* stream) { | 314 void ArgumentsAccessStub::PrintName(StringStream* stream) { |
315 const char* type_name = NULL; // Make g++ happy. | 315 stream->Add("ArgumentsAccessStub_"); |
316 switch (type_) { | 316 switch (type_) { |
317 case READ_ELEMENT: type_name = "ReadElement"; break; | 317 case READ_ELEMENT: stream->Add("ReadElement"); break; |
318 case NEW_NON_STRICT_FAST: type_name = "NewNonStrictFast"; break; | 318 case NEW_NON_STRICT_FAST: stream->Add("NewNonStrictFast"); break; |
319 case NEW_NON_STRICT_SLOW: type_name = "NewNonStrictSlow"; break; | 319 case NEW_NON_STRICT_SLOW: stream->Add("NewNonStrictSlow"); break; |
320 case NEW_STRICT: type_name = "NewStrict"; break; | 320 case NEW_STRICT: stream->Add("NewStrict"); break; |
321 } | 321 } |
322 stream->Add("ArgumentsAccessStub_%s", type_name); | |
323 } | 322 } |
324 | 323 |
325 | 324 |
326 void CallFunctionStub::PrintName(StringStream* stream) { | 325 void CallFunctionStub::PrintName(StringStream* stream) { |
327 const char* flags_name = NULL; // Make g++ happy. | 326 stream->Add("CallFunctionStub_Args%d", argc_); |
328 switch (flags_) { | 327 if (ReceiverMightBeImplicit()) stream->Add("_Implicit"); |
329 case NO_CALL_FUNCTION_FLAGS: flags_name = ""; break; | 328 if (RecordCallTarget()) stream->Add("_Recording"); |
330 case RECEIVER_MIGHT_BE_IMPLICIT: flags_name = "_Implicit"; break; | |
331 } | |
332 stream->Add("CallFunctionStub_Args%d%s", argc_, flags_name); | |
333 } | 329 } |
334 | 330 |
335 | 331 |
336 void ToBooleanStub::PrintName(StringStream* stream) { | 332 void ToBooleanStub::PrintName(StringStream* stream) { |
337 stream->Add("ToBooleanStub_"); | 333 stream->Add("ToBooleanStub_"); |
338 types_.Print(stream); | 334 types_.Print(stream); |
339 } | 335 } |
340 | 336 |
341 | 337 |
342 void ToBooleanStub::Types::Print(StringStream* stream) const { | 338 void ToBooleanStub::Types::Print(StringStream* stream) const { |
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
406 } | 402 } |
407 | 403 |
408 | 404 |
409 bool ToBooleanStub::Types::CanBeUndetectable() const { | 405 bool ToBooleanStub::Types::CanBeUndetectable() const { |
410 return Contains(ToBooleanStub::SPEC_OBJECT) | 406 return Contains(ToBooleanStub::SPEC_OBJECT) |
411 || Contains(ToBooleanStub::STRING); | 407 || Contains(ToBooleanStub::STRING); |
412 } | 408 } |
413 | 409 |
414 | 410 |
415 } } // namespace v8::internal | 411 } } // namespace v8::internal |
OLD | NEW |