platform/upstream/v8.git
15 years agoMinor cleanup code in GenerateStoreField.
feng@chromium.org [Thu, 20 Nov 2008 16:31:22 +0000 (16:31 +0000)]
Minor cleanup code in GenerateStoreField.

Review URL: http://codereview.chromium.org/11276

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@806 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoExplicitly change a floating point division with a constant into a
ager@chromium.org [Thu, 20 Nov 2008 11:33:50 +0000 (11:33 +0000)]
Explicitly change a floating point division with a constant into a
multiplication by its inverse.

In optimized builds GCC does this on its own, but this may be useful
when using other compilers.
Review URL: http://codereview.chromium.org/11524

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@805 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoChange the handling of OS::Abort on Windows to enter the debugger if the process...
sgjesse@chromium.org [Thu, 20 Nov 2008 10:00:36 +0000 (10:00 +0000)]
Change the handling of OS::Abort on Windows to enter the debugger if the process is being debugged.
Review URL: http://codereview.chromium.org/11522

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@802 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoDisable map collection since there is a bug in it somewhere. Leave in
ager@chromium.org [Thu, 20 Nov 2008 09:48:29 +0000 (09:48 +0000)]
Disable map collection since there is a bug in it somewhere.  Leave in
the code so we can work on it.
Review URL: http://codereview.chromium.org/11806

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@800 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoWhen probing a dictionary backing storage in generated code, make sure
ager@chromium.org [Thu, 20 Nov 2008 09:18:08 +0000 (09:18 +0000)]
When probing a dictionary backing storage in generated code, make sure
not to return functions that have not been loaded.

This fixes crashes on expedia.com:

  http://code.google.com/p/chromium/issues/detail?id=4526
Review URL: http://codereview.chromium.org/11272

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@799 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoRemoved som unused function from the JavaScript side of the debugger.
sgjesse@chromium.org [Wed, 19 Nov 2008 12:27:55 +0000 (12:27 +0000)]
Removed som unused function from the JavaScript side of the debugger.
Review URL: http://codereview.chromium.org/11269

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@795 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoChanged the handling of Win32 function SetErrorMode to be more correct. The flag...
sgjesse@chromium.org [Wed, 19 Nov 2008 10:09:21 +0000 (10:09 +0000)]
Changed the handling of Win32 function SetErrorMode to be more correct. The flag to prevent error dialogs is now merged with existing flags, and the error mode is now reset which it was not before.
Review URL: http://codereview.chromium.org/11471

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@792 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoRemoved one more occurrence of a failure in a handle.
ager@chromium.org [Wed, 19 Nov 2008 09:50:50 +0000 (09:50 +0000)]
Removed one more occurrence of a failure in a handle.
Review URL: http://codereview.chromium.org/11469

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@791 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoEnsure that external symbols have hash codes.
ager@chromium.org [Tue, 18 Nov 2008 10:55:50 +0000 (10:55 +0000)]
Ensure that external symbols have hash codes.
Review URL: http://codereview.chromium.org/11443

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@785 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoFixing wrong reference to this in eval.
olehougaard [Tue, 18 Nov 2008 10:02:37 +0000 (10:02 +0000)]
Fixing wrong reference to this in eval.
Review URL: http://codereview.chromium.org/11227

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@784 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoChanging the semantics of cross-frame eval to be compatible with Safari and Firefox.
olehougaard [Tue, 18 Nov 2008 08:43:58 +0000 (08:43 +0000)]
Changing the semantics of cross-frame eval to be compatible with Safari and Firefox.
Review URL: http://codereview.chromium.org/11601

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@781 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoAdd an API test for v8::ScriptData::PreCompile() to make sure
iposva@chromium.org [Tue, 18 Nov 2008 07:32:38 +0000 (07:32 +0000)]
Add an API test for v8::ScriptData::PreCompile() to make sure
that v8::V8::Initialize() does not have to be called to allow
pre-compilation. Currently this test would fail, which is
why a workaround has been applied and a bug filed.

Review URL: http://codereview.chromium.org/11441

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@779 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoBuildbot still is not happy. Looks like CRASH keyword is needed.
feng@chromium.org [Mon, 17 Nov 2008 20:04:52 +0000 (20:04 +0000)]
Buildbot still is not happy. Looks like CRASH keyword is needed.

TBR = iposva

Review URL: http://codereview.chromium.org/11417

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@778 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoAdjust test status of ARM build to reflect the current situation.
feng@chromium.org [Mon, 17 Nov 2008 19:01:37 +0000 (19:01 +0000)]
Adjust test status of ARM build to reflect the current situation.

TBR = iposva

Review URL: http://codereview.chromium.org/11414

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@777 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoRemove assert that I accidentally committed
ager@chromium.org [Mon, 17 Nov 2008 18:43:04 +0000 (18:43 +0000)]
Remove assert that I accidentally committed

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@776 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agofix lint issue (from ager's commit)
feng@chromium.org [Mon, 17 Nov 2008 17:54:15 +0000 (17:54 +0000)]
fix lint issue (from ager's commit)

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@775 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoSome debugging support fixes on ARM simulator port.
feng@chromium.org [Mon, 17 Nov 2008 17:44:16 +0000 (17:44 +0000)]
Some debugging support fixes on ARM simulator port.

1) Let SaveContext remember the top JS frame stack pointer so it works in simulator where C stack and JS stack are separated;
2) Use the new calling convension in %DebugBreakCallHelper function;

Review URL: http://codereview.chromium.org/10663

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@774 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoFix external string test.
ager@chromium.org [Mon, 17 Nov 2008 16:00:58 +0000 (16:00 +0000)]
Fix external string test.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@773 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoAdd experimental support for external two-byte symbols.
ager@chromium.org [Mon, 17 Nov 2008 15:13:40 +0000 (15:13 +0000)]
Add experimental support for external two-byte symbols.

This might be a big win in a browser setting where a lot of string
conversions can be avoided.  On the other hand it adds extra pressure
on the global handle system.
Review URL: http://codereview.chromium.org/11404

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@772 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoPrepare push to trunk. Now working on version 0.4.5.
ager@chromium.org [Mon, 17 Nov 2008 08:57:04 +0000 (08:57 +0000)]
Prepare push to trunk.  Now working on version 0.4.5.
Review URL: http://codereview.chromium.org/11201

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@767 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoFix Chromium issue 176 by treating byte-order marks as whitespace.
kasperl@chromium.org [Mon, 17 Nov 2008 06:56:28 +0000 (06:56 +0000)]
Fix Chromium issue 176 by treating byte-order marks as whitespace.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@765 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoTrack loop nesting across function calls when the function
kasperl@chromium.org [Mon, 17 Nov 2008 05:50:52 +0000 (05:50 +0000)]
Track loop nesting across function calls when the function
is called through an IC the first time.
Review URL: http://codereview.chromium.org/10746

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@764 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoOops. Forgot to throw *new* $EvalError.
olehougaard [Fri, 14 Nov 2008 14:36:46 +0000 (14:36 +0000)]
Oops. Forgot to throw *new* $EvalError.
Review URL: http://codereview.chromium.org/10749

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@760 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoRestrict application of eval so it can only be used in the context of the global...
olehougaard [Fri, 14 Nov 2008 13:14:49 +0000 (13:14 +0000)]
Restrict application of eval so it can only be used in the context of the global object. For compatibility.
Review URL: http://codereview.chromium.org/10748

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@757 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoEnable api tests on Armulator.
feng@chromium.org [Thu, 13 Nov 2008 20:24:28 +0000 (20:24 +0000)]
Enable api tests on Armulator.

Review URL: http://codereview.chromium.org/10883

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@748 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoEnable IC stubs for KeyedLaod/Store on ARM.
feng@chromium.org [Thu, 13 Nov 2008 01:18:31 +0000 (01:18 +0000)]
Enable IC stubs for KeyedLaod/Store on ARM.

Several functions are not complete yet, always fall back to slow case.
It fixes test-api/AccessControlIC test.

Review URL: http://codereview.chromium.org/10624

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@745 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoFix the exception order by remember JS handler in an external handler.
feng@chromium.org [Wed, 12 Nov 2008 23:21:54 +0000 (23:21 +0000)]
Fix the exception order by remember JS handler in an external handler.

Review URL: http://codereview.chromium.org/10625

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@744 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoSome fixes in ARM simulator:
feng@chromium.org [Wed, 12 Nov 2008 22:57:04 +0000 (22:57 +0000)]
Some fixes in ARM simulator:
1) create a simulator per thread and using thread storage;
2) capitalize two function names;
3) use sscanf instead of sscanf_s in arm simulator;
4) disable warning of sscanf when building with arm simulator;

Review URL: http://codereview.chromium.org/10634

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@743 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoSet svn:eol-style to native on D8 files.
sgjesse@chromium.org [Wed, 12 Nov 2008 12:20:24 +0000 (12:20 +0000)]
Set svn:eol-style to native on D8 files.
Review URL: http://codereview.chromium.org/10632

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@740 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoMinor cleanup of the code generators to reduce (eventual) register
kmillikin@chromium.org [Wed, 12 Nov 2008 11:00:12 +0000 (11:00 +0000)]
Minor cleanup of the code generators to reduce (eventual) register
pressure and to avoid gratuitous merges in the CFG.  No real
performance impact is expected.
Review URL: http://codereview.chromium.org/10404

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@739 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agocl.exe complains about missing parens around the boolean expression.
feng@chromium.org [Wed, 12 Nov 2008 01:05:41 +0000 (01:05 +0000)]
cl.exe complains about missing parens around the boolean expression.

Review URL: http://codereview.chromium.org/10298

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@736 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoUse OS::StrDup to duplicate strings.
lrn@chromium.org [Tue, 11 Nov 2008 14:51:56 +0000 (14:51 +0000)]
Use OS::StrDup to duplicate strings.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@735 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoArguments on the command line are made available as a global "arguments" array.
lrn@chromium.org [Tue, 11 Nov 2008 14:16:24 +0000 (14:16 +0000)]
Arguments on the command line are made available as a global "arguments" array.
Fix for non-empty assertion in debug mode (string representation of empty arguments is a single space, not an empty string).

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@733 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoMake sure that data functions return 0 instead of -0 for a number of
ager@chromium.org [Tue, 11 Nov 2008 13:30:05 +0000 (13:30 +0000)]
Make sure that data functions return 0 instead of -0 for a number of
date functions such as getHours for dates before 1970.

This is consistent with the behavior of other JavaScript engines.

Review URL: http://codereview.chromium.org/9770

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@732 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoUse shorter encoding for mov REG, IMM. Use Set() in two places to generate smaller...
deanm@chromium.org [Tue, 11 Nov 2008 06:10:07 +0000 (06:10 +0000)]
Use shorter encoding for mov REG, IMM.  Use Set() in two places to generate smaller code when the immediate is 0.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@728 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoFix CALL_NON_FUNCTION.
feng@chromium.org [Mon, 10 Nov 2008 22:53:19 +0000 (22:53 +0000)]
Fix CALL_NON_FUNCTION.
Using two flags to specify the state of targets:
1) FixupIsPCRelative specifies where to patch (relative to pc or at pc);
2) FixupUseCodeObject specifies what to patch (code object or start address).

Review URL: http://codereview.chromium.org/10233

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@727 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoRevert r724 (breaks debug mode tests).
kasperl@chromium.org [Mon, 10 Nov 2008 17:27:49 +0000 (17:27 +0000)]
Revert r724 (breaks debug mode tests).

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@726 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoDestroyed global handles should not be touched. Added extra
ager@chromium.org [Mon, 10 Nov 2008 14:36:03 +0000 (14:36 +0000)]
Destroyed global handles should not be touched.  Added extra
assertions to get errors when first touching the destroyed handle
instead of getting the error when allocating a new handle at some
later point.
Review URL: http://codereview.chromium.org/9741

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@725 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoFlag passes rest of command line to the shell/scripts being run.
lrn@chromium.org [Mon, 10 Nov 2008 14:27:08 +0000 (14:27 +0000)]
Flag passes rest of command line to the shell/scripts being run.
Arguments on the command line are made available as a global "arguments" array.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@724 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoRemoved some unused debugger functions.
sgjesse@chromium.org [Mon, 10 Nov 2008 09:45:50 +0000 (09:45 +0000)]
Removed some unused debugger functions.
Review URL: http://codereview.chromium.org/10249

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@723 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoUse shorter SIB encoding. For example, the previous:
deanm@chromium.org [Sun, 9 Nov 2008 17:48:34 +0000 (17:48 +0000)]
Use shorter SIB encoding.  For example, the previous:
8d044500000000 lea eax,[eax*2+0x0]
Will be encoded with the much shorter:
8d0400         lea eax,[eax+eax*1]

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@722 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agofix lint, approved offline by iposva
feng@chromium.org [Fri, 7 Nov 2008 23:00:09 +0000 (23:00 +0000)]
fix lint, approved offline by iposva

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@721 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoFix OOM handler code. Old code didn't pop up the state slot.
feng@chromium.org [Fri, 7 Nov 2008 22:56:41 +0000 (22:56 +0000)]
Fix OOM handler code. Old code didn't pop up the state slot.

Review URL: http://codereview.chromium.org/10223

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@720 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoAdd ARM simulator build files.
feng@chromium.org [Fri, 7 Nov 2008 17:21:11 +0000 (17:21 +0000)]
Add ARM simulator build files.

Review URL: http://codereview.chromium.org/9669

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@719 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoRemove ARM files.
feng@chromium.org [Fri, 7 Nov 2008 17:18:22 +0000 (17:18 +0000)]
Remove ARM files.

Review URL: http://codereview.chromium.org/9486

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@718 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoFix typo and remove undefined, unused API function from include/v8-debug.h
whessev8 [Fri, 7 Nov 2008 09:55:57 +0000 (09:55 +0000)]
Fix typo and remove undefined, unused API function from include/v8-debug.h
Review URL: http://codereview.chromium.org/9504

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@710 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoReporting -1 as the size of an ILLEGAL reference which actually has
kmillikin@chromium.org [Fri, 7 Nov 2008 08:58:23 +0000 (08:58 +0000)]
Reporting -1 as the size of an ILLEGAL reference which actually has
size 0 was too cute.
Review URL: http://codereview.chromium.org/9689

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@709 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoEmit pushes and pops through the virtual frame on ARM. Merging of
kmillikin@chromium.org [Fri, 7 Nov 2008 08:21:07 +0000 (08:21 +0000)]
Emit pushes and pops through the virtual frame on ARM.  Merging of
frames is not yet handled.  The ARM code generator should be back in
line with the IA32 one.
Review URL: http://codereview.chromium.org/9182

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@706 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoAdds a --help option and usage message listing all flags to V8.
whessev8 [Thu, 6 Nov 2008 10:43:15 +0000 (10:43 +0000)]
Adds a --help option and usage message listing all flags to V8.

Review URL: http://codereview.chromium.org/9420

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@702 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoHandle stack overflow errors correctly when rewriting the AST
iposva@chromium.org [Wed, 5 Nov 2008 20:39:41 +0000 (20:39 +0000)]
Handle stack overflow errors correctly when rewriting the AST
for likely Smis.

Review URL: http://codereview.chromium.org/9429

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@701 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoBackport the changes from the readability review.
iposva@chromium.org [Wed, 5 Nov 2008 19:18:10 +0000 (19:18 +0000)]
Backport the changes from the readability review.

Review URL: http://codereview.chromium.org/8939

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@700 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoRemoved some unsafe uses of StringShape.
erik.corry@gmail.com [Wed, 5 Nov 2008 10:26:08 +0000 (10:26 +0000)]
Removed some unsafe uses of StringShape.
Simplified some uses of StringShape.
Removed unused function SlicedStringFlatten.
Review URL: http://codereview.chromium.org/9408

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@695 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoInitial port of VirtualFrame to the ARM architecture. To reduce the
kmillikin@chromium.org [Wed, 5 Nov 2008 08:44:54 +0000 (08:44 +0000)]
Initial port of VirtualFrame to the ARM architecture.  To reduce the
size of the change, the initial implementation provides read access to
the frame (eg, locals, parameters, and expression stack elements) but
no mutation.
Review URL: http://codereview.chromium.org/7302

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@694 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoRemoved a comment that is no longer valid.
olehougaard [Wed, 5 Nov 2008 08:43:22 +0000 (08:43 +0000)]
Removed a comment that is no longer valid.
Review URL: http://codereview.chromium.org/8960

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@693 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoDo not put failures in handles.
ager@chromium.org [Tue, 4 Nov 2008 16:23:56 +0000 (16:23 +0000)]
Do not put failures in handles.

Assert in the Handle constructor that the object is not a failure.

I have run our own tests in debug mode and the WebKit layout tests in
debug mode and there are no regressions.
Review URL: http://codereview.chromium.org/9114

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@691 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoUse 1 byte push REG instructions instead of the 2 byte ModRM version.
deanm@chromium.org [Tue, 4 Nov 2008 14:02:24 +0000 (14:02 +0000)]
Use 1 byte push REG instructions instead of the 2 byte ModRM version.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@690 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoRemove duplicated code, the two emit_operand were basically identical.
deanm@chromium.org [Tue, 4 Nov 2008 14:00:35 +0000 (14:00 +0000)]
Remove duplicated code, the two emit_operand were basically identical.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@689 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoCode cleanup & simplification.
whessev8 [Tue, 4 Nov 2008 13:05:56 +0000 (13:05 +0000)]
Code cleanup & simplification.
Moves the calls to tracer and UpdateLiveObjectCount inside the call to
(inlined) SetMark.  Removes global object counter.
Review URL: http://codereview.chromium.org/8910

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@688 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoPrepare push to trunk. Now working on version 0.4.4.
ager@chromium.org [Tue, 4 Nov 2008 11:38:08 +0000 (11:38 +0000)]
Prepare push to trunk.  Now working on version 0.4.4.
Review URL: http://codereview.chromium.org/9324

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@686 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoMake buildbots green. StringShapes can change during GC when we
ager@chromium.org [Mon, 3 Nov 2008 15:33:45 +0000 (15:33 +0000)]
Make buildbots green.  StringShapes can change during GC when we
shortcut cons strings.
Review URL: http://codereview.chromium.org/9245

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@681 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoSmi ranges are not symmetrical. -kMinSmiValue is not a Smi.
ager@chromium.org [Mon, 3 Nov 2008 15:21:46 +0000 (15:21 +0000)]
Smi ranges are not symmetrical.  -kMinSmiValue is not a Smi.
Review URL: http://codereview.chromium.org/9041

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@680 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoIf a HeapNumber is the incoming value, it must be converted to Smi before
lrn@chromium.org [Mon, 3 Nov 2008 13:33:13 +0000 (13:33 +0000)]
If a HeapNumber is the incoming value, it must be converted to Smi before
checking. This is not done in a fast way.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@679 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoFix place where linter complains about lonely {
erik.corry@gmail.com [Mon, 3 Nov 2008 12:08:01 +0000 (12:08 +0000)]
Fix place where linter complains about lonely {
Fix place where ARM compiler loses track of whether variables were initialized.
Review URL: http://codereview.chromium.org/9244

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@678 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agofuzz natives times out on some machines due to DebugReferencedBy
erik.corry@gmail.com [Mon, 3 Nov 2008 12:07:22 +0000 (12:07 +0000)]
fuzz natives times out on some machines due to DebugReferencedBy
Review URL: http://codereview.chromium.org/9039

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@677 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoAdd file accidentally omitted from last change.
erik.corry@gmail.com [Mon, 3 Nov 2008 10:35:24 +0000 (10:35 +0000)]
Add file accidentally omitted from last change.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@676 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoCreate an abstraction for the string type flags so that they can be cached.
erik.corry@gmail.com [Mon, 3 Nov 2008 10:16:05 +0000 (10:16 +0000)]
Create an abstraction for the string type flags so that they can be cached.
Read the objects.h change first to understand what's going on here.
Review URL: http://codereview.chromium.org/9038

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@675 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoReverted 671.
kmillikin@chromium.org [Fri, 31 Oct 2008 13:18:52 +0000 (13:18 +0000)]
Reverted 671.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@673 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoChange the test status file parser to fail if the line contains unparsed tokens.
sgjesse@chromium.org [Fri, 31 Oct 2008 13:12:35 +0000 (13:12 +0000)]
Change the test status file parser to fail if the line contains unparsed tokens.

Refactor the platform.system() tests and use macos when running on Mac.
Review URL: http://codereview.chromium.org/8763

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@672 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoSimplify the way we materialize boolean values that are not yet pushed
kmillikin@chromium.org [Fri, 31 Oct 2008 11:55:06 +0000 (11:55 +0000)]
Simplify the way we materialize boolean values that are not yet pushed
on the stack frame.
Review URL: http://codereview.chromium.org/8764

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@671 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoFixing propertyIsEnumerable for properties that are *both* enumerable and read-only.
olehougaard [Fri, 31 Oct 2008 11:53:29 +0000 (11:53 +0000)]
Fixing propertyIsEnumerable for properties that are *both* enumerable and read-only.
Review URL: http://codereview.chromium.org/8962

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@670 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoReverting patch on wrong branch.
lrn@chromium.org [Fri, 31 Oct 2008 10:19:01 +0000 (10:19 +0000)]
Reverting patch on wrong branch.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@668 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoFixed some details in GetPropertyAttributeWithFailedAccessCheck
olehougaard [Fri, 31 Oct 2008 10:11:39 +0000 (10:11 +0000)]
Fixed some details in GetPropertyAttributeWithFailedAccessCheck
Review URL: http://codereview.chromium.org/8959

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@667 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoWe still compile with JSCRE immediately, instead of at the first use.
lrn@chromium.org [Fri, 31 Oct 2008 09:45:00 +0000 (09:45 +0000)]
We still compile with JSCRE immediately, instead of at the first use.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@666 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoIntroduce access control in propertyIsEnumerable.
olehougaard [Fri, 31 Oct 2008 09:42:14 +0000 (09:42 +0000)]
Introduce access control in propertyIsEnumerable.
Also, fix JSObject::getPropertyAttribute() so it deals correctly with access control modifiers.
Review URL: http://codereview.chromium.org/8834

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@665 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoFix natives fuzzing: Let the StringIndexOf runtime function
kasperl@chromium.org [Fri, 31 Oct 2008 08:51:26 +0000 (08:51 +0000)]
Fix natives fuzzing: Let the StringIndexOf runtime function
deal with start indexes that are out of range.
Review URL: http://codereview.chromium.org/8762

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@663 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoChanged the parsing a conditional expression in a test status file to look for 'if...
sgjesse@chromium.org [Fri, 31 Oct 2008 07:27:03 +0000 (07:27 +0000)]
Changed the parsing a conditional expression in a test status file to look for 'if' and not 'IF' as all the status files use 'if'.

This change catches the regression from r646.
Review URL: http://codereview.chromium.org/8739

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@662 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoIgnore result of calling Heap::CollectGarbage and continue
kasperl@chromium.org [Thu, 30 Oct 2008 14:30:25 +0000 (14:30 +0000)]
Ignore result of calling Heap::CollectGarbage and continue
to try the next allocation. This is consistent with how we
handle it when calling from JavaScript to C++.
Review URL: http://codereview.chromium.org/8916

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@659 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoExtend test case to cover calling runtime functions
kasperl@chromium.org [Thu, 30 Oct 2008 14:16:02 +0000 (14:16 +0000)]
Extend test case to cover calling runtime functions
from JavaScript.
Review URL: http://codereview.chromium.org/8915

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@658 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoAdd support for API accessors that prohibit overwriting by accessors
ager@chromium.org [Thu, 30 Oct 2008 12:51:06 +0000 (12:51 +0000)]
Add support for API accessors that prohibit overwriting by accessors
defined in JavaScript code by using __defineGetter__ and
__defineSetter__.

Also, disable access checks when configuring objects created from
templates.
Review URL: http://codereview.chromium.org/8914

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@656 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoMove assertion that might cause garbage collections to before
ager@chromium.org [Thu, 30 Oct 2008 11:38:22 +0000 (11:38 +0000)]
Move assertion that might cause garbage collections to before
extracting raw pointers.
Review URL: http://codereview.chromium.org/8913

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@654 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoSilly pointer thinko.
erik.corry@gmail.com [Thu, 30 Oct 2008 11:35:48 +0000 (11:35 +0000)]
Silly pointer thinko.
Review URL: http://codereview.chromium.org/8912

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@653 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoPrepare for pushing version 0.4.2.
kasperl@chromium.org [Thu, 30 Oct 2008 11:19:31 +0000 (11:19 +0000)]
Prepare for pushing version 0.4.2.
Review URL: http://codereview.chromium.org/8911

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@652 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoFix lint issue.
kasperl@chromium.org [Thu, 30 Oct 2008 11:15:29 +0000 (11:15 +0000)]
Fix lint issue.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@651 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoFix 3 places where we were doing retry after GC without using the macros that
erik.corry@gmail.com [Thu, 30 Oct 2008 11:12:08 +0000 (11:12 +0000)]
Fix 3 places where we were doing retry after GC without using the macros that
were defined for that purpose.
Review URL: http://codereview.chromium.org/8734

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@650 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoAdded some missing initialization checks to the debugger API.
sgjesse@chromium.org [Thu, 30 Oct 2008 10:27:28 +0000 (10:27 +0000)]
Added some missing initialization checks to the debugger API.

BUG=3723 (Chromium)
Review URL: http://codereview.chromium.org/8909

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@648 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoMake sure that allocations through CALL_HEAP_FUNCTION
kasperl@chromium.org [Thu, 30 Oct 2008 09:15:58 +0000 (09:15 +0000)]
Make sure that allocations through CALL_HEAP_FUNCTION
and runtime calls from JavaScript will always succeed
eventually if we have enough memory.
Review URL: http://codereview.chromium.org/8700

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@646 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoFix Chromium issue 3607.
feng@chromium.org [Wed, 29 Oct 2008 23:30:25 +0000 (23:30 +0000)]
Fix Chromium issue 3607.

Make Date::toLocaleDateString output be the same format as Safari.

Someone famililar with Date builtin object should check other functions.

Review URL: http://codereview.chromium.org/8875

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@645 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoFix out-of-date comment.
iposva@chromium.org [Wed, 29 Oct 2008 18:31:55 +0000 (18:31 +0000)]
Fix out-of-date comment.

TBR=ager

Review URL: http://codereview.chromium.org/8708

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@644 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoMost of the crashing ARM tests failed in debug mode.
sgjesse@chromium.org [Wed, 29 Oct 2008 15:50:50 +0000 (15:50 +0000)]
Most of the crashing ARM tests failed in debug mode.

TBR=kasperl
Review URL: http://codereview.chromium.org/8698

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@643 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoSkip the tests which currently crash on the ARM simulator.
sgjesse@chromium.org [Wed, 29 Oct 2008 14:23:18 +0000 (14:23 +0000)]
Skip the tests which currently crash on the ARM simulator.
Review URL: http://codereview.chromium.org/8696

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@642 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoGet the ARM simulator to throw an exception on unaligned accesses.
erik.corry@gmail.com [Wed, 29 Oct 2008 14:12:13 +0000 (14:12 +0000)]
Get the ARM simulator to throw an exception on unaligned accesses.
Review URL: http://codereview.chromium.org/8830

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@641 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoAdded crash detection to tests on Linux.
sgjesse@chromium.org [Wed, 29 Oct 2008 12:51:14 +0000 (12:51 +0000)]
Added crash detection to tests on Linux.

Added the timeout condition to the CommandOutput class.
Review URL: http://codereview.chromium.org/8695

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@639 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoAllow three runtime call attempts before throwing an out of
kasperl@chromium.org [Wed, 29 Oct 2008 12:16:34 +0000 (12:16 +0000)]
Allow three runtime call attempts before throwing an out of
memory exception. Still needs work in Runtime_PerformGC to
make sure we'll allow future allocations.
Review URL: http://codereview.chromium.org/8873

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@638 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoRemove unused maps during marking garbage collections.
whessev8 [Wed, 29 Oct 2008 10:37:14 +0000 (10:37 +0000)]
Remove unused maps during marking garbage collections.

Review URL: http://codereview.chromium.org/8831

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@637 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoMade testing run on Linux again. Fixed spelling error.
sgjesse@chromium.org [Wed, 29 Oct 2008 10:19:21 +0000 (10:19 +0000)]
Made testing run on Linux again. Fixed spelling error.

TBR=plesner

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@636 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoFix issue with Array.concat not preserving holes in the
kasperl@chromium.org [Wed, 29 Oct 2008 10:02:09 +0000 (10:02 +0000)]
Fix issue with Array.concat not preserving holes in the
top-level arrays.
Review URL: http://codereview.chromium.org/8694

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@635 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoBecause allocation in large object space can now require checking the
kmillikin@chromium.org [Wed, 29 Oct 2008 10:00:38 +0000 (10:00 +0000)]
Because allocation in large object space can now require checking the
size of the entire old generation, the heap must be (more) properly
set up to test the large object space.
Review URL: http://codereview.chromium.org/8872

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@634 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoBy default disable the general protection fault message box when
sgjesse@chromium.org [Wed, 29 Oct 2008 09:52:31 +0000 (09:52 +0000)]
By default disable the general protection fault message box when
running tests on Windows. This requires

Added the option --win-error-box to enable general protection fault
message box which can be convenient when debugging failing tests on
Windows.

Added crash detection when running tests on Windows. The output
is not fully polished but crashed indications are printed for the
different progess indicators.

Changed the OS::Abort on Windows from generating a "crash" (int3)
to calling abort(). This is to avoid tests which are known to fail
with out of memory errors to be detected as crashed tests.
Review URL: http://codereview.chromium.org/8676

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@633 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoCheck the growth of the old generation before expanding the paged
kmillikin@chromium.org [Wed, 29 Oct 2008 09:27:59 +0000 (09:27 +0000)]
Check the growth of the old generation before expanding the paged
spaces (during normal allocation) and when allocating large objects.
If the promotion limit is reached, fail allocation to trigger a
garbage collection.
Review URL: http://codereview.chromium.org/8657

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@632 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

15 years agoFix compile failure with very strict gcc warning rules on Linux.
iposva@chromium.org [Tue, 28 Oct 2008 22:47:51 +0000 (22:47 +0000)]
Fix compile failure with very strict gcc warning rules on Linux.

TBR=kasperl

Review URL: http://codereview.chromium.org/8857

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@631 ce2b1a6d-e550-0410-aec6-3dcde31c8c00