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

Side by Side Diff: src/ia32/virtual-frame-ia32.cc

Issue 6599002: Detect overflow of contant pool in virtual frame compiler. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: set untagged int32 Created 9 years, 9 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
OLDNEW
1 // Copyright 2009 the V8 project authors. All rights reserved. 1 // Copyright 2009 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 1288 matching lines...) Expand 10 before | Expand all | Expand 10 after
1299 1299
1300 void VirtualFrame::EmitPush(Immediate immediate, TypeInfo info) { 1300 void VirtualFrame::EmitPush(Immediate immediate, TypeInfo info) {
1301 ASSERT(stack_pointer_ == element_count() - 1); 1301 ASSERT(stack_pointer_ == element_count() - 1);
1302 elements_.Add(FrameElement::MemoryElement(info)); 1302 elements_.Add(FrameElement::MemoryElement(info));
1303 stack_pointer_++; 1303 stack_pointer_++;
1304 __ push(immediate); 1304 __ push(immediate);
1305 } 1305 }
1306 1306
1307 1307
1308 void VirtualFrame::PushUntaggedElement(Handle<Object> value) { 1308 void VirtualFrame::PushUntaggedElement(Handle<Object> value) {
1309 ASSERT(!ConstantPoolOverflowed());
1309 elements_.Add(FrameElement::ConstantElement(value, FrameElement::NOT_SYNCED)); 1310 elements_.Add(FrameElement::ConstantElement(value, FrameElement::NOT_SYNCED));
1310 elements_[element_count() - 1].set_untagged_int32(true); 1311 elements_[element_count() - 1].set_untagged_int32(true);
1311 } 1312 }
1312 1313
1313 1314
1314 void VirtualFrame::Push(Expression* expr) { 1315 void VirtualFrame::Push(Expression* expr) {
1315 ASSERT(expr->IsTrivial()); 1316 ASSERT(expr->IsTrivial());
1316 1317
1317 Literal* lit = expr->AsLiteral(); 1318 Literal* lit = expr->AsLiteral();
1318 if (lit != NULL) { 1319 if (lit != NULL) {
(...skipping 15 matching lines...) Expand all
1334 } 1335 }
1335 UNREACHABLE(); 1336 UNREACHABLE();
1336 } 1337 }
1337 1338
1338 1339
1339 #undef __ 1340 #undef __
1340 1341
1341 } } // namespace v8::internal 1342 } } // namespace v8::internal
1342 1343
1343 #endif // V8_TARGET_ARCH_IA32 1344 #endif // V8_TARGET_ARCH_IA32
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698