ager@chromium.org
e8b56e6f95
Make sure that the API does not change templates pass in from the
...
user. The API should never change templates behind the back of the
user.
Review URL: http://codereview.chromium.org/13741
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@963 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-12-11 11:09:51 +00:00
sgjesse@chromium.org
d63a3e13e6
Changed the debugger break handling to support situations where there are no stack frames. This can happen when an exception is thrown when compiling code.
...
This is related to Chromium issue 5349 (http://code.google.com/p/chromium/issues/detail?id=5349 ).
Review URL: http://codereview.chromium.org/13720
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@959 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-12-11 08:03:24 +00:00
ager@chromium.org
4f15a008f6
Make sure that the generic stubs for keyed load and store and for
...
dictionary probing respects access check bit.
Review URL: http://codereview.chromium.org/13663
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@955 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-12-10 08:05:10 +00:00
olehougaard
90611c0ef7
Removed a few calls to Top::ReportPendingMessages() that caused the messages to be reported prematurely and not at the C++/JS boundary.
...
Review URL: http://codereview.chromium.org/13287
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@954 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-12-09 13:18:33 +00:00
sgjesse@chromium.org
bbbab4821c
Refactor the convertion of a target address into a code object from the debugger to the Code class.
...
Review URL: http://codereview.chromium.org/13285
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@952 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-12-09 12:53:59 +00:00
olehougaard
ccf388fc64
Fixing a bug where a try-finally block obscured a try-catch block when registering an external try-catch handler.
...
Review URL: http://codereview.chromium.org/13658
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@945 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-12-09 10:16:38 +00:00
lrn@chromium.org
5178af89fa
Irregexp is specialized on subject character type.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@937 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-12-08 12:43:01 +00:00
erik.corry@gmail.com
ba09ec5e89
Irregexp:
...
* Facility for generating a node several ways. This allows
code to be generated for a node knowing where it is trying
to match relative to the 'current position' and it allows
code to be generated that knows where to backtrack to. Both
allow dramatic reductions in the amount of popping and pushing
on the stack and the number of indirect jumps.
* Generate special backtracking for greedy quantifiers on
constant-length atoms. This allows .* to run in constant
space relative to input string size.
* When we are checking a long sequence of characters or character
classes in the input then we do them right to left and only the
first (rightmost) needs to check for end-of-string.
* Record the pattern in the profile instead of just <CompiledRegExp>
* Nodes no longer contain an on_failure_ node. This was only used
for lookaheads and they are now handled with a choice node instead.
Review URL: http://codereview.chromium.org/12900
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@930 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-12-08 09:22:12 +00:00
olehougaard
89855a08d9
Fixing exception reporting so that a verbose TryCatch handler works again.
...
Review URL: http://codereview.chromium.org/13173
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@924 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-12-05 13:30:55 +00:00
lrn@chromium.org
ed4e792cd5
Makes irregexp-ia32 feature complete wrt. regexps.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@920 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-12-05 09:18:55 +00:00
olehougaard
30204a0c00
Added reporting compilation errors.
...
Review URL: http://codereview.chromium.org/13125
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@919 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-12-05 08:35:52 +00:00
ager@chromium.org
15e98d12e6
Pull out revision 915 and 916 to get a green builder. I believe the
...
issue has been resolved and these changes can go back in along with
the fix tomorrow.
TBR=olehougaard
Review URL: http://codereview.chromium.org/12945
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@918 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-12-04 14:35:31 +00:00
olehougaard
cb6a3e2f0a
Reporting uncaught errors at the boundary between C++ and JS instead of trying to guess whether they get caught at the time of the throw.
...
Review URL: http://codereview.chromium.org/12901
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@915 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-12-04 08:47:31 +00:00
lrn@chromium.org
dd9be4ef58
Matching a back-reference must handle unbound start-register (but can assume that if start register is bound, then end register is bound too).
...
After matching a back reference, the character position is advanced past
the match
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@908 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-12-03 13:24:34 +00:00
christian.plesner.hansen@gmail.com
12774ab2d8
Fixed issue where regexps were parsed without having set up a zone
...
scope, leading to zone exhaustion. Added assertion that a zone scope
exists on zone allocation.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@898 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-12-02 14:00:24 +00:00
christian.plesner.hansen@gmail.com
917e91d1f2
- Added some expansion of assertions.
...
- Splitting of character classes into word and non-word parts.
- A bunch of refactorings.
- Made dispatch table construction lazy.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@880 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-12-01 15:42:35 +00:00
christian.plesner.hansen@gmail.com
5c39d9c741
Added checking in the regular expression parser that we're below the
...
stack limit and that the zone allocation limit hasn't been met.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@879 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-12-01 15:32:20 +00:00
lrn@chromium.org
b07b40b335
Allow the non-spec [a-\d] (i.e., ending a range with a character class) in RegExps.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@877 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-12-01 14:29:28 +00:00
lrn@chromium.org
0269851619
Fixes (last?) bugs in regexp-ia32 core functionality. All tests run!
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@873 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-12-01 09:57:14 +00:00
ager@chromium.org
2c2ae533ec
Remove a couple of instances of wchar_t after counters change.
...
Review URL: http://codereview.chromium.org/12820
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@872 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-12-01 07:56:57 +00:00
erik.corry@gmail.com
49d05495d8
* Remove an unused layer of abstraction by not having both a macro assembler and
...
an assembler when compiling to bytecode. This fixes
http://code.google.com/p/v8/issues/detail?id=165
* Preload the 'current character' register when starting a match (byte code only
at the moment).
Review URL: http://codereview.chromium.org/10995
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@865 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-11-28 10:37:06 +00:00
erik.corry@gmail.com
4722a886ec
Implement $ for non-multiline.
...
Review URL: http://codereview.chromium.org/10992
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@862 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-11-28 08:53:53 +00:00
olehougaard
2b72eeedfb
Change implementation of eval to make an exact distinction between direct eval and aliased eval.
...
Review URL: http://codereview.chromium.org/12673
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@860 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-11-27 13:55:06 +00:00
lrn@chromium.org
1a9e303e89
Made char comparisons work
...
Tracer for regexp macro-assembler instructions
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@859 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-11-27 13:54:31 +00:00
christian.plesner.hansen@gmail.com
7bdb653065
Fixed lint error.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@857 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-11-27 11:20:05 +00:00
christian.plesner.hansen@gmail.com
4213b46b1d
Fixed some assertion propagation issues and added non-multiline $
...
propagation.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@856 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-11-27 10:35:06 +00:00
erik.corry@gmail.com
ef59fde8de
Fix native code Irregexp on MacOSX.
...
Review URL: http://codereview.chromium.org/10984
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@855 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-11-27 09:27:30 +00:00
sgjesse@chromium.org
80c0290714
Added a debugger call to run a JavaScript function in the debugger. When called the debugger will be entered and the JavaScript function will be called with the debugger ExecutionState object as its first parameter.
...
This makes it possible to get information like current line number, current script resource, backtrace information etc. which is not part of the normal API.
Review URL: http://codereview.chromium.org/12472
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@854 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-11-27 08:01:27 +00:00
christian.plesner.hansen@gmail.com
be6f6d0dc2
Graph node attribute printing.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@852 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-11-27 07:21:43 +00:00
lrn@chromium.org
d7e5f97b1e
Made ARM/IA32 handling in Regexp symmetric (although without an ARM implementation yet).
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@848 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-11-26 13:54:08 +00:00
christian.plesner.hansen@gmail.com
fe591b0ab5
Merge code review fixes.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@845 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-11-26 08:03:55 +00:00
christian.plesner.hansen@gmail.com
144c8c790a
Fixed problem where the two lower-case sigmas would uncanonicalize to
...
themselves and upper-case sigma, but upper-case sigma would
uncanonicalize to just lower-case final sigma.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@844 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-11-26 06:05:07 +00:00
christian.plesner.hansen@gmail.com
02a4aeeb5f
Really marked the assembler tests as crashing on mac.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@843 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-11-25 16:01:25 +00:00
christian.plesner.hansen@gmail.com
8e3093dd1c
Marked MacroAssemblerIA32Simple as expected to fail on mac.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@842 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-11-25 15:43:42 +00:00
lrn@chromium.org
f72d8a4de4
IA32-tests won't be compiled on ARM (and not just not run).
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@840 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-11-25 14:26:13 +00:00
lrn@chromium.org
50092cc31e
Tests for RegExpMacroAssemblerIA32.
...
Disabled stack-limit checks.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@837 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-11-25 13:13:02 +00:00
christian.plesner.hansen@gmail.com
b57b4a15cd
Merge regexp2000 back into bleeding_edge
...
Review URL: http://codereview.chromium.org/12427
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@832 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-11-25 11:07:48 +00:00
ager@chromium.org
95d1d40077
Revert r819, 821, and 822 which caused a big performance regression
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@823 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-11-21 15:01:41 +00:00
olehougaard
3877c91a19
Fixing the detection of aliased eval so that it is exact.
...
Fixing the semantics of aliased eval so that it is conformant.
Review URL: http://codereview.chromium.org/11563
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@819 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-11-21 12:49:57 +00:00
ager@chromium.org
4bd0667324
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
2008-11-20 09:18:08 +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
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
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
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
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
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
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
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
erik.corry@gmail.com
eca89dc765
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
2008-11-03 10:16:05 +00:00
sgjesse@chromium.org
84170eeb99
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
2008-10-31 13:12:35 +00:00
olehougaard
bf3efa1c72
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
2008-10-31 11:53:29 +00:00
olehougaard
77a92988d2
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
2008-10-31 09:42:14 +00:00
kasperl@chromium.org
95e880ad33
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
2008-10-30 14:16:02 +00:00
ager@chromium.org
2013421859
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
2008-10-30 12:51:06 +00:00
sgjesse@chromium.org
52b2a12684
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
2008-10-30 10:27:28 +00:00
kasperl@chromium.org
a2be3b6f84
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
2008-10-30 09:15:58 +00:00
kmillikin@chromium.org
3450c12ffb
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
2008-10-29 10:00:38 +00:00
kasperl@chromium.org
91b19fcfe6
Fix lint issue.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@585 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-24 10:15:07 +00:00
sgjesse@chromium.org
5ffd290217
Changed the workarround for a GCC compiler bug to be only active for the GCC
...
version range for which the bug is known to exist.
Added include to compile with GCC 4.3.1.
BUG=122
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@583 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-24 09:35:27 +00:00
kasperl@chromium.org
b454b326a1
Fix lint issue.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@569 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-23 11:09:48 +00:00
christian.plesner.hansen@gmail.com
e08ce319ca
Added v8::Object::GetProperties method that returns an array of all
...
the enumerable properties of an object.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@568 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-23 10:31:49 +00:00
christian.plesner.hansen@gmail.com
c7ed0707a3
- Added const in a few places.
...
- Changed WeakReferenceCallback to take a Persistent<Value> instead of
a Persistent<Object>.
- Removed Message::GetUnderline and Message::GetScriptData.
- Added Value::IsDate, Date::Cast and Date::Value.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@564 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-23 08:25:23 +00:00
bak@chromium.org
bf948c8313
- Optimized CopyFixedArray and CopyJSObject.
...
- Refactored block copying.
Review URL: http://codereview.chromium.org/7863
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@548 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-22 08:21:18 +00:00
feng@chromium.org
648f6d21c6
Fix style issues.
...
TBR=iposva
Review URL: http://codereview.chromium.org/7830
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@543 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-21 20:08:49 +00:00
feng@chromium.org
42ef2c3d77
Split window support from V8.
...
Here is a description of the background and design of split window in Chrome and V8:
https://docs.google.com/a/google.com/Doc?id=chhjkpg_47fwddxbfr
This change list splits the window object into two parts: 1) an inner window object used as the global object of contexts; 2) an outer window object exposed to JavaScript and accessible by the name 'window'. Firefox did it awhile ago, here are some discussions: https://wiki.mozilla.org/Gecko:SplitWindow . One additional benefit of splitting window in Chrome is that accessing global variables don't need security checks anymore, it can improve applications that use many global variables.
V8 support of split window:
There are a small number of changes on V8 api to support split window:
Security context is removed from V8, so does related API functions;
A global object can be detached from its context and reused by a new context;
Access checks on an object template can be turned on/off by default;
An object can turn on its access checks later;
V8 has a new object type, ApiGlobalObject, which is the outer window object type. The existing JSGlobalObject becomes the inner window object type. Security checks are moved from JSGlobalObject to ApiGlobalObject. ApiGlobalObject is the one exposed to JavaScript, it is accessible through Context::Global(). ApiGlobalObject's prototype is set to JSGlobalObject so that property lookups are forwarded to JSGlobalObject. ApiGlobalObject forwards all other property access requests to JSGlobalObject, such as SetProperty, DeleteProperty, etc.
Security token is moved to a global context, and ApiGlobalObject has a reference to its global context. JSGlobalObject has a reference to its global context as well. When accessing properties on a global object in JavaScript, the domain security check is performed by comparing the security token of the lexical context (Top::global_context()) to the token of global object's context. The check is only needed when the receiver is a window object, such as 'window.document'. Accessing global variables, such as 'var foo = 3; foo' does not need checks because the receiver is the inner window object.
When an outer window is detached from its global context (when a frame navigates away from a page), it is completely detached from the inner window. A new context is created for the new page, and the outer global object is reused. At this point, the access check on the DOMWindow wrapper of the old context is turned on. The code in old context is still able to access DOMWindow properties, but it has to go through domain security checks.
It is debatable on how to implement the outer window object. Currently each property access function has to check if the receiver is ApiGlobalObject type. This approach might be error-prone that one may forget to check the receiver when adding new functions. It is unlikely a performance issue because accessing global variables are more common than 'window.foo' style coding.
I am still working on the ARM port, and I'd like to hear comments and suggestions on the best way to support it in V8.
Review URL: http://codereview.chromium.org/7366
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@540 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-21 19:07:58 +00:00
bak@chromium.org
7cd44cea9b
- Removed a few indirections by making the two SemiSpaces
...
part of NewSpace and made NewSpace statically allocated.
- Eliminated indirection in MigrateObject.
Review URL: http://codereview.chromium.org/7619
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@517 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-17 09:13:27 +00:00
erik.corry@gmail.com
89ac41aff9
If an allocation is so huge that we cannot code the size needed in the failure
...
object then we just return an out of memory failure object (instead of a retry
after GC failure object). Not all places that checked for retry-after-GC were
able to handle an immediate out of memory failure.
This fixes http://code.google.com/p/v8/issues/detail?id=70
Review URL: http://codereview.chromium.org/6340
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@477 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-09 11:26:37 +00:00
christian.plesner.hansen@gmail.com
76b1efea2d
- Specialized slow-case string equality nine ways based on the
...
underlying string representation of the two strings involved.
- Renamed ascii and two byte string classes to sequential ascii and
sequential two byte, and renamed IsAscii and friends to
IsAsciiRepresentation. This is to make a clear distinction between
strings with an ascii/two-byte representation, of which there is
four, and flat sequential ascii/two-byte string.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@474 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-09 08:08:04 +00:00
kasperl@chromium.org
1aee7c79aa
Fix typo in include/v8.h (issue 108) and mark test-spaces/LargeObjectSpace as flaky on ARM (issue 113). TBR=ager@chromium.org
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@472 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-09 05:39:00 +00:00
sgjesse@chromium.org
6a5e5bc50a
Removed the print, load, quit and version extensions from the VM. Moved the print extension to the compiler test as it was used there. Changed the serializer tests to only use the gc extension.
...
This also gets rid of 8 static initializers.
Review URL: http://codereview.chromium.org/6233
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@417 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-03 08:30:22 +00:00
ager@chromium.org
9da356eea6
Make sure that the name accessor on functions return the expected
...
names.
- Set the correct name of library functions.
- Set the name of C++ callback functions.
- Clean up a couple of out-dated comments related to literal creation.
Review URL: http://codereview.chromium.org/6223
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@414 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-03 07:14:31 +00:00
deanm@chromium.org
7b0ab87baf
Remove an ARM jump elimination test.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@396 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-30 10:20:58 +00:00
sgjesse@chromium.org
f2ac600e4b
Mark test test-debug/ThreadedDebugging as flaky.
...
Review URL: http://codereview.chromium.org/5001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@381 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-26 07:57:11 +00:00
feng@chromium.org
e048ec8c44
This is a fix of issue http://b/issue?id=1381845 .
...
Check domain security on prototypes in for-in loop.
Review URL: http://codereview.chromium.org/4236
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@368 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-24 15:47:34 +00:00
sgjesse@chromium.org
8391b19b07
Refactor the enum RelocMode changing the naming scheme from lower case to
...
upper case. Moved it into the RelocInfo class together with the associated
is_xxx functions. Renamed is_xxx to IsXxx in the process.
Removed the exit_js_frame mode as it was no longer used.
Patch Set 2 renames RELOC_MODE_COUNT to NUMBER_OF_MODES and fixes a couple of lint errors.
Review URL: http://codereview.chromium.org/3186
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@354 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-22 13:57:03 +00:00
erik.corry@gmail.com
5312fc05be
The OutOfMemory and OutOfMemoryNested tests set a heap limit that was too low.
...
A change in the way heap was allocated meant that the initial heap size was
sometimes not higher than the limit, which mean that the limit started having
and effect and prevented V8 from booting up.
Fixes http://code.google.com/p/v8/issues/detail?id=25
Review URL: http://codereview.chromium.org/2924
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@325 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-17 10:58:45 +00:00
deanm@chromium.org
c178664049
Fix some arm related flags with the new flag system.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@298 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-12 11:00:36 +00:00
deanm@chromium.org
77196c5771
This is a new static flag system, designed to have all flags in a central place, and compiled into the binary without requiring static constructors for registration. All flags are moved out of the specific modules and into flags.defs, with different sections for debug, release, etc. The flag variables are always defined. For example, a debug flag in release mode still exists, but is read only and set to the default value.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@296 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-12 10:19:33 +00:00
christian.plesner.hansen@gmail.com
66b18b9975
Fixed arm disassembler build problems.
...
Fixed lint issue in platform-macos.
Review URL: http://codereview.chromium.org/1941
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@287 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-11 16:41:19 +00:00
christian.plesner.hansen@gmail.com
32cf7fd9a1
Replaced calls to functions that msvc consider deprecated. Used
...
Vector<...> in more places to be sure that buffers have a length
associated with them.
Review URL: http://codereview.chromium.org/1940
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@283 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-11 14:34:48 +00:00
kasperl@chromium.org
1daa61fe2d
Fix issue 65 by making sure not to leak any of the cache
...
tables when doing compilation cache operations.
Review URL: http://codereview.chromium.org/1939
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@280 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-11 13:39:48 +00:00
olehougaard
d667ef8e00
Enabling a few tests when using snapshots.
...
Some of the tests that were disabled when using snapshot has been modified and reenabled.
Review URL: http://codereview.chromium.org/1937
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@277 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-11 12:33:31 +00:00
kasperl@chromium.org
eed1ab336c
Don't run the string resource tests threaded for now.
...
I'm debugging the issue and will file an issue for it.
Review URL: http://codereview.chromium.org/2419
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@276 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-11 12:25:37 +00:00
kasperl@chromium.org
b5a72a1645
Generalized the EvalCache into a CompilationCache and enabled
...
it for scripts too. In the context of Chromium, this should
have a very positive impact on memory consumption for web apps
that run multiple tabs from the same domain with a lot of the
same JavaScript code.
For now, the cache retirement policy is really simple:
Whenever a mark-sweep collection is started we clear the
cache. This guarantees that this change will not have a
huge negative impact on memory consumption, but it may
not be ideal. We should consider a more sophisticated LRU
scheme.
Review URL: http://codereview.chromium.org/1933
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@270 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-11 10:51:52 +00:00
ager@chromium.org
f77b1a872e
Remove a test from threading tests that make them fail on Mac OS.
...
Review URL: http://codereview.chromium.org/2415
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@261 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-11 07:28:10 +00:00
christian.plesner.hansen@gmail.com
4d95ac7339
Added option for TryCatches to not capture the message object on
...
exceptions.
It turned out that the stack overflow fix from before had disabled
message storing in another test. Previously, stack overflows would
actually cause a message object to start being created but cause
another exception which would not be reported and that's what stopped
the infinite regress. This change resores that behavior.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@259 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-10 14:54:15 +00:00
christian.plesner.hansen@gmail.com
9bed566bdb
Changed copyright header from google inc. to v8 project authors.
...
Added presubmit step to check copyright.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@242 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-09 20:08:45 +00:00
christian.plesner.hansen@gmail.com
de607bd33e
Added source info to TryCatches. Reorganized exception messaging
...
somewhat and folded stack traces into message. Use of this in the
shell will follow in a separate changelist.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@235 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-09 18:55:41 +00:00
christian.plesner.hansen@gmail.com
cdae1c1af5
Fixed issue 54, under some circumstances internal field count set on
...
object templates did not take effect.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@226 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-09 07:57:43 +00:00
feng@chromium.org
5d0d354e09
Fix issue http://code.google.com/p/v8/issues/detail?id=32
...
Allows numberical strings as array index and make a call. e.g.,
callbacks['0']();
Added more test case for regexp (disabled by default, requires --call_regexp)
and call_as_function object created by API.
Review URL: http://codereview.chromium.org/1604
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@214 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-08 16:47:23 +00:00
kasperl@chromium.org
c60fef3013
Fix issues with running some of our tests with an embedded
...
snapshot. Changed the debug-script.js test to ignore the
exact number of extension scripts.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@199 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-08 09:26:02 +00:00
kasperl@chromium.org
cd3bf78bca
Fix broken build. Sorry about that.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@193 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-08 07:24:10 +00:00
christian.plesner.hansen
d74fc87fd2
Quick fix for a new test failure on real arm
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@184 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-06 13:42:50 +00:00
christian.plesner.hansen@gmail.com
7a35e6e1b1
Quick un-reviewed fix for build problem on arm
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@183 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-06 10:51:33 +00:00
feng@chromium.org
dcdf6ea394
These two tests are currently broken. Will file report to plesner.
...
Review URL: http://codereview.chromium.org/468
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@175 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-05 16:53:34 +00:00
christian.plesner.hansen@gmail.com
bce5ba577b
Fixed test failure.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@172 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-05 15:01:10 +00:00
christian.plesner.hansen@gmail.com
0a10e1560d
Fixed windows test build.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@171 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-05 14:10:27 +00:00
christian.plesner.hansen@gmail.com
1d8c4a9d94
A new instance of the utf-8 conversion changelist, this time against
...
bleeding_edge.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@170 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-05 13:39:14 +00:00
erik.corry@gmail.com
388c1094b7
* Split up code_space into old_data_space and code_space.
...
* Make old_data_space non-executable on OSs and hardware that support it.
* Rename old_space to old_pointer_space (can contain pointers, esp. to new space).
* Ensure that individual pages allocated for old_space are only executable when
they are for code objects.
* Ensure Space::Setup can cope with non-aligned memory.
* Make some methods on Spaces virtual. Make a way to iterate over all spaces.
* Replace executability flag with Executability enum in order to make intent at
call site clearer.
* Fix serialization/deserialization to allocate write barrier memory for large
arrays.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@165 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-05 12:34:09 +00:00
sgjesse@gmail.com
4144ac3adc
Refactored the evn override handling to a single method and fixed the handling
...
of the case where ENV is not a dictionary which could happen when the
environment variable ENV was set when invoking SCons.
Fixed building dynamic library on Windows in the case where env overrides was
specified as before these was not passed to the linking of the DLL.
There is still a SCons issue when the environment variable ENV is set when
invoking SCons, however this looks like a SCons issue.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@156 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-05 10:00:50 +00:00
sgjesse
c613745328
Changed the check for debug event messages in the debug tests
...
to be independent of the order of the properties in the JSON
string.
Reenabled the disabled debug tests.
http://code.google.com/p/v8/issues/detail?id=21
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@151 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-05 09:01:12 +00:00
feng@chromium.org
766523b710
Disable three debug tests that failed because they rely on wrong for-in order.
...
Added a DISABLED_TEST macro to cctest.h, and cleanup cctest.cc a bit.
Review URL: http://codereview.chromium.org/456
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@148 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-05 00:04:37 +00:00
christian.plesner.hansen@gmail.com
786760039e
- Added test status spec to cctests to make arm simulator tests run.
...
- Added test script option to override platform guess (again, to be
able to run arm sim tests on intel).
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@107 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-02 15:20:38 +00:00
sgjesse@gmail.com
c2c5482c9b
Add the SCons environment override to the building of the samples and
...
the tests.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@95 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-02 12:20:15 +00:00
sgjesse@gmail.com
6ca0d05f64
Changed two IA-32 assembler tests to use the stack below the return address as
...
temporary storage for moving data from register xmm0 to st(0) instead of overwriting
the parameters. This fixes a test that crashed on Windows in release build due to
stack corruption.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@55 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-01 06:41:12 +00:00
sgjesse@gmail.com
6d4d692ec7
Removed the implicit call to DebugBreak when receiving debugger commands
...
while V8 is running.
A debugger using the V8 message based interface now needs to control the
call to DebugBreak in order for the messages send to be processed. Commands can
still be send when V8 is not in a break, but they will not be processed until
there is a break. The response "request queued" when queuing up messages have
been removed. This gets rid of a non JSON message being used.
Modified the threaded debugger tests to call DebugBreak instead of relying
on it occouring automatically.
This change will not be committed until the outstanding Chrome change
http://chrome-reviews.prom.corp.google.com/2072 (which updates Chrome to control
the DebugBreak call) have been reviewed and committed.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@47 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-08-29 12:04:25 +00:00
mads.s.ager@gmail.com
dceb5f6a8f
Improved test support.
...
Fixed issue with building samples and cctests on 64-bit machines.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@23 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-08-28 09:55:41 +00:00
christian.plesner.hansen
968facb9ff
- Fixed issue when building samples and cctests on 64-bit machines.
...
- Fixed mozilla test breakage caused by python's obscure module
loading rules.
- Made sure test.py propagates test failures out as the exit code of
the script.
- Remove runtime calls to get number constants. Remove Heap roots for
some special numbers.
- Fix typo in accessors.h.
- Changes CopyMap to not copy descriptors. Adds
CopyMapRemoveTransitions that copies non-transition descriptors.
Changes interface of DescriptorArray::Copy operations to simplify
them.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-08-27 13:47:52 +00:00
christian.plesner.hansen
05bbf90b3a
Changed shell sample to take flags directly from the command-line. Added api call that implements this.
...
Added better test support.
Added load, quit and version functions to the shell sample so it's easier to run benchmarks and tests.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-08-27 10:11:39 +00:00
christian.plesner.hansen
c42f5829a1
Included mjsunit JavaScript test suite and C++ unit tests.
...
In the shell sample don't print the result of executing a script, only
evaluating expressions.
Fixed issue when building samples on Windows using a shared V8
library. Added visibility option on Linux build which makes the
generated library 18% smaller.
Changed build system to accept multiple build modes in one build and
generate seperate objects, libraries and executables for each mode.
Removed deferred negation optimization (a * -b => -(a * b)) since this
visibly changes operand conversion order.
Improved parsing performance by introducing stack guard in preparsing.
Without a stack guard preparsing always bails out with stack overflow.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-08-22 13:33:59 +00:00