lrn@chromium.org
21d2865757
Separately growing stack for irregexp ia32 backtrack stack.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1053 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-01-12 13:05:23 +00:00
ager@chromium.org
12854e6c67
Allocate as many object-literal properties as possible inobject.
...
This can lead to large objects which wastes a lot of space if we normalize properties. We therfore clear the inobject properties when normalizing properties. This is done by adjusting the instance size in the new map and overwriting the inobject properties with a filler.
Review URL: http://codereview.chromium.org/17308
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1051 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-01-12 10:59:58 +00:00
christian.plesner.hansen@gmail.com
4a16e4928a
Added check that bails out of a repetition when the body is empty.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1047 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-01-08 12:40:47 +00:00
iposva@chromium.org
f3da5ff626
Fix for issue 171:
...
- Make sure to not destroy the instance type by slightly rearranging the code.
- Added regression test.
Review URL: http://codereview.chromium.org/16594
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1042 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-01-07 23:26:31 +00:00
olehougaard
726aa859c6
Fix for issue 91 ( http://code.google.com/p/v8/issues/detail?id=91 )
...
Review URL: http://codereview.chromium.org/17232
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1036 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-01-07 09:58:58 +00:00
sgjesse@chromium.org
60cb58ea91
Factored the generation of JSON serialization from beeing part of the mirror objects into a seperate class. The purpose of this is to make it easier to change the serialization to contain object identification and references.
...
Added a test case for the script mirror and modified a number of the other mirror tests.
Review URL: http://codereview.chromium.org/16539
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1035 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-01-07 09:27:30 +00:00
christian.plesner.hansen@gmail.com
afcc36a417
Added runtime call to the logging infrastructure. Made some changes
...
to the way regexps are being logged.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1028 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-01-06 13:24:52 +00:00
ager@chromium.org
3f383346aa
Inline array loads in loops directly in the code instead of always
...
calling a stub. The map to check against is unknown when generating
the code, so we patch the map check in the IC initialization code.
Loop nesting is currently not tracked on ARM. I'll file feature
request bug reports for implementing this on ARM and add the number to
the TODOs before I commit.
Review URL: http://codereview.chromium.org/16409
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1015 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-12-22 12:56:32 +00:00
olehougaard
ed7d9e9c5b
Reverting the BOM changes due to security concerns.
...
Review URL: http://codereview.chromium.org/14890
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1011 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-12-19 13:28:56 +00:00
olehougaard
2c3b392c8c
Handling byte-order marks as specified in Ecmascript-262 and in compliance with Safari.
...
Review URL: http://codereview.chromium.org/15075
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1006 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-12-19 12:06:11 +00:00
erik.corry@gmail.com
ab2d4bc9bf
* Generate quick checks based on mask and compare for
...
the alternatives in a choice node. The quick checks
are conservative in the sense that they only detect
failure with certainty. Checks can do 2 or 4 characters
at a time.
* Inline the quick checks to allow the alternatives to
be checked without branching in the common case where
they fail.
Review URL: http://codereview.chromium.org/14194
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1005 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-12-19 12:02:34 +00:00
sgjesse@chromium.org
6c7a746c5d
Refactored the code for handling debug step in in the runtime system into one function. For constructors this also means that step in will no longer step into the code for the builtins context.
...
Review URL: http://codereview.chromium.org/15035
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1001 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-12-18 14:32:49 +00:00
olehougaard
392e6f849b
Fixing a subtle bug in receiver resolution when a thrown and caught function is called from a catch-block.
...
Second attempt - now with better memory efficiency.
Review URL: http://codereview.chromium.org/14834
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@999 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-12-18 11:28:13 +00:00
iposva@chromium.org
358591f9ea
Fix issue 142:
...
- Removed the potential for a NULL pointer access in
ContextSwitcher::PreemptionReceived.
- Removed a leak of the semaphore in the ContexSwitcher thread, by removing
the need for this semaphore entirely.
- Added a regression test case which will catch accesses to the ContextSwitcher
singleton after it has been stopped.
Review URL: http://codereview.chromium.org/14483
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@994 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-12-17 17:40:02 +00:00
christian.plesner.hansen@gmail.com
5d3cc28967
Fixed bug in interest propagation caused by following the loop edge
...
out of a loop choice node before the continuation edge.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@990 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-12-17 13:16:38 +00:00
lrn@chromium.org
00122b76d0
Each RegExtTree node can now report the min and max size of strings it can match.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@988 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-12-17 10:59:14 +00:00
sgjesse@chromium.org
b3dd6b686a
Refactored the recording of source position in the generated code. The code generator now has two methods
...
void CodeForStatement(Node* node)
void CodeForSourcePosition(int pos)
The first is used to indicate that code is about to be generated for the given statement and the second is used to indicate that code is about to be generated for the given source position.
Added position information for some statements which was missing whem.
Updated the code generator for ARM to emit source position the same way as for IA-32.
Added an assert to ensure that deferred code stubs will always have a source source position as if it has not it will take whatever source position before which makes no sense.
The passing test on ARM has only been tested using the simulator.
Review URL: http://codereview.chromium.org/14170
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@985 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-12-17 08:45:42 +00:00
lrn@chromium.org
028e3414f2
Removed rep-cmps{w,b} from CheckCharacters to improve performance.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@984 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-12-16 14:21:00 +00:00
lrn@chromium.org
5d2fd5cbaa
Regexp-IA32 tests doesn't work with snapshots.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@975 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-12-12 11:40:03 +00:00
lrn@chromium.org
3b968e0207
Preemption code for irregexp-native-ia32. Regexps can not only succeede or
...
fail, but also report a thrown exception.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@974 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-12-12 10:49:00 +00:00
lrn@chromium.org
09e3c76137
Quantified look-aheads are sometimes removed entirely, leaving only a
...
single atom node. A flag was not set in this case, leading the wrapper
code to think the pattern was equal to the atom and use the pattern
in the indexOf operation.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@971 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-12-12 10:22:56 +00:00
deanm@chromium.org
6297a19160
Improve mark-compact object grouping interface.
...
The main goal was to improve O(n^2) behavior when there are many object groups. The old API required the grouping to be done on the v8 side, along with a linear search. The new interface requires the caller to do the grouping, passing V8 entire groups at a time. This removes the group id concept on the v8 side.
- Changed AddObjectToGroup to AddObjectGroup.
- Removed the group id concept from the V8 side.
- Remove a static constructor while I'm here, lazily initialize
the object groups list.
- Cleaned up return by non-const references to return pointers.
Review URL: http://codereview.chromium.org/13341
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@965 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-12-11 11:20:04 +00:00
christian.plesner.hansen@gmail.com
ff3e30ae11
- Added lookbehind propagation for the initial node; now, if the
...
initial node is interested in what precedes it the automaton is
given an initial all-consuming character class that determines it.
- Added verification of some node information invariants. We now
check that if a node expresses interest in what precedes it that
information is available to it after assertion expansion.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@964 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-12-11 11:13:13 +00:00
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
erik.corry@gmail.com
4ede982a4b
Added test for bug 176 (zero length matches should fail in quantifiers).
...
Review URL: http://codereview.chromium.org/13381
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@960 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-12-11 09:01:55 +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
lrn@chromium.org
5afca497cb
Arm codegen could emit const pool in the middle of jump table.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@956 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-12-10 08:37:58 +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
sgjesse@chromium.org
6a8fdf0429
Skip some debugger related tests on ARM for nowas they have different behaviour based on platform and mode. The debugger infrastructure is currently not working on the ARM platform. This also fix the "syntax" error of the previous change to mjsunit.status.
...
Review URL: http://codereview.chromium.org/13622
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@940 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-12-08 15:11:02 +00:00
sgjesse@chromium.org
0bc3f21c20
Changed expectations on some ARM debugger tests after CL 933.
...
Review URL: http://codereview.chromium.org/13245
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@939 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-12-08 13:39:25 +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
ee9e6b5bae
Excluded test that fails in JSCRE.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@922 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-12-05 10:04:40 +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
5b9561b104
Adding a message test to deal with return in finally.
...
Review URL: http://codereview.chromium.org/13122
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@916 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-12-04 09:27:07 +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
ager@chromium.org
c1c8603a13
Follow jsc in throwing an exception when using test or exec on a
...
regexp with no input.
Fixed problem with assertThrows.
Deleted test that tests arbitrary limits on the sizes of regular
expressions.
Review URL: http://codereview.chromium.org/13088
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@907 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-12-03 12:47:21 +00:00
lrn@chromium.org
12b6a949a2
Two tests in the Mozilla test suite pass due to a bug in the framework (compares numbers to NaN with !=).
...
The tests should fail on V8. The tests are disabled until the framework is fixed.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@906 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-12-03 12:44:13 +00:00
lrn@chromium.org
569d203ad8
Removed lots of new mozilla tests depending on "options" function.
...
Options is used to exclude tests when running jit.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@905 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-12-03 10:21:50 +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
ager@chromium.org
f15d07afe2
Update d8 so that it can be used to run the mjsunit tests.
...
Set the security token on the debugger context after all contexts have
been created in d8. This ensures that all d8 contexts (including the
debugger context) can access eachother.
Copy extra command-line handling from the shell sample to d8.
Review URL: http://codereview.chromium.org/12431
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@836 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-11-25 12:58:48 +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
6d68f6fb91
Fixed two unexpected passes. We no longer expect them to fail.
...
Review URL: http://codereview.chromium.org/11351
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@822 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-11-21 13:41:25 +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
christian.plesner.hansen@gmail.com
ab0773040f
Applied patch from Alexander Botero-Lowry to fix tests on fresh
...
checkout with git-svn.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@818 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-11-21 12:26:31 +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
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
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
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
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
lrn@chromium.org
4e3bbd8247
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
2008-11-03 13:33:13 +00:00
erik.corry@gmail.com
6951059c6a
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
2008-11-03 12:07:22 +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
744aedd2d0
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
2008-10-31 08:51:26 +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
sgjesse@chromium.org
4717ed1de9
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
2008-10-29 15:50:50 +00:00
sgjesse@chromium.org
10e380400b
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
2008-10-29 14:23:18 +00:00
sgjesse@chromium.org
0b96fb22f3
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
2008-10-29 12:51:14 +00:00
kasperl@chromium.org
b5fe75f950
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
2008-10-29 10:02:09 +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
feng@chromium.org
4c1a5810b9
Implement Array::concat function in C++.
...
The performance of Array::concat is critical of jQuery benchmark from
http://www.dromaeo.com . Our current implementation in JavaScript is very
generic and is several times slower than JSC and SpiderMonkey.
Re-implement Array::concat in C++ to take advantage of underlying implementation
details. This cuts dom-travesal-jquery execution time by half.
We may want to move Array specific implementation into a separate source file,
say jsarray.cc.
Review URL: http://codereview.chromium.org/7990
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@625 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-28 14:47:50 +00:00
kasperl@chromium.org
a71cca5054
Allow string-compare-alignment to pass on ARM simulator.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@611 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-27 16:43:56 +00:00
erik.corry@gmail.com
5f4c9b0960
It seems we haven't nailed the unaligned string compare problem yet.
...
Review URL: http://codereview.chromium.org/8622
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@610 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-27 15:53:29 +00:00
erik.corry@gmail.com
d7c5ee9120
Test for a bug that was fixed in r554 where we used unaligned accesses on ARM
...
with surprising results.
Review URL: http://codereview.chromium.org/8619
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@609 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-27 14:42:23 +00:00
erik.corry@gmail.com
6e00a80354
You can't use BinarySearch on an unsorted array and other
...
sillinesses found while trying to get rid of medium-sized strings.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@595 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-26 20:50:05 +00:00
kasperl@chromium.org
c128b8d9de
Improve code for looking up in context slots in runtime.cc and
...
use safe casting operations to slot access on contexts when
possible.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@588 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-24 10:59:40 +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
sgjesse@chromium.org
39a5ffbd85
Cleanup of http://codereview.chromium.org/8101 .
...
Changed the catcher_ field to a boolean value and renamed it. Modified the
propagation of the external caught exception to also clear the current
TryCatch if there is no exception as it might hold an exception which has
been bypassed by code in a finally block.
Minor formatting changes to a test.
Review URL: http://codereview.chromium.org/8102
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@576 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-24 06:22:47 +00:00
sgjesse@chromium.org
f7367a9fe6
Posponed the setting of "external_caught_exception" to when leaving JavaScript
...
execution. This is achieved by storing a pointer to the C++ TryCatch when the
exception is thrown and checking that this is the handler active when leaving
JavaScript.
Review URL: http://codereview.chromium.org/8101
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@570 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-23 12:54:13 +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
kasperl@chromium.org
b727198587
Fix issue 124 by computing the receiver correctly when
...
the property is found in a context slot.
Review URL: http://codereview.chromium.org/8097
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@566 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-23 08:42:22 +00:00
sgjesse@chromium.org
63afc7bad3
Changed the message reporting for try { ... } finally { ... } statements to
...
report the exception when they happen in the try block and not as previously
when re-thrown after execution of the finally block. There is no longer any
message generated by re-throw.
Added test cases for various combinations of try/catch/finally with throw in
different places.
Added a regression directory to the messages tests which is processed by the
test runner.
Added regression tests for the specific bugs fixed.
Runs all the test suites.
BUG=73
BUG=75
Review URL: http://codereview.chromium.org/8050
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@565 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-23 08:40:19 +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
kasperl@chromium.org
8e675da371
Update Mozilla test status to reflect that regress-363258
...
is flaky on Linux and Mac (as well as Windows) and remove
line that refers to non-existing mozilla/... test.
Review URL: http://codereview.chromium.org/7910
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@559 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-23 06:11:39 +00:00
kasperl@chromium.org
96733af32b
Added failing test case for bug 124.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@558 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-23 05:49:05 +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
erik.corry@gmail.com
99f5ae88a3
Fix bug 1439135 (slicedstring on constring not flat)
...
Review URL: http://codereview.chromium.org/7809
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@530 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-21 08:08:17 +00:00
kasperl@chromium.org
3d4d596e00
Added failing test case for bug 1439135.
...
Review URL: http://codereview.chromium.org/7808
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@529 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-21 07:39:53 +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
kasperl@chromium.org
c63477df3d
Fix issue 116 by returning the value from SetFastElement.
...
Review URL: http://codereview.chromium.org/7615
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@514 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-17 06:36:35 +00:00
iposva@chromium.org
6d97b325db
- Fix instance size calculation to ensure that the object cannot
...
overflow the maximum object size.
- Added a test that will crash previous revisions.
Review URL: http://codereview.chromium.org/7427
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@507 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-16 05:45:33 +00:00
lrn@chromium.org
c46b0e84d4
Reduced the string length and rounds in the extensive indexOf-test in string-indexof.js.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@495 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-14 10:56:40 +00:00
olehougaard
cee2947da0
Testing that sorting behaves reasonably with a bad comparison function.
...
Review URL: http://codereview.chromium.org/7137
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@494 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-14 10:50:44 +00:00
christian.plesner.hansen@gmail.com
a601594796
Fixed bug 114
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@493 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-14 09:13:23 +00:00
lrn@chromium.org
9e0609db8e
Most operations are faster than before.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@492 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-14 08:57:31 +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
kasperl@chromium.org
b314b46b09
Make sure to check that the function prototype is a
...
real JavaScript object before looking for it in the
prototype chain during instanceof checks.
Review URL: http://codereview.chromium.org/6579
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@471 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-08 14:03:53 +00:00
kasperl@chromium.org
77643dbef6
Improve the generated code for the instanceof operator,
...
and extended the instanceof test case.
Review URL: http://codereview.chromium.org/6341
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@470 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-08 13:33:16 +00:00
bak@chromium.org
9dadae1bfb
- Fixed Issue 3201: Embedded Google Calendar crashes the renderer
...
ExtendStorage did not work with keyed store IC.
- Reduced instructions generated when performing a tail call to
kSharedStoreIC_ExtendStorage
- Moved test/mjsunit/bugs/bug-109.js
to test/mjsunit/keyed-storage-extend.js
Review URL: http://codereview.chromium.org/6526
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@455 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-07 09:28:04 +00:00
lrn@chromium.org
ca7668ee32
Fixed typo
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@454 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-07 09:04:23 +00:00
kasperl@chromium.org
f7174fd151
Add reproducible failing test case for bug 109.
...
Review URL: http://codereview.chromium.org/6300
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@451 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-07 08:11:38 +00:00
sgjesse@chromium.org
47439f3274
Skip the test debug-scripts-request on ARM in debug mode. It has consistently
...
been running for more than 3 minutes on Arm�g.g.
Review URL: http://codereview.chromium.org/6273
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@447 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-06 15:16:53 +00:00
sgjesse@chromium.org
167d7b4504
Marked a test parsing on ARM as parsing.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@446 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-06 14:30:24 +00:00
sgjesse@chromium.org
c0e04e1e86
Fixed unsafe code where a GC could occour after a Handle had been deferenced.
...
instances->set(i, *GetScriptWrapper(script));
GetScriptWrapper can call GC. The failure have only been seen on ARM, where
the g++ compiler pulls out the object from the instances handle to a register
before calling GetScriptWrapper causing set to be called on an object which
may have moved.
Marked a test on ARM as no longer flaky, whereas two other fails consistently
but that is no longer related to the problem fixed above.
BUG=1308895
Review URL: http://codereview.chromium.org/6271
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@444 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-06 13:20:27 +00:00
ager@chromium.org
70dcba4024
Exclude the bit-field bits from string hash codes. String hash codes
...
are always odd if the bit-field bits are included.
Modified a couple of debugger tests that relied on the ordering of
elements in descriptor arrays. Descriptor arrays are sorted by
hash-code values, so the order changes if we change the hash code.
Review URL: http://codereview.chromium.org/6489
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@440 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-06 09:35:52 +00:00
kasperl@chromium.org
1f38bc429a
Adapt the test expectations on ARM to make ARMu pass
...
in debug mode.
Review URL: http://codereview.chromium.org/6264
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@436 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-06 07:37:24 +00:00
kasperl@chromium.org
5458eac183
Improve performance of arguments object allocation by taking
...
care of arguments adaptor frames in the generated code.
Review URL: http://codereview.chromium.org/6262
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@434 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-06 06:08:15 +00:00
ager@chromium.org
192d439f45
Update v8natives to use InstallFunctions to get the correct function
...
names for library functions.
Review URL: http://codereview.chromium.org/6447
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@433 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-03 18:00:28 +00:00
sgjesse@chromium.org
43783fa236
Mark a test as flaky on ARM. Fails on hardware but passes in simulator.Z
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@427 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-03 12:15:32 +00:00
whessev8
d2a8454d2f
This change removes the %AddProperty native JavaScript function from V8.
...
All uses of %AddProperty are replaced by %SetProperty. A few uses of
IgnoreAttributesAndSetLocalProperty are added, and the runtime version
of it adds a PropertyAttributes argument. Only the JSObject class
in objects.cc now uses AddProperty, and it can become private.
Review URL: http://codereview.chromium.org/6445
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@426 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-03 12:14:29 +00:00
lrn@chromium.org
17dc503149
Added fast-case switch to ARM.
...
Refactored to reuse code between ia32 and ARM.
Added tests for switch.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@424 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-03 12:04:59 +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
christian.plesner.hansen@gmail.com
06fa6d1cde
- Case-sensitive atomic regular expressions now use the same code as
...
String.indexOf to do matching.
- The --log option is no longer automatically enabled by the other log
options.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@413 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-02 15:35:28 +00:00
olehougaard
864ebf14ad
Fixed use of undefined in ArraySort.
...
Changed 'undefined' in ArraySort to 'void 0'. Also added regression test to catch the error.
Review URL: http://codereview.chromium.org/6073
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@406 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-02 08:58:03 +00:00
kasperl@chromium.org
016fcd4aff
Fix issue 86 by keeping track of the fact that finally blocks
...
are evaluated with an extra element on the stack, which needs
to be taken into account when breaking and continuing.
I'll clean up the code and add an abstraction for manipulating
the break stack height in a future CL -- I want to try to get
rid of the separate local variable we keep around for the "state"
when running in a finally block.
Review URL: http://codereview.chromium.org/5625
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@400 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-01 07:43:00 +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
christian.plesner.hansen@gmail.com
da96a860f0
Added new test type, message, to test error reporting.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@386 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-26 13:06:49 +00:00
olehougaard
acffb377a8
Fix for issue 95.
...
Fixed QuickSort so it doesn't overflow the stack with non-reflexsive comparison functions.
Review URL: http://codereview.chromium.org/4297
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@382 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-26 09:15:02 +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
christian.plesner.hansen@gmail.com
2969145ba5
which it now does.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@380 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-26 03:44:09 +00:00
christian.plesner.hansen@gmail.com
20e3e2f85f
Added copyright headers to tests.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@377 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-25 13:14:23 +00:00
christian.plesner.hansen@gmail.com
2d0c43ad09
- Added support for warnings on unused test rules.
...
- Added automatic loading of test suites
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@375 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-25 12:38:34 +00:00
olehougaard
69156911be
Using quick sort for arrays.
...
Using quick sort in ArraySort instead of heap sort for better performance.
Review URL: http://codereview.chromium.org/4065
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@374 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-25 11:28:02 +00:00
ager@chromium.org
ff4e9ea134
Make sure that the body of the function created by calling Function is
...
on a line of its own. This allows the body to be terminated by a
single-line comment.
Also, make sure to set the name of the function to anonymous after the
fact so that recursion through the name anonymous is not allowed and
so that global variables called anonymous are not shadowed.
This is a fix for http://code.google.com/p/v8/issues/detail?id=85
Review URL: http://codereview.chromium.org/4248
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@370 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-25 07:35:45 +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
christian.plesner.hansen@gmail.com
6d47b29765
- Added new object type, RegExp, for regular expressions.
...
- Renamed some ::kSizes to ::kHeaderSizes to avoid confusion.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@362 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-23 11:45:43 +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
lrn@chromium.org
2816e8a899
Added fast-case for switch statement where all lables are constant Smi's in a limited range (IA32 only so far).
...
Implemented using a jump-table, for constant time lookup.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@343 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-18 11:59:55 +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
erik.corry@gmail.com
05597193ce
More thorough tests of sorting integers in lexicographic order.
...
Review URL: http://codereview.chromium.org/2923
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@324 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-17 10:25:05 +00:00
kasperl@chromium.org
6b4f5aba96
Fix issue 67 by copying the receiver function one slot
...
down too. Also fix lint issue in codegen-arm.cc.
Reviewed offline by Ivan (iposva@chromium.org ).
Review URL: http://codereview.chromium.org/3080
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@316 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-16 11:40:21 +00:00
iposva@chromium.org
88192fc01c
Fix http://code.google.com/p/v8/issues/detail?id=69 :
...
- Simplify the switch statement code generation.
- Ensure that the switch value is always popped from the stack.
Credit goes to Feng for isolating the issue and proposing a fix.
Review URL: http://codereview.chromium.org/2888
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@315 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-16 11:23:02 +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
iposva@chromium.org
ffa7f7bd5b
- Update test status file with fixed tests for ARM and add failing test tracked by issue 67.
...
- Remove debugging aid stop("Generate_ArgumentsAdaptorTrampoline - non-function call")
- Cleanup comment
Review URL: http://codereview.chromium.org/2801
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@290 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-12 04:31:34 +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
ager@chromium.org
888abb1bfd
Fix bug in function context slot lookup. There were two problems: we
...
read at the wrong index in the scope information and we forgot to add
Context::MIN_CONTEXT_SLOTS to the index.
This fixes issue 24.
Review URL: http://codereview.chromium.org/1938
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@279 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-11 13:00:30 +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
f5b571e873
Quick fix: copyright header
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@255 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-10 13:05:26 +00:00
christian.plesner.hansen@gmail.com
6974e4b2c7
Fixed bug #57 . Introduced String::Utf8Value and replaced a bunch of
...
uses of String::AsciiValue with String::Utf8Value. Fixed shell sample
'load' so it doesn't print error messages.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@254 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-10 11:41:48 +00:00
kasperl@chromium.org
10398b692e
Remove another case of .js in the status file. Reviewed offline by ager@chromium.org.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@244 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-10 05:51:59 +00:00
christian.plesner.hansen@gmail.com
089da79517
Quick fix for mjsunit/debug-sourceinfo failure
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@243 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-09 20:20:35 +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
23d2381749
Fixed misspelling in mjsunit status file.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@234 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-09 12:45:21 +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
d3f42673db
Mark number-string-index-call.js as FAIL on ARM because it depends on the new calling convention. TBR=iposva@chromium.org
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@216 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-08 18:56:27 +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
1970a38a9e
Add two more Mozilla tests that depend on GC timings to the list
...
of flaky tests.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@205 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-08 12:37:10 +00:00
christian.plesner.hansen@gmail.com
3351499cb5
Fixed problem where asian characters were not categorized as letters
...
because they were defined using different syntax in the unicode
database.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@200 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-08 10:45:01 +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
2f0c910731
Fix issue 35 by applying patch by Daniel James.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@195 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-08 07:58:54 +00:00
ager@chromium.org
0543ea721d
Update mjsunit status file. The debugger does not currently work on
...
ARM and all the tests are disabled for now.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@194 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-08 07:55:28 +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@gmail.com
6d13d9864c
- Marked flaky windows gc test as flaky.
...
- Added support for --cat in test runner.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@190 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-08 07:04:22 +00:00
ager@chromium.org
e0b50dde0e
Avoid string conversion when comparing Smis during sorting.
...
Avoid runtime calls for trivial object equality checks.
Minor style cleanups.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@185 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-08 06:17:38 +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
feng@chromium.org
ecbfddf052
Honor the declaration order of getter/setter in object literals
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@174 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-05 16:47:42 +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
feng@chromium.org
93a5d0b959
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@147 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-04 20:49:18 +00:00
ager@chromium.org
f67fd01cc0
Update the test expectation for a flaky test.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@135 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-04 12:53:41 +00:00
ager@chromium.org
552e5f831f
Make Date.prototype.toTimeString and Date.prototype.toLocaleTimeString
...
only return the time portion of the date.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@128 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-04 07:13:21 +00:00
erik.corry@gmail.com
1827c2b16b
Update mozilla test results.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@125 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-03 20:05:12 +00:00
ager@chromium.org
d295ddd922
Fix the 'in' operator so it works correctly for negative indices.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@117 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-03 07:34:21 +00:00
christian.plesner.hansen@gmail.com
472ae34f9d
- Added some "special" tests that were left out before.
...
- Added option to test runner that allows us to run the tests under
valgrind.
- Added test status for the failing arm simulator tests.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@116 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-03 07:31:19 +00:00
feng.qian.v8
6287c675d8
Change __ mov(eax, TOS) to
...
__ pop(eax);
...
__ push(eax);
to enable push/pop eliminations.
__ push(eax) must happen before RecordWrite because RecordWrite may destroy
eax value. To be safe, also moved __ push(r0) on ARM to above RecordWrite.
This only affects the case where a context variable is used in a inner scope.
Create a tests for it. It fails if __ push(eax) is after RecordWrite.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@111 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-02 21:47:45 +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
mads.s.ager@gmail.com
30e44ee4fd
Allow a test that relies on non-standard timer resolution on Windows
...
to fail on Windows.
Updated mozilla.status to use correct syntax for tests that are
allowed to fail in debug mode.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@97 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-09-02 12:42:10 +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
adea12f7ab
Change the mozilla test support. The mozilla tests are now expected
...
to be located at tests/mozilla/data.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@43 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-08-29 09:39:51 +00:00
mads.s.ager@gmail.com
9ef7673d82
Clean up a couple of runtime functions that mixed handles and raw
...
pointers.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@36 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-08-29 08:48:06 +00:00
feng.qian.v8
69b74a95bb
Add a test that access a property name in its unicode escaped form.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@30 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-08-28 18:32:52 +00:00
mads.s.ager@gmail.com
c470d9f05b
Changed status file support for the tests. The testcfg.py script is
...
now responsible for adding the status information for the tests in the
corresponding test suite.
Added status file from mjsunit tests.
Added tests for known bugs.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@29 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-08-28 13:17:47 +00:00
mads.s.ager@gmail.com
6bda17f12b
Make test.py executable.
...
Changed eol-style on debug-sourceinfo.js since the test expects CRLF
endings.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@27 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-08-28 10:50:31 +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
mads.s.ager
cbaa060d28
Improved performance of garbage collection by moving the function that updates pointers during compacting collection into the updating visitor. This gives the compiler a better chance to inline and avoid a function call per (potential) pointer.
...
Extended the shell sample with a --runtime-flags option.
Added Visual Studio project files for the shell.cc and process.cc samples.
git-svn-id: http://v8.googlecode.com/svn/trunk@14 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-08-14 13:41:48 +00:00