| Index: src/ia32/macro-assembler-ia32.cc
|
| ===================================================================
|
| --- src/ia32/macro-assembler-ia32.cc (revision 5685)
|
| +++ src/ia32/macro-assembler-ia32.cc (working copy)
|
| @@ -584,6 +584,20 @@
|
| Register scratch,
|
| Label* gc_required,
|
| AllocationFlags flags) {
|
| + if (!FLAG_inline_new) {
|
| + if (FLAG_debug_code) {
|
| + // Trash the registers to simulate an allocation failure.
|
| + mov(result, Immediate(0x7091));
|
| + if (result_end.is_valid()) {
|
| + mov(result_end, Immediate(0x7191));
|
| + }
|
| + if (scratch.is_valid()) {
|
| + mov(scratch, Immediate(0x7291));
|
| + }
|
| + }
|
| + jmp(gc_required);
|
| + return;
|
| + }
|
| ASSERT(!result.is(result_end));
|
|
|
| // Load address of new object into result.
|
| @@ -627,6 +641,19 @@
|
| Register scratch,
|
| Label* gc_required,
|
| AllocationFlags flags) {
|
| + if (!FLAG_inline_new) {
|
| + if (FLAG_debug_code) {
|
| + // Trash the registers to simulate an allocation failure.
|
| + mov(result, Immediate(0x7091));
|
| + mov(result_end, Immediate(0x7191));
|
| + if (scratch.is_valid()) {
|
| + mov(scratch, Immediate(0x7291));
|
| + }
|
| + // Register element_count is not modified by the function.
|
| + }
|
| + jmp(gc_required);
|
| + return;
|
| + }
|
| ASSERT(!result.is(result_end));
|
|
|
| // Load address of new object into result.
|
| @@ -655,6 +682,19 @@
|
| Register scratch,
|
| Label* gc_required,
|
| AllocationFlags flags) {
|
| + if (!FLAG_inline_new) {
|
| + if (FLAG_debug_code) {
|
| + // Trash the registers to simulate an allocation failure.
|
| + mov(result, Immediate(0x7091));
|
| + mov(result_end, Immediate(0x7191));
|
| + if (scratch.is_valid()) {
|
| + mov(scratch, Immediate(0x7291));
|
| + }
|
| + // object_size is left unchanged by this function.
|
| + }
|
| + jmp(gc_required);
|
| + return;
|
| + }
|
| ASSERT(!result.is(result_end));
|
|
|
| // Load address of new object into result.
|
|
|