feng@chromium.org [Wed, 1 Jul 2009 15:36:28 +0000 (15:36 +0000)]
Fix the snapshotter when ENABLE_DEBUGGER_SUPPORT is off.
Review URL: http://codereview.chromium.org/151136
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2323
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
antonm@chromium.org [Wed, 1 Jul 2009 15:06:46 +0000 (15:06 +0000)]
Ignore interceptors with no getters when doing any kind of read.
Review URL: http://codereview.chromium.org/150164
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2322
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kasperl@chromium.org [Wed, 1 Jul 2009 13:20:09 +0000 (13:20 +0000)]
Always scavenge when doing GCs.
Review URL: http://codereview.chromium.org/151149
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2321
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Wed, 1 Jul 2009 11:59:10 +0000 (11:59 +0000)]
X64: Add Math.random, fix UnarySubStub
Review URL: http://codereview.chromium.org/151077
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2320
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kasperl@chromium.org [Wed, 1 Jul 2009 11:44:37 +0000 (11:44 +0000)]
Treat the builtins object like other global objects (with
cells in old space for properties) and avoid allocating tons
of unused properties in new space when creating new contexts.
Review URL: http://codereview.chromium.org/151146
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2319
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Wed, 1 Jul 2009 11:32:08 +0000 (11:32 +0000)]
ARM: Don't always go into the runtime system just because a
mul gave zero.
Review URL: http://codereview.chromium.org/151144
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2318
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Wed, 1 Jul 2009 11:20:33 +0000 (11:20 +0000)]
Handle JavaScript accessors on the global object.
With the new representation of the global object adding JavaScript accessors for a property after global inline caches was created for that property did not work property as the inline caches did not take the JavaScript accessor information (fixed array with two elements) that could be present in a global object property cell into account.
This is now fixed by changing the map for a global object when a JavaScript accessor is defined on it.
BUG=394
TEST=test\mjsunit\regress\regress-394.js
Review URL: http://codereview.chromium.org/150162
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2317
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Wed, 1 Jul 2009 09:11:33 +0000 (09:11 +0000)]
Fix presubmit error.
TBR=iposva@chromium.org
Review URL: http://codereview.chromium.org/150158
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2316
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Wed, 1 Jul 2009 08:46:59 +0000 (08:46 +0000)]
Reimplement profiler sampler on Mac OS X to get it working under Chromium.
Previous implementation of sampler for OS X was copied from the Linux one. But BSD (OS X) and Linux has a very important difference in signal handling. LinuxThreads doesn't support the notion of process-directed signals. So, the SIGPROF signal was directed to the thread that installed the handler---the V8 thread. But on BSD, signal handling is implemented according to POSIX spec, where process-directed signal is to be handled by an arbitrary selected thread. By a coincidence, in V8's sample shell and in Chromium's test shell, V8's thread was picked almost every time, so sampling seemed working. But not in case of Chromium.
So, I've changed the implementation of profiler sampler to use the same scheme as on Windows---a dedicated thread with high priority is used to periodically pause and sample V8's thread.
Review URL: http://codereview.chromium.org/147150
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2315
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
iposva@chromium.org [Tue, 30 Jun 2009 22:36:35 +0000 (22:36 +0000)]
- Avoid allocating an overly large stack frame in the irregexp
interpreter.
Review URL: http://codereview.chromium.org/151119
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2314
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Tue, 30 Jun 2009 20:57:44 +0000 (20:57 +0000)]
Add missing cases. Thanks to polarjs for bug 393.
Review URL: http://codereview.chromium.org/151112
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2313
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
feng@chromium.org [Tue, 30 Jun 2009 19:02:59 +0000 (19:02 +0000)]
Fix the redness on Flexo.
/auto/JavaScriptV8/flexo/linux64/v8/src/x64/stub-cache-x64.cc:0: One or more unexpected \r (^M) found;better to use only a \n [whitespace/newline] [1]
Review URL: http://codereview.chromium.org/150121
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2312
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Tue, 30 Jun 2009 17:34:41 +0000 (17:34 +0000)]
Young space should be same size on snapshot builder and snapshot users
because this gets backed into the generated code.
Review URL: http://codereview.chromium.org/151083
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2311
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Tue, 30 Jun 2009 16:35:42 +0000 (16:35 +0000)]
We have to be sure to generate a relocatable instruction when
handling external references before a heap serialization.
Review URL: http://codereview.chromium.org/151080
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2310
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Tue, 30 Jun 2009 14:58:33 +0000 (14:58 +0000)]
Fixed X64 compilation.
TBR=kasperl@chromium.org
Review URL: http://codereview.chromium.org/150103
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2309
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Tue, 30 Jun 2009 14:07:29 +0000 (14:07 +0000)]
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
erik.corry@gmail.com [Tue, 30 Jun 2009 13:38:40 +0000 (13:38 +0000)]
More changes to make the simulator run code that is for the ARM5 snapshot.
Review URL: http://codereview.chromium.org/150100
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2307
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
antonm@chromium.org [Tue, 30 Jun 2009 12:29:45 +0000 (12:29 +0000)]
Don't do a second lookup as we have it already.
Review URL: http://codereview.chromium.org/149007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2306
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Tue, 30 Jun 2009 12:16:47 +0000 (12:16 +0000)]
X64: Make lazy arguments objects work
Review URL: http://codereview.chromium.org/151075
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2305
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Tue, 30 Jun 2009 12:11:21 +0000 (12:11 +0000)]
X64: Implement unary subtraction, ObjectPair. 350 tests still fail.
Review URL: http://codereview.chromium.org/150093
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2304
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Tue, 30 Jun 2009 11:09:57 +0000 (11:09 +0000)]
X64: Fix bad value in stack layout constants.
Remove references to Array:kHeaderSize.
Review URL: http://codereview.chromium.org/150098
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2303
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
christian.plesner.hansen@gmail.com [Tue, 30 Jun 2009 11:08:37 +0000 (11:08 +0000)]
When Error.collectStackTraces is set to true all new instances of
Error, ReferenceError, etc. are given a stack property that gives a
stack trace. Here's an example stack trace:
ReferenceError: FAIL is not defined
at Constraint.execute (deltablue.js:527)
at Constraint.recalculate (deltablue.js:426)
at Planner.addPropagate (deltablue.js:703)
at Constraint.satisfy (deltablue.js:186)
at Planner.incrementalAdd (deltablue.js:593)
at Constraint.addConstraint (deltablue.js:164)
at Constraint.BinaryConstraint (deltablue.js:348)
at Constraint.EqualityConstraint (deltablue.js:517)
at chainTest (deltablue.js:809)
at deltaBlue (deltablue.js:881)
at deltablue.js:888
If Error.prepareStackTrace holds a function this function is used to
format the stack trace, for instance allowing code generators to
customize the way stack traces are reported to make them easier to
process.
Next step: performance measurements to see if it is feasible to turn
this on by default.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2302
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Tue, 30 Jun 2009 10:05:36 +0000 (10:05 +0000)]
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
feng@chromium.org [Mon, 29 Jun 2009 21:15:03 +0000 (21:15 +0000)]
Workaround a gcc 4.4 bug.
Gcc generates wrong vtable entries for certain code pattern. The change in heap.cc has detailed explanation.
Review URL: http://codereview.chromium.org/147022
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2299
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
iposva@chromium.org [Mon, 29 Jun 2009 17:07:30 +0000 (17:07 +0000)]
- Add a "#error Unsupported target architecture." where needed. A chain of
platform dependent ifdefs is useless if it does not include an error like
this. You will end up searching for the failure in all the wrong places.
Review URL: http://codereview.chromium.org/150026
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2298
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Mon, 29 Jun 2009 15:04:24 +0000 (15:04 +0000)]
X64: Remove temporary compiler and assembler tests, now that shell runs.
Review URL: http://codereview.chromium.org/151022
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2297
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Mon, 29 Jun 2009 14:23:33 +0000 (14:23 +0000)]
Fix build on x64 after compare stub change.
Review URL: http://codereview.chromium.org/150022
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2296
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Mon, 29 Jun 2009 13:52:13 +0000 (13:52 +0000)]
Add a compare stub on ARM.
Review URL: http://codereview.chromium.org/151003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2295
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bak@chromium.org [Mon, 29 Jun 2009 12:41:18 +0000 (12:41 +0000)]
Replaced DateFromTime and isNaN with macro calls in date code.
Review URL: http://codereview.chromium.org/150021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2294
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kasperl@chromium.org [Mon, 29 Jun 2009 10:45:16 +0000 (10:45 +0000)]
Optimize %ClassOf() on IA-32 and use it instead of the
custom %HasXXXClass() calls.
Review URL: http://codereview.chromium.org/151018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2293
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Mon, 29 Jun 2009 09:32:06 +0000 (09:32 +0000)]
* 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
kasperl@chromium.org [Mon, 29 Jun 2009 08:14:06 +0000 (08:14 +0000)]
Optimize %IsConstructCall() on IA-32.
Review URL: http://codereview.chromium.org/150018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2290
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Mon, 29 Jun 2009 08:12:02 +0000 (08:12 +0000)]
Prepare push of version 1.2.10 to trunk.
Review URL: http://codereview.chromium.org/151015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2289
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Mon, 29 Jun 2009 08:11:35 +0000 (08:11 +0000)]
X64: Fix error in running handlers, disable TakeValue optimization for count operators.
Review URL: http://codereview.chromium.org/150007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2288
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Mon, 29 Jun 2009 08:04:39 +0000 (08:04 +0000)]
X64 Implementation: Implement Generate_Function(Call,Apply)
Review URL: http://codereview.chromium.org/147205
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2287
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bak@chromium.org [Mon, 29 Jun 2009 07:19:17 +0000 (07:19 +0000)]
Changed HashTable::EnsureCapacity to gurantee at least 50% of the entries are free (up from 25%).
This reduces the mount of probing in large hash tables.
Review URL: http://codereview.chromium.org/150017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2286
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kasperl@chromium.org [Mon, 29 Jun 2009 06:20:52 +0000 (06:20 +0000)]
Fix issue 392 by disabling the TakeValue optimization for
access to the arguments object.
Review URL: http://codereview.chromium.org/150016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2285
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Fri, 26 Jun 2009 13:52:05 +0000 (13:52 +0000)]
X64 implementation: Store to lookup slots
Review URL: http://codereview.chromium.org/147203
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2284
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bak@chromium.org [Fri, 26 Jun 2009 13:09:50 +0000 (13:09 +0000)]
- Inlined the code for make simple cons strings.
- Simplify generated code for Runtime_** functions.
Review URL: http://codereview.chromium.org/149068
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2283
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Fri, 26 Jun 2009 11:35:42 +0000 (11:35 +0000)]
X64 Implementation: Correct type, add VisitCallEval
Review URL: http://codereview.chromium.org/149066
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2282
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Fri, 26 Jun 2009 11:01:13 +0000 (11:01 +0000)]
X64 Implementation: Implement floating-point compare
Review URL: http://codereview.chromium.org/147201
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2281
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Fri, 26 Jun 2009 10:59:04 +0000 (10:59 +0000)]
X64: Break and continue.
Review URL: http://codereview.chromium.org/147198
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2280
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Fri, 26 Jun 2009 08:38:48 +0000 (08:38 +0000)]
X64 implementation: Add arguments object to context when needed.
Review URL: http://codereview.chromium.org/149063
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2279
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Fri, 26 Jun 2009 08:29:01 +0000 (08:29 +0000)]
X64: Added support for "with" and "switch".
Review URL: http://codereview.chromium.org/147197
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2278
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Fri, 26 Jun 2009 07:41:19 +0000 (07:41 +0000)]
X64: Added for-in
Review URL: http://codereview.chromium.org/149005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2277
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Fri, 26 Jun 2009 07:27:06 +0000 (07:27 +0000)]
X64 Implementation: Correct error with initializer blocks
Review URL: http://codereview.chromium.org/149008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2276
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Thu, 25 Jun 2009 12:20:15 +0000 (12:20 +0000)]
Reintroduce recording of source position that was lost on ia32 for
some reason.
Review URL: http://codereview.chromium.org/147147
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2275
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Thu, 25 Jun 2009 12:06:30 +0000 (12:06 +0000)]
X64 implementation: Add some inline runtime functions.
Review URL: http://codereview.chromium.org/149004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2274
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Thu, 25 Jun 2009 11:48:27 +0000 (11:48 +0000)]
X64: Count operations (increment, decrement)
Review URL: http://codereview.chromium.org/149002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2273
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Thu, 25 Jun 2009 11:35:03 +0000 (11:35 +0000)]
Fix instance type check in apply optimization.
We accidentally compared a map address with an instance type. This
fix additionally avoids an upper bounds check that is not needed.
Review URL: http://codereview.chromium.org/149003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2272
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Thu, 25 Jun 2009 10:51:34 +0000 (10:51 +0000)]
* Fix compile errors on Android.
Review URL: http://codereview.chromium.org/149001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2271
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Thu, 25 Jun 2009 10:39:28 +0000 (10:39 +0000)]
X64 implementation: VisitLoop and StackCheck
Review URL: http://codereview.chromium.org/147143
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2270
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Thu, 25 Jun 2009 10:27:36 +0000 (10:27 +0000)]
Make sure that message reporting works when the builtin string and
array functions are overwritten.
Review URL: http://codereview.chromium.org/147142
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2269
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Thu, 25 Jun 2009 10:15:50 +0000 (10:15 +0000)]
X64 implementation: VisitUnaryOperation, configure dtoa for X64 platform.
Review URL: http://codereview.chromium.org/147141
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2268
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
antonm@chromium.org [Wed, 24 Jun 2009 17:25:46 +0000 (17:25 +0000)]
Do not use common INFINITY name as it might be overriden by some other include file. Let's use
project specific name.
Review URL: http://codereview.chromium.org/146096
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2267
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Wed, 24 Jun 2009 15:02:46 +0000 (15:02 +0000)]
X64 implementation: GenerateAdaptor builtin.
Review URL: http://codereview.chromium.org/146085
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2266
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Wed, 24 Jun 2009 13:48:09 +0000 (13:48 +0000)]
X64 implementation: Start compiling native functions.
Review URL: http://codereview.chromium.org/146083
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2265
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Wed, 24 Jun 2009 13:46:07 +0000 (13:46 +0000)]
X64 implementation: comparison operations.
Review URL: http://codereview.chromium.org/146082
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2264
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
antonm@chromium.org [Wed, 24 Jun 2009 13:09:34 +0000 (13:09 +0000)]
Attempt to reduce performance penalty for logging and profiling
Review URL: http://codereview.chromium.org/125141
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2263
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Wed, 24 Jun 2009 12:46:00 +0000 (12:46 +0000)]
Removed static type inference and add a dynamic test for string addition.
The complexity of static type inference never really paid off, and as an
analysis it didn't fit well with codegen frame propagation.
Review URL: http://codereview.chromium.org/146077
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2262
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Wed, 24 Jun 2009 12:12:17 +0000 (12:12 +0000)]
X64: Implemented LikelySmiBinaryOperation
Review URL: http://codereview.chromium.org/146081
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2261
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
antonm@chromium.org [Wed, 24 Jun 2009 11:52:52 +0000 (11:52 +0000)]
A helper function to speed up creation of V8 wrappers for DOM Nodes.
Review URL: http://codereview.chromium.org/141044
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2260
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Wed, 24 Jun 2009 10:10:49 +0000 (10:10 +0000)]
Changed benchmark html and css files to be almost validating HTML 4.01 and CSS.
Review URL: http://codereview.chromium.org/146076
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2259
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Wed, 24 Jun 2009 08:56:55 +0000 (08:56 +0000)]
Revert attempt to optimize away the allocation of a temporary.
TBR=whesse@chromium.org
Review URL: http://codereview.chromium.org/147076
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2258
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Wed, 24 Jun 2009 08:28:42 +0000 (08:28 +0000)]
x64 code generation for construct calls, declaring global variables
and for runtime calls.
We could not handle functions with no explicit return statement. I
added support for that as well. The place was hard to find because
code was left out from the codegenerator with no TODO comment. We
need to make sure to comment if we leave out code when porting
something. :-)
Review URL: http://codereview.chromium.org/146029
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2257
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kasperl@chromium.org [Wed, 24 Jun 2009 08:01:38 +0000 (08:01 +0000)]
Allocate arguments object on-demand instead of at function entry.
This allows Function.prototype.apply to not allocate the objects
and copy the arguments directly from the stack.
Review URL: http://codereview.chromium.org/147075
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2256
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Tue, 23 Jun 2009 11:26:05 +0000 (11:26 +0000)]
X64: Addition binary operation.
Review URL: http://codereview.chromium.org/146022
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2255
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Tue, 23 Jun 2009 11:11:38 +0000 (11:11 +0000)]
X64 implementation: Read compiler tests from test.js.
Review URL: http://codereview.chromium.org/146024
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2254
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Tue, 23 Jun 2009 09:53:18 +0000 (09:53 +0000)]
Introduce an argument that allows to include some data neccessary for displaying collapsed scope variables values in graphical debugger.
When request has 'inlineRefs' option simple type values will be written in the response directly. Variables of other types in addition to 'ref' property containing the value handle will contain some type information.
Review URL: http://codereview.chromium.org/140061
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2253
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Tue, 23 Jun 2009 09:50:51 +0000 (09:50 +0000)]
X64 implementation: Change argument to relocator to take a 64-bit delta. Change maximum relocation info encoding length.
Review URL: http://codereview.chromium.org/146021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2252
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
christian.plesner.hansen@gmail.com [Tue, 23 Jun 2009 08:07:22 +0000 (08:07 +0000)]
fixrev
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2251
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
christian.plesner.hansen@gmail.com [Tue, 23 Jun 2009 08:07:12 +0000 (08:07 +0000)]
fixlink
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2250
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Tue, 23 Jun 2009 07:16:22 +0000 (07:16 +0000)]
Prepare to push V8 version 1.2.9 to trunk.
Review URL: http://codereview.chromium.org/146017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2247
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Tue, 23 Jun 2009 06:24:37 +0000 (06:24 +0000)]
Remove unused variable from keyed stores to fix 64-bit release mode.
The variable is used for the inlined version of stores which has not
yet been implemented.
Review URL: http://codereview.chromium.org/146016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2246
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Tue, 23 Jun 2009 06:12:14 +0000 (06:12 +0000)]
x64: Generate code for loading from, storing to and calling properties.
Review URL: http://codereview.chromium.org/141056
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2245
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Mon, 22 Jun 2009 19:25:41 +0000 (19:25 +0000)]
Implement code generation for conditional expressions and regexp
literals. Regexp literals will not really work before we can
bootstrap, but the right code is being called with the right
arguments.
Finish implementation of object literals. We can now call through the
StoreIC_Miss stub into the runtime system to do stores.
Restore comment that I accidentally removed in my last commit.
Review URL: http://codereview.chromium.org/140068
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2244
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Mon, 22 Jun 2009 18:37:57 +0000 (18:37 +0000)]
Fix non-Intel regexp that needed the number of registers in the
regexp implementation before the regexp had been compiled and the
register count calculated.
Review URL: http://codereview.chromium.org/141047
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2243
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Mon, 22 Jun 2009 15:19:47 +0000 (15:19 +0000)]
Fix lint issue.
TBR=bak@chromium.org
Review URL: http://codereview.chromium.org/140066
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2242
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Mon, 22 Jun 2009 15:14:20 +0000 (15:14 +0000)]
Enable code generation for array literals.
Introduce macro assembler support for pushing heap-object handles and
for comparing a register to a heap-object handle.
Cleanup: Remove some code that was needlessly commented out. Added
TODO's for code that was commented out (where we do not hit an
UNIMPLEMENTED).
Review URL: http://codereview.chromium.org/140060
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2241
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Mon, 22 Jun 2009 14:46:33 +0000 (14:46 +0000)]
X64 implementation: Correct kTargetAddrToReturnAddrDist value for x64.
Review URL: http://codereview.chromium.org/140063
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2240
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bak@chromium.org [Mon, 22 Jun 2009 14:29:35 +0000 (14:29 +0000)]
Added descriptor lookup cache to eliminate some search overhead.
Reduced the KeyedLookupCache length to 64.
Review URL: http://codereview.chromium.org/141046
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2239
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Mon, 22 Jun 2009 14:22:39 +0000 (14:22 +0000)]
X64 implementation: Emit correct merge code for virtual frames at CFG merges.
Review URL: http://codereview.chromium.org/141043
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2238
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Mon, 22 Jun 2009 13:14:47 +0000 (13:14 +0000)]
Sending scope types and object refs costs nothing but would save us request that should be send to retrieve scopes informations for each frame in 'backtrace' response.
Review URL: http://codereview.chromium.org/131107
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2237
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Mon, 22 Jun 2009 12:36:01 +0000 (12:36 +0000)]
Fix bug in static type inference for loops.
Review URL: http://codereview.chromium.org/140058
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2236
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Mon, 22 Jun 2009 12:29:27 +0000 (12:29 +0000)]
Fix regexp bug reported on iit.edu.
Review URL: http://codereview.chromium.org/141042
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2235
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Mon, 22 Jun 2009 11:56:36 +0000 (11:56 +0000)]
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
sgjesse@chromium.org [Mon, 22 Jun 2009 11:12:51 +0000 (11:12 +0000)]
Refactor the handling of generations in the compilation cache.
Add generations to the compilation cache for eval and regexp. The number of generations for these are set to two.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/140056
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2233
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Mon, 22 Jun 2009 10:54:11 +0000 (10:54 +0000)]
X64: Enable lazy compilation and add code generation for simple object
literals.
Review URL: http://codereview.chromium.org/141040
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2232
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Mon, 22 Jun 2009 08:17:44 +0000 (08:17 +0000)]
X64 implementation: Add high_bit() and low_bits() to register methods.
Review URL: http://codereview.chromium.org/141032
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2231
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bak@chromium.org [Mon, 22 Jun 2009 08:09:57 +0000 (08:09 +0000)]
Implemented a ContextSlotCache for compiled code.
Review URL: http://codereview.chromium.org/141038
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2230
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Mon, 22 Jun 2009 08:08:47 +0000 (08:08 +0000)]
X64 implementation: if-then-else
Review URL: http://codereview.chromium.org/141030
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2229
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Mon, 22 Jun 2009 07:41:15 +0000 (07:41 +0000)]
Fix issue 386, a bug in JSObject::ReplaceSlowProperty with constant transitions.
Review URL: http://codereview.chromium.org/141031
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2228
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Mon, 22 Jun 2009 07:22:09 +0000 (07:22 +0000)]
Eliminate double offsetting of line numbers in profiler.
I didn't noticed that in r1481 GetScriptLineNumber was changed to perform line numbers offsetting by itself.
Review URL: http://codereview.chromium.org/131102
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2227
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Sat, 20 Jun 2009 17:57:09 +0000 (17:57 +0000)]
Fix regexp bug reported by Ian where [6-9] would match any digit.
Review URL: http://codereview.chromium.org/140021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2226
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Sat, 20 Jun 2009 12:54:02 +0000 (12:54 +0000)]
Two requested changes to tick processor.
1. If D8_PATH isn't specified, first try to locate 'd8' shell in path,
and if not found, fallback to the one in tools_path/..
2. Add '--nm=<nm_exec>' parameter to specify 'nm' executable to use.
Review URL: http://codereview.chromium.org/132021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2225
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Fri, 19 Jun 2009 10:16:52 +0000 (10:16 +0000)]
X64 implementation: Local vars, nested function calls, assignment statements
Review URL: http://codereview.chromium.org/131050
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2224
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Fri, 19 Jun 2009 09:12:20 +0000 (09:12 +0000)]
Clarify precedence of operations involving bitwise and(&) in x64/assembler.
Review URL: http://codereview.chromium.org/131099
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2223
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kasperl@chromium.org [Fri, 19 Jun 2009 07:36:16 +0000 (07:36 +0000)]
Allow functions to have custom construct stubs that are called
when the function is instantiated.
Review URL: http://codereview.chromium.org/132063
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2222
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Fri, 19 Jun 2009 07:08:31 +0000 (07:08 +0000)]
Fix 'nm' results parsing in tickprocessor.
Without an explicit check if a function belongs to shared library address space, "finishing" a library symbols processing with 'addPrevEntry(libEnd);' can cause emission of code entries which cover almost the entire address space, shadowing other code.
Review URL: http://codereview.chromium.org/131033
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2221
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bak@chromium.org [Thu, 18 Jun 2009 14:06:36 +0000 (14:06 +0000)]
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