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

Side by Side Diff: src/full-codegen.cc

Issue 8883011: Implement ICs for constructor calls. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 9 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
« no previous file with comments | « src/full-codegen.h ('k') | src/ia32/builtins-ia32.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 327 matching lines...) Expand 10 before | Expand all | Expand 10 after
338 } 338 }
339 code->set_deoptimization_data(*data); 339 code->set_deoptimization_data(*data);
340 } 340 }
341 341
342 342
343 void FullCodeGenerator::PrepareForBailout(Expression* node, State state) { 343 void FullCodeGenerator::PrepareForBailout(Expression* node, State state) {
344 PrepareForBailoutForId(node->id(), state); 344 PrepareForBailoutForId(node->id(), state);
345 } 345 }
346 346
347 347
348 void FullCodeGenerator::RecordJSReturnSite(Call* call) { 348 void FullCodeGenerator::RecordJSReturnSite(CallBase* call) {
349 // We record the offset of the function return so we can rebuild the frame 349 // We record the offset of the function return so we can rebuild the frame
350 // if the function was inlined, i.e., this is the return address in the 350 // if the function was inlined, i.e., this is the return address in the
351 // inlined function's frame. 351 // inlined function's frame.
352 // 352 //
353 // The state is ignored. We defensively set it to TOS_REG, which is the 353 // The state is ignored. We defensively set it to TOS_REG, which is the
354 // real state of the unoptimized code at the return site. 354 // real state of the unoptimized code at the return site.
355 PrepareForBailoutForId(call->ReturnId(), TOS_REG); 355 PrepareForBailoutForId(call->ReturnId(), TOS_REG);
356 #ifdef DEBUG 356 #ifdef DEBUG
357 // In debug builds, mark the return so we can verify that this function 357 // In debug builds, mark the return so we can verify that this function
358 // was called. 358 // was called.
(...skipping 943 matching lines...) Expand 10 before | Expand all | Expand 10 after
1302 } 1302 }
1303 1303
1304 return false; 1304 return false;
1305 } 1305 }
1306 1306
1307 1307
1308 #undef __ 1308 #undef __
1309 1309
1310 1310
1311 } } // namespace v8::internal 1311 } } // namespace v8::internal
OLDNEW
« no previous file with comments | « src/full-codegen.h ('k') | src/ia32/builtins-ia32.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698