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 2275 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2286 Handle<JSGlobalPropertyCell> cell = | 2286 Handle<JSGlobalPropertyCell> cell = |
2287 isolate()->factory()->NewJSGlobalPropertyCell(uninitialized); | 2287 isolate()->factory()->NewJSGlobalPropertyCell(uninitialized); |
2288 RecordTypeFeedbackCell(expr->id(), cell); | 2288 RecordTypeFeedbackCell(expr->id(), cell); |
2289 __ Move(rbx, cell); | 2289 __ Move(rbx, cell); |
2290 } else { | 2290 } else { |
2291 flags = NO_CALL_FUNCTION_FLAGS; | 2291 flags = NO_CALL_FUNCTION_FLAGS; |
2292 } | 2292 } |
2293 | 2293 |
2294 CallConstructStub stub(flags); | 2294 CallConstructStub stub(flags); |
2295 __ Call(stub.GetCode(), RelocInfo::CONSTRUCT_CALL); | 2295 __ Call(stub.GetCode(), RelocInfo::CONSTRUCT_CALL); |
| 2296 PrepareForBailoutForId(expr->ReturnId(), TOS_REG); |
2296 context()->Plug(rax); | 2297 context()->Plug(rax); |
2297 } | 2298 } |
2298 | 2299 |
2299 | 2300 |
2300 void FullCodeGenerator::EmitIsSmi(CallRuntime* expr) { | 2301 void FullCodeGenerator::EmitIsSmi(CallRuntime* expr) { |
2301 ZoneList<Expression*>* args = expr->arguments(); | 2302 ZoneList<Expression*>* args = expr->arguments(); |
2302 ASSERT(args->length() == 1); | 2303 ASSERT(args->length() == 1); |
2303 | 2304 |
2304 VisitForAccumulatorValue(args->at(0)); | 2305 VisitForAccumulatorValue(args->at(0)); |
2305 | 2306 |
(...skipping 2059 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4365 *context_length = 0; | 4366 *context_length = 0; |
4366 return previous_; | 4367 return previous_; |
4367 } | 4368 } |
4368 | 4369 |
4369 | 4370 |
4370 #undef __ | 4371 #undef __ |
4371 | 4372 |
4372 } } // namespace v8::internal | 4373 } } // namespace v8::internal |
4373 | 4374 |
4374 #endif // V8_TARGET_ARCH_X64 | 4375 #endif // V8_TARGET_ARCH_X64 |
OLD | NEW |