Commit Graph

10834 Commits

Author SHA1 Message Date
ager@chromium.org
6e931081e3 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
2008-11-18 10:55:50 +00:00
olehougaard
27e4365aba 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
2008-11-18 10:02:37 +00:00
olehougaard
4c9102021d 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
2008-11-18 08:43:58 +00:00
iposva@chromium.org
4a31a4b638 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
2008-11-18 07:32:38 +00:00
feng@chromium.org
2b3b337d24 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
2008-11-17 20:04:52 +00:00
feng@chromium.org
d1b9ab06e3 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
2008-11-17 19:01:37 +00:00
ager@chromium.org
5737edb967 Remove assert that I accidentally committed
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@776 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-11-17 18:43:04 +00:00
feng@chromium.org
b4e17a2345 fix lint issue (from ager's commit)
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@775 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-11-17 17:54:15 +00:00
feng@chromium.org
736c7a9d35 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
2008-11-17 17:44:16 +00:00
ager@chromium.org
954bda3c46 Fix external string test.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@773 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-11-17 16:00:58 +00:00
ager@chromium.org
96d15ef6b4 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
2008-11-17 15:13:40 +00:00
ager@chromium.org
23a3ecbebd 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
2008-11-17 08:57:04 +00:00
kasperl@chromium.org
d24556d1c5 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
2008-11-17 06:56:28 +00:00
kasperl@chromium.org
7940adb1ec 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
2008-11-17 05:50:52 +00:00
olehougaard
2c680b97e6 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
2008-11-14 14:36:46 +00:00
olehougaard
2173d21458 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
2008-11-14 13:14:49 +00:00
feng@chromium.org
1555d130ad 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
2008-11-13 20:24:28 +00:00
feng@chromium.org
9d06372cfe 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
2008-11-13 01:18:31 +00:00
feng@chromium.org
98525aabe3 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
2008-11-12 23:21:54 +00:00
feng@chromium.org
47c71e84a8 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
2008-11-12 22:57:04 +00:00
sgjesse@chromium.org
7518f92d52 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
2008-11-12 12:20:24 +00:00
kmillikin@chromium.org
45e88ce988 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
2008-11-12 11:00:12 +00:00
feng@chromium.org
01230b25b2 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
2008-11-12 01:05:41 +00:00
lrn@chromium.org
cf4747c709 Use OS::StrDup to duplicate strings.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@735 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-11-11 14:51:56 +00:00
lrn@chromium.org
a03b447bd0 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
2008-11-11 14:16:24 +00:00
ager@chromium.org
f6911f6be8 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
2008-11-11 13:30:05 +00:00
deanm@chromium.org
8bea254650 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
2008-11-11 06:10:07 +00:00
feng@chromium.org
3ccdce6d83 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
2008-11-10 22:53:19 +00:00
kasperl@chromium.org
b14a2e4cb7 Revert r724 (breaks debug mode tests).
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@726 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-11-10 17:27:49 +00:00
ager@chromium.org
cc055d2dee 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
2008-11-10 14:36:03 +00:00
lrn@chromium.org
2889b1ea86 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
2008-11-10 14:27:08 +00:00
sgjesse@chromium.org
ebdd02ebd3 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
2008-11-10 09:45:50 +00:00
deanm@chromium.org
8ee441ea9f 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
2008-11-09 17:48:34 +00:00
feng@chromium.org
47ac6ff1e0 fix lint, approved offline by iposva
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@721 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-11-07 23:00:09 +00:00
feng@chromium.org
fc8a0e3fa5 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
2008-11-07 22:56:41 +00:00
feng@chromium.org
b7a0a9f347 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
2008-11-07 17:21:11 +00:00
feng@chromium.org
c1d5bcd852 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
2008-11-07 17:18:22 +00:00
whessev8
db24087055 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
2008-11-07 09:55:57 +00:00
kmillikin@chromium.org
6edea51f89 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
2008-11-07 08:58:23 +00:00
kmillikin@chromium.org
bdb896cc40 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
2008-11-07 08:21:07 +00:00
whessev8
a6554f8785 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
2008-11-06 10:43:15 +00:00
iposva@chromium.org
1af131cbed 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
2008-11-05 20:39:41 +00:00
iposva@chromium.org
779af439ec 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
2008-11-05 19:18:10 +00:00
erik.corry@gmail.com
b4e7335c0c 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
2008-11-05 10:26:08 +00:00
kmillikin@chromium.org
47e55a77a7 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
2008-11-05 08:44:54 +00:00
olehougaard
31520bc34a 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
2008-11-05 08:43:22 +00:00
ager@chromium.org
439f3e6708 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
2008-11-04 16:23:56 +00:00
deanm@chromium.org
a62c678814 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
2008-11-04 14:02:24 +00:00
deanm@chromium.org
44fe15dbfb 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
2008-11-04 14:00:35 +00:00
whessev8
eb9c7f3265 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
2008-11-04 13:05:56 +00:00