sgjesse@chromium.org
77204cb36f
Fix an ASSERT in the scanner.
...
The assert when performing a push back on a two byte string was wrong.
Added a small regression test.
Review URL: http://codereview.chromium.org/173116
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2735 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-08-21 06:30:59 +00:00
ager@chromium.org
1f404c8c9f
Fix a test that test out of memory situations. On the 64-bit port the
...
test did not actually run out of memory which the test treats as an
error.
Review URL: http://codereview.chromium.org/174136
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2729 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-08-20 10:32:11 +00:00
antonm@chromium.org
8b42f23dec
Do not allow GlobalHandles::Create to reuse destoryed nodes (ones from free list)
...
while performing GlobalHandles::PostGarbageCollectionProcessing as those might be already deleted (in C++ sense).
Review URL: http://codereview.chromium.org/173060
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2724 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-08-19 20:32:51 +00:00
ager@chromium.org
0efbd40baf
Add support for forceful termination of JavaScript execution.
...
The termination is achieved by throwing an exception that is uncatchable by JavaScript exception handlers.
Review URL: http://codereview.chromium.org/174056
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2723 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-08-19 15:14:11 +00:00
lrn@chromium.org
fdf31f7f5e
X64: Implement debugger hooks.
...
Debugger is now fully functional.
Fix difference in emitting statement positions to match ia32.
Review URL: http://codereview.chromium.org/171107
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2716 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-08-19 10:18:30 +00:00
whesse@chromium.org
f20c7be069
Fix errors in test-heap.cc and test-decls.cc. Adjust cctest.status.
...
Review URL: http://codereview.chromium.org/172089
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2708 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-08-18 12:43:36 +00:00
feng@chromium.org
33fb11c12f
Revert commit 2701 per Erik Corry's request.
...
Original CL:
http://codereview.chromium.org/171041
Review URL: http://codereview.chromium.org/171089
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2702 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-08-18 00:12:26 +00:00
whesse@chromium.org
349dc04a5d
Use root array to load roots in generated ARM code.
...
This cuts down on code size and reloc work.
Review URL: http://codereview.chromium.org/171041
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2701 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-08-17 14:31:49 +00:00
christian.plesner.hansen@gmail.com
e64bf9ad6c
Added API for getting object mirrors
...
Added Debug::GetMirror call to get a mirror for a given object.
Review URL: http://codereview.chromium.org/172045
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2700 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-08-17 14:26:48 +00:00
christian.plesner.hansen@gmail.com
11e7f2a30b
Added API call to get the stack trace for an exception
...
Added TryCatch::StackTrace that gets the stack trace for the thrown
exception.
Review URL: http://codereview.chromium.org/171042
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2698 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-08-17 13:34:41 +00:00
christian.plesner.hansen@gmail.com
570788b115
Context-independent script compilation.
...
Added Script::New calls that create a new context-independent
(boilerplate) script which can be executed in any context, unlike the
current scripts which bind the context in which they're compiled.
Review URL: http://codereview.chromium.org/172043
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2697 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-08-17 11:41:00 +00:00
lrn@chromium.org
4254388c14
X64: Implement RegExp natively.
...
Review URL: http://codereview.chromium.org/165443
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2688 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-08-14 11:24:32 +00:00
vitalyr@chromium.org
d6fcda0044
API: added function to find instance of template in prototype chain.
...
Also inlined Object::IsInstanceOf.
This new function is intended to be used to speed up DOM bindings.
Review URL: http://codereview.chromium.org/165044
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2636 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-08-06 13:35:21 +00:00
whesse@chromium.org
2f7f0f6ea5
X64: Enable specialized stubs for length property.
...
Review URL: http://codereview.chromium.org/160582
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2620 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-08-04 14:18:03 +00:00
mikhail.naganov@gmail.com
5470f9b132
Add an ability to initiate GC through V8 API.
...
I'm planning to use it in DevTools heap profiler. It is a common scenario in debugging memory leaks to enforce GC, then perform an operation, then enforce GC again to check for non-collected (that is, leaked) objects. Using the existing GC extension isn't possible because it doesn't exposed in the normal operation mode of Chromium.
Review URL: http://codereview.chromium.org/159787
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2619 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-08-04 14:14:01 +00:00
whesse@chromium.org
118d5e171b
Fix debug printing of pointers, and a keyed store with smi index error, in X64
...
Review URL: http://codereview.chromium.org/160452
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2605 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-08-03 10:53:45 +00:00
mikhail.naganov@gmail.com
33f54fa6e2
X64: enable stack sampling in profiler.
...
Added necessary code to initialize Top::js_entry_sp value.
Renamed 'test-log-ia32' test to 'test-log-stack-tracer' and enabled it in 64-bit version.
Review URL: http://codereview.chromium.org/160446
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2597 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-07-31 11:07:05 +00:00
kmillikin@chromium.org
d8e35a098f
Fix broken test compilation.
...
TBR=kasperl@chromium.org
Review URL: http://codereview.chromium.org/160389
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2589 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-07-30 12:25:24 +00:00
lrn@chromium.org
dc8ca16931
X64: Added inline keyed load/store and a bunch of other missing functions.
...
Review URL: http://codereview.chromium.org/160272
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2585 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-07-30 09:18:14 +00:00
mikhail.naganov@gmail.com
9e8216ef22
Introduce first approximation of constructor heap profile for JS objects.
...
It is activated with '--log-gc' flag.
JS object size is calculated as its size + size of 'properties' and 'elements' arrays, if they are non-empty. This doesn't take maps, strings, heap numbers, and other shared objects into account.
As Soeren suggested, I've moved ZoneSplayTree from jsregexp to zone, and removed now empty jsregexp-inl header file.
Review URL: http://codereview.chromium.org/159504
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2570 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-07-29 08:10:19 +00:00
iposva@chromium.org
9a5a3fd6a5
- Clamp double values as doubles to get a free NaN check and
...
to handle infinity properly.
Review URL: http://codereview.chromium.org/159518
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2564 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-07-28 18:11:12 +00:00
kasperl@chromium.org
c41447f216
There's seems to be an issue with 0/0 on ARM, which I'll
...
continue to investigate. For now, use NaN instead of computing
it ourselves.
TBR=sgjesse@chromium.org
Review URL: http://codereview.chromium.org/160267
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2552 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-07-28 10:51:54 +00:00
kasperl@chromium.org
91a6039ffa
Fix lint issues. TBR=mikhail.naganov@gmail.com
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2551 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-07-28 09:10:29 +00:00
kasperl@chromium.org
b2fc0598c1
Fix lint issues. TBR=iposva@chromium.org
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2550 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-07-28 09:05:05 +00:00
iposva@chromium.org
1ce28eda0b
- Expose CanvasPixelArray functionality directly in JavaScript
...
indexed property accesses.
- The IC stubs have not been updated to handle these directly, but
at least we do not have to leave the VM to access bytes.
Review URL: http://codereview.chromium.org/159263
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2549 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-07-28 08:43:51 +00:00
mikhail.naganov@gmail.com
60bdcf9e01
Fix issue 410: test-log/ProfLazyMode flakinness under Linux.
...
I found two causes of flakinness:
- SIGPROF signal isn't delivered to a process;
- Profiler thread (the one that retrieves tick events from
the queue and writes to log) doesn't get a CPU;
Both are fixed.
The script from bug description with run count increased to 200 runs without any test failures.
OS X and Windows are unaffected because they don't use signals mechanism.
BUG=http://code.google.com/p/v8/issues/detail?id=410
TEST=see bug description
Review URL: http://codereview.chromium.org/159406
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2547 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-07-28 08:34:55 +00:00
whesse@chromium.org
500e10b648
Add inline caching for keyed loads and stores. Remove extra parentheses from some files.
...
Review URL: http://codereview.chromium.org/159266
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2534 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-07-24 11:22:35 +00:00
yurys@chromium.org
080ebefb15
Remove trailing whitespace in test-debug.cc
...
Review URL: http://codereview.chromium.org/160095
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2533 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-07-24 07:39:53 +00:00
yurys@chromium.org
161d38c614
Debugger should not stop in its own code and in code of built-in functions since it may confuse user.Debug break handler checks whether current function is a built-in or a debugger one and just resumes execution if it is.
...
CallCheckStackGuardState is no longer called in loop in the RegExp code as it hangs if debug break flag is not reset after calling Execution::HandleStackGuardInterrupt.
Review URL: http://codereview.chromium.org/160001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2531 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-07-24 06:14:23 +00:00
ager@chromium.org
2183309385
Introduce a external allocation limit.
...
If V8 is holding on to a lot of external memory, we attempt to clean
it up even if we do not get an allocation failure. Since tiny V8
objects can hold on to a lot of external memory, we might run out of
external memory while waiting for a normal allocation failure.
Review URL: http://codereview.chromium.org/155916
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2519 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-07-22 10:01:25 +00:00
whesse@chromium.org
76833936b7
Make Array::kHeaderSize protected, and only use kHeaderSize of its subclasses.
...
Many X64 bugs have been due to the difference between (unaligned) Array::kHeaderSize and (aligned) FixedArray::kHeaderSize.
Review URL: http://codereview.chromium.org/155687
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2502 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-07-17 12:12:24 +00:00
antonm@chromium.org
3c6c399381
Introduce faster utilty methods for storing and retrieving native pointers
...
in internal fields.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2498 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-07-17 10:35:15 +00:00
antonm@chromium.org
6f30c0e7ec
Some more test for load and call stubs.
...
Review URL: http://codereview.chromium.org/149749
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2482 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-07-16 10:57:17 +00:00
whesse@chromium.org
894af58c82
Change tests status for x64, make test runner pass --arch flag to Scons, add to x64 disassembler. Copied from http://codereview.chromium.org/155346 so it can be committed.
...
Review URL: http://codereview.chromium.org/149608
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2456 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-07-14 11:39:45 +00:00
kasperl@chromium.org
0eb595eb51
Add regression test case for http://crbug.com/16276 . Crashes
...
in both debug and release mode before r2435, but not after.
Review URL: http://codereview.chromium.org/155491
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2454 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-07-14 09:31:48 +00:00
lrn@chromium.org
4b9eb18644
X64: Added failure entries in test expectations.
...
Review URL: http://codereview.chromium.org/149389
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2422 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-07-09 14:04:37 +00:00
kasperl@chromium.org
9aa9458933
Fix crash that occurs when we're forced to delete a global
...
property that used to be DontDelete and we still have an IC
that reads from the cell.
Review URL: http://codereview.chromium.org/149322
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2390 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-07-08 11:32:03 +00:00
whesse@chromium.org
19e82212f4
Fix issue number 398: replacing a constant function on a clone.
...
Review URL: http://codereview.chromium.org/149249
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2379 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-07-07 14:06:08 +00:00
lrn@chromium.org
72de7ab74e
Separate native and interpreted regexp by compile time flag, not runtime.
...
Clean-up of RegExp code.
Review URL: http://codereview.chromium.org/155085
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2366 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-07-07 08:11:19 +00:00
lrn@chromium.org
17362b27ea
Changed RegExp parser to use a recursive data structure instead of stack-based recursion.
...
Shouldn't run out of stack space while parsing deeply nested regexps.
Might be a little faster.
Review URL: http://codereview.chromium.org/149069
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2345 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-07-03 08:18:35 +00:00
ager@chromium.org
b95dbc3fdd
Make global variable initialization consistent with Firefox and Safari
...
behavior. Only force the introduction of a variable directly on the
global object if there is an explicit initial value in a variable
declaration.
BUG=http://crbug.com/12548
Review URL: http://codereview.chromium.org/151191
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2326 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-07-02 06:28:37 +00:00
sgjesse@chromium.org
92bb897081
Tweaks to global object inline cache code.
...
Remove the check for deleted properties in the global load inline cache if the property is known to be read only.
Propegate the in loop flag for the global call inline cache.
Changed the propagation of the code flags in the call stub compiler to compute these the same way for all types of call stubs and assert that the flags for the generated code is the same as those used for the cache lookup.
Addressed a few comments from previous review in test-api.cc.
Review URL: http://codereview.chromium.org/150101
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2308 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-30 14:07:29 +00:00
sgjesse@chromium.org
a54a4ada5c
Changed the global object representation.The global object is now always in dictionary (slow) mode with each of its properties stored in a cell object. A cell object has one field containing the actual value for the property. Inline caches for access to global properties which uses direct to the cell are now created for load, store and call to properties of the global object. When properties of the global object are deleted the cell for that property is kept with an indcation of that the property is deleted.Added counters to track the use of the global property inline caches.Added additional information on IC's in the disassembler.
...
Review URL: http://codereview.chromium.org/151019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2300 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-30 10:05:36 +00:00
erik.corry@gmail.com
4a30e3f58e
* Add missing imul instruction on Intel.
...
* Fix incorrect signedness in disassembly of umull/mull on ARM.
* Fix incorrect register order in disassembly of umull/mull.
* Fix incorrect assembly of umull on ARM.
* Remove retroactively obsoleted restriction on choice of
registers in mul instructions on ARM.
Review URL: http://codereview.chromium.org/150002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2292 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-29 09:32:06 +00:00
yurys@chromium.org
46165adb9a
After compile event should be sent even if there is a provisional breakpoint out of its lines range.
...
Review URL: http://codereview.chromium.org/141041
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2234 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-22 11:56:36 +00:00
bak@chromium.org
7dab62ee96
Changed allocation to allow large objects to be allocated in new space.
...
This avoids back-to-back mark-sweep collections.
Review URL: http://codereview.chromium.org/136001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2219 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-18 14:06:36 +00:00
sgjesse@chromium.org
2caf318dfe
Fix lint error.
...
TBR=kasperl@chromium.org
Review URL: http://codereview.chromium.org/126276
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2210 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-17 14:14:24 +00:00
sgjesse@chromium.org
f36c8574c9
Fix unload debugger.
...
Add a missing handle scope when clearing the debug message handler.
BUG=none
TEST=cctest/test-debug/DebuggerUnload
Review URL: http://codereview.chromium.org/126271
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2206 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-17 13:14:51 +00:00
kasperl@chromium.org
6b096428cb
Revert change to LongRunningApply, but allow the test case to time
...
out for now.
Review URL: http://codereview.chromium.org/125241
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2197 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-17 06:47:15 +00:00
kasperl@chromium.org
9cac93d73e
Make test-api/ApplyInterruption less likely to time out in debug
...
mode and on actual ARM hardware.
TBR=erik.corry@gmail.com
Review URL: http://codereview.chromium.org/125240
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2196 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-17 06:18:10 +00:00